Class: DispatchRider::Subscriber

Inherits:
Object
  • Object
show all
Defined in:
lib/dispatch-rider/subscriber.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSubscriber

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

#demultiplexerObject (readonly)

Returns the value of attribute demultiplexer.



4
5
6
# File 'lib/dispatch-rider/subscriber.rb', line 4

def demultiplexer
  @demultiplexer
end

#dispatcherObject (readonly)

Returns the value of attribute dispatcher.



4
5
6
# File 'lib/dispatch-rider/subscriber.rb', line 4

def dispatcher
  @dispatcher
end

#queue_service_registrarObject (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

#processObject



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, options = {})
  queue_service_registrar.register(name, options)
  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