Class: DispatchRider::Subscriber
- Inherits:
-
Object
- Object
- DispatchRider::Subscriber
- Defined in:
- lib/dispatch-rider/subscriber.rb
Instance Attribute Summary collapse
-
#demultiplexer ⇒ Object
readonly
Returns the value of attribute demultiplexer.
-
#dispatcher ⇒ Object
readonly
Returns the value of attribute dispatcher.
-
#queue_service_registrar ⇒ Object
readonly
Returns the value of attribute queue_service_registrar.
Instance Method Summary collapse
-
#initialize ⇒ Subscriber
constructor
A new instance of Subscriber.
- #process ⇒ Object
- #register_handler(name) ⇒ Object
- #register_handlers(*names) ⇒ Object
- #register_queue(name, options = {}) ⇒ Object
- #setup_demultiplexer(queue_name, error_handler = DispatchRider::DefaultErrorHandler) ⇒ Object
Constructor Details
#initialize ⇒ Subscriber
Returns a new instance of Subscriber.
6 7 8 9 |
# File 'lib/dispatch-rider/subscriber.rb', line 6 def initialize @queue_service_registrar = DispatchRider::Registrars::QueueService.new @dispatcher = DispatchRider::Dispatcher.new end |
Instance Attribute Details
#demultiplexer ⇒ Object (readonly)
Returns the value of attribute demultiplexer.
4 5 6 |
# File 'lib/dispatch-rider/subscriber.rb', line 4 def demultiplexer @demultiplexer end |
#dispatcher ⇒ Object (readonly)
Returns the value of attribute dispatcher.
4 5 6 |
# File 'lib/dispatch-rider/subscriber.rb', line 4 def dispatcher @dispatcher end |
#queue_service_registrar ⇒ Object (readonly)
Returns the value of attribute queue_service_registrar.
4 5 6 |
# File 'lib/dispatch-rider/subscriber.rb', line 4 def queue_service_registrar @queue_service_registrar end |
Instance Method Details
#process ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/dispatch-rider/subscriber.rb', line 32 def process register_quit_trap register_term_trap register_int_trap demultiplexer.start end |
#register_handler(name) ⇒ Object
16 17 18 19 |
# File 'lib/dispatch-rider/subscriber.rb', line 16 def register_handler(name) dispatcher.register(name) self end |
#register_handlers(*names) ⇒ Object
21 22 23 24 |
# File 'lib/dispatch-rider/subscriber.rb', line 21 def register_handlers(*names) names.each {|name| register_handler(name)} self end |
#register_queue(name, options = {}) ⇒ Object
11 12 13 14 |
# File 'lib/dispatch-rider/subscriber.rb', line 11 def register_queue(name, = {}) queue_service_registrar.register(name, ) self end |
#setup_demultiplexer(queue_name, error_handler = DispatchRider::DefaultErrorHandler) ⇒ Object
26 27 28 29 30 |
# File 'lib/dispatch-rider/subscriber.rb', line 26 def setup_demultiplexer(queue_name, error_handler = DispatchRider::DefaultErrorHandler) queue = queue_service_registrar.fetch(queue_name) @demultiplexer ||= DispatchRider::Demultiplexer.new(queue, dispatcher, error_handler) self end |