Class: LontaraUtilities::RMQ::Listener
- Inherits:
-
Object
- Object
- LontaraUtilities::RMQ::Listener
- Defined in:
- lib/lontara_utilities/rmq/listener.rb
Overview
Listener for RabbitMQ.
This class used to define the listener for each request type. Same as routes.rb in Rails, that define the routes for each request type and the method to be called.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(request) ⇒ Listener
constructor
A new instance of Listener.
-
#start ⇒ Object
Start listening the request and process it to the defined listener.
Constructor Details
#initialize(request) ⇒ Listener
Returns a new instance of Listener.
15 16 17 18 19 |
# File 'lib/lontara_utilities/rmq/listener.rb', line 15 def initialize(request) @id = request[:id] if request[:id].present? @pattern = request[:pattern] @data = request[:data] end |
Class Method Details
.listen(request) ⇒ Object
11 12 13 |
# File 'lib/lontara_utilities/rmq/listener.rb', line 11 def self.listen(request) new(request).start end |
Instance Method Details
#start ⇒ Object
Start listening the request and process it to the defined listener.
22 23 24 25 26 27 |
# File 'lib/lontara_utilities/rmq/listener.rb', line 22 def start # Merge message ID if present. id.present? ? { id: }.merge!(listener_response) : listener_response rescue StandardError => e id.present? ? { id: }.merge!(error_response(e)) : error_response(e) end |