summaryrefslogtreecommitdiffstats
path: root/vendor/gems/rspec/examples/stack.rb
diff options
context:
space:
mode:
authorJames Turnbull <james@lovedthanlost.net>2008-01-02 11:01:24 +1100
committerJames Turnbull <james@lovedthanlost.net>2008-01-02 11:01:24 +1100
commitebe5cc0979b57517f81c84a4d3ee771c12c6a19f (patch)
treed528a4ede6b06cf66e4e1ac9e24c844d73630ed1 /vendor/gems/rspec/examples/stack.rb
parentaed51b4818d64e97778e7e959f258586a36519ad (diff)
parentefd035b73299efd19302cd47edacd5b860a2af55 (diff)
downloadpuppet-ebe5cc0979b57517f81c84a4d3ee771c12c6a19f.tar.gz
puppet-ebe5cc0979b57517f81c84a4d3ee771c12c6a19f.tar.xz
puppet-ebe5cc0979b57517f81c84a4d3ee771c12c6a19f.zip
Merge branch 'master' of git://reductivelabs.com/puppet
Diffstat (limited to 'vendor/gems/rspec/examples/stack.rb')
-rw-r--r--vendor/gems/rspec/examples/stack.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/vendor/gems/rspec/examples/stack.rb b/vendor/gems/rspec/examples/stack.rb
new file mode 100644
index 000000000..407173f7b
--- /dev/null
+++ b/vendor/gems/rspec/examples/stack.rb
@@ -0,0 +1,36 @@
+class StackUnderflowError < RuntimeError
+end
+
+class StackOverflowError < RuntimeError
+end
+
+class Stack
+
+ def initialize
+ @items = []
+ end
+
+ def push object
+ raise StackOverflowError if @items.length == 10
+ @items.push object
+ end
+
+ def pop
+ raise StackUnderflowError if @items.empty?
+ @items.delete @items.last
+ end
+
+ def peek
+ raise StackUnderflowError if @items.empty?
+ @items.last
+ end
+
+ def empty?
+ @items.empty?
+ end
+
+ def full?
+ @items.length == 10
+ end
+
+end