File tree Expand file tree Collapse file tree 3 files changed +40
-0
lines changed
Expand file tree Collapse file tree 3 files changed +40
-0
lines changed Original file line number Diff line number Diff line change 1919require 'resque/consumer'
2020require 'resque/threaded_pool'
2121require 'resque/connection_pool'
22+ require 'resque/sized_stack'
2223
2324require 'resque/vendor/utf8_util'
2425
Original file line number Diff line number Diff line change 1+ require 'thread'
2+
3+ module Resque
4+ ###
5+ # Sized LIFO queue.
6+ class SizedStack < SizedQueue
7+ def initialize ( size )
8+ super
9+ class << @que
10+ alias :shift :pop
11+ end
12+ end
13+ end
14+ end
Original file line number Diff line number Diff line change 1+ require "test_helper"
2+
3+ module Resque
4+ describe SizedStack do
5+ it "can be constructed" do
6+ assert Resque ::SizedStack . new ( 10 )
7+ end
8+
9+ it "pops off what we push" do
10+ stack = Resque ::SizedStack . new 10
11+ thing = Object . new
12+ stack . push thing
13+ assert_equal thing , stack . pop
14+ end
15+
16+ it "is a stack" do
17+ stack = Resque ::SizedStack . new 10
18+ items = 10 . times . map { Object . new }
19+ items . each { |i | stack << i }
20+ items . reverse_each do |i |
21+ assert_equal i , stack . pop
22+ end
23+ end
24+ end
25+ end
You can’t perform that action at this time.
0 commit comments