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 Attribute Summary

Attributes inherited from BaseEvent

#response

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
18
19
# File 'lib/rrj/rabbit/listener/base.rb', line 13

def initialize(rabbit)
  super()
  @rabbit = rabbit.channel
  subscribe_queue
rescue
  raise Errors::Rabbit::Listener::Base::Initialize
end

Instance Method Details

#listen_eventsObject

Listen a queue and return a body response



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

def listen_events
  semaphore.wait
  response = nil
  lock.synchronize do
    response = responses.shift
  end
  yield response.event, response
rescue
  raise Errors::Rabbit::Listener::Base::ListenEvents
end