Class: Message::InMemoryQueue

Inherits:
Object
  • Object
show all
Defined in:
lib/message/in_memory_queue.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ InMemoryQueue

Returns a new instance of InMemoryQueue.



6
7
8
9
# File 'lib/message/in_memory_queue.rb', line 6

def initialize(name)
  @name = name
  @queue = ::Queue.new
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



5
6
7
# File 'lib/message/in_memory_queue.rb', line 5

def name
  @name
end

Instance Method Details

#deq(size = 1, &block) ⇒ Object



16
17
18
19
20
21
22
23
24
# 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) ⇒ Object Also known as: <<



11
12
13
# File 'lib/message/in_memory_queue.rb', line 11

def enq(msg)
  @queue << msg
end

#sizeObject



26
27
28
# File 'lib/message/in_memory_queue.rb', line 26

def size
  @queue.size
end