class Message::InMemoryQueue

Attributes

name[R]

Public Class Methods

new(name) click to toggle source
# File lib/message/in_memory_queue.rb, line 6
def initialize(name)
  @name = name
  @queue = ::Queue.new
end

Public Instance Methods

<<(msg)
Alias for: enq
deq(size=1, &block) click to toggle source
# File lib/message/in_memory_queue.rb, line 16
def deq(size=1, &block)
  if size == 1
    __deq__(&block)
  else
    size.times { __deq__(&block) }
  end
rescue ThreadError
  #no message in queue
end
enq(msg) click to toggle source
# File lib/message/in_memory_queue.rb, line 11
def enq(msg)
  @queue << msg
end
Also aliased as: <<
size() click to toggle source
# File lib/message/in_memory_queue.rb, line 26
def size
  @queue.size
end

Private Instance Methods

__deq__() { |deq| ... } click to toggle source
# File lib/message/in_memory_queue.rb, line 31
def __deq__(&block)
  if block_given?
    yield(@queue.deq(true))
  else
    @queue.deq(true)
  end
end