Class: RubyRabbitmqJanus::Rabbit::Listener::Base

Inherits:
BaseEvent
  • Object
show all
Defined in:
lib/rrj/rabbit/listener/base.rb

Overview

Base for listeners

Direct Known Subclasses

From

Instance Method Summary collapse

Constructor Details

#initialize(rabbit) ⇒ Base

Define an publisher

Parameters:

  • rabbit (String)

    Information connection to RabbitMQ server



13
14
15
16
17
# File 'lib/rrj/rabbit/listener/base.rb', line 13

def initialize(rabbit)
  super()
  @rabbit = rabbit.channel
  subscribe_queue
end

Instance Method Details

#listen_events {|response.event, response| ... } ⇒ Object

Listen a queue and return a body response

Yields:

  • (response.event, response)


20
21
22
23
24
25
26
27
28
# File 'lib/rrj/rabbit/listener/base.rb', line 20

def listen_events
  semaphore.wait
  response = nil
  lock.synchronize do
    response = responses.shift
    check(response)
  end
  yield response.event, response
end