module Puma::QueueClose

Queue#close was added in Ruby 2.3. Add a simple implementation for earlier Ruby versions.

Public Instance Methods

<<(object)
Alias for: push
close() click to toggle source
# File lib/puma/queue_close.rb, line 8
def close
  num_waiting.times {push nil}
  @closed = true
end
closed?() click to toggle source
# File lib/puma/queue_close.rb, line 12
def closed?
  @closed ||= false
end
pop(non_block=false) click to toggle source
Calls superclass method
# File lib/puma/queue_close.rb, line 20
def pop(non_block=false)
  return nil if !non_block && closed? && empty?
  super
end
push(object) click to toggle source
Calls superclass method
# File lib/puma/queue_close.rb, line 15
def push(object)
  raise ClosedQueueError if closed?
  super
end
Also aliased as: <<