diff --git a/lib/async/queue.rb b/lib/async/queue.rb index ed9979fa..124433f9 100644 --- a/lib/async/queue.rb +++ b/lib/async/queue.rb @@ -34,7 +34,11 @@ def initialize(parent: nil) attr :items - def enqueue item + def empty? + @items.empty? + end + + def enqueue(item) @items.push(item) self.signal unless self.empty? diff --git a/lib/async/version.rb b/lib/async/version.rb index da9056f3..77449ecb 100644 --- a/lib/async/version.rb +++ b/lib/async/version.rb @@ -21,5 +21,5 @@ # THE SOFTWARE. module Async - VERSION = "1.25.2" + VERSION = "1.26.0" end diff --git a/spec/async/queue_spec.rb b/spec/async/queue_spec.rb index 874108b9..6d461a0f 100644 --- a/spec/async/queue_spec.rb +++ b/spec/async/queue_spec.rb @@ -53,6 +53,10 @@ end end + context 'with an empty queue' do + it {is_expected.to be_empty} + end + context 'with semaphore' do let(:capacity) {2} let(:semaphore) {Async::Semaphore.new(capacity)}