Class: WorkQueue::BoundedQueue
- Inherits:
-
Object
- Object
- WorkQueue::BoundedQueue
- Defined in:
- lib/work_queue.rb
Instance Method Summary collapse
- #empty? ⇒ Boolean
-
#initialize(limit) ⇒ BoundedQueue
constructor
A new instance of BoundedQueue.
- #push(task, force:) ⇒ Object
- #shift ⇒ Object
- #size ⇒ Object
Constructor Details
#initialize(limit) ⇒ BoundedQueue
Returns a new instance of BoundedQueue.
87 88 89 90 |
# File 'lib/work_queue.rb', line 87 def initialize(limit) @limit = limit @elements = [] end |
Instance Method Details
#empty? ⇒ Boolean
102 103 104 |
# File 'lib/work_queue.rb', line 102 def empty? @elements.empty? end |
#push(task, force:) ⇒ Object
92 93 94 95 96 |
# File 'lib/work_queue.rb', line 92 def push(task, force:) raise WorkQueueFull if !force && @elements.size >= @limit @elements << task nil end |
#shift ⇒ Object
98 99 100 |
# File 'lib/work_queue.rb', line 98 def shift @elements.shift end |
#size ⇒ Object
106 107 108 |
# File 'lib/work_queue.rb', line 106 def size @elements.size end |