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.
88 89 90 91 |
# File 'lib/work_queue.rb', line 88 def initialize(limit) @limit = limit @elements = [] end |
Instance Method Details
#empty? ⇒ Boolean
103 104 105 |
# File 'lib/work_queue.rb', line 103 def empty? @elements.empty? end |
#push(task, force:) ⇒ Object
93 94 95 96 97 |
# File 'lib/work_queue.rb', line 93 def push(task, force:) raise WorkQueueFull if !force && @elements.size >= @limit @elements << task nil end |
#shift ⇒ Object
99 100 101 |
# File 'lib/work_queue.rb', line 99 def shift @elements.shift end |
#size ⇒ Object
107 108 109 |
# File 'lib/work_queue.rb', line 107 def size @elements.size end |