Class: Chickadee::CommandDispatcher

Inherits:
AbstractDispatcher show all
Defined in:
lib/chickadee/dispatchers/command_dispatcher.rb

Instance Method Summary collapse

Methods inherited from AbstractDispatcher

#initialize

Constructor Details

This class inherits a constructor from Chickadee::AbstractDispatcher

Instance Method Details

#dispatch(request) ⇒ Object



8
9
10
11
# File 'lib/chickadee/dispatchers/command_dispatcher.rb', line 8

def dispatch(request)
  bus.publish(request.class, request)
  nil
end

#map(request_key, *handlers) ⇒ Object

Raises:



3
4
5
6
# File 'lib/chickadee/dispatchers/command_dispatcher.rb', line 3

def map(request_key, *handlers)
  raise(DispatcherError, "Command already mapped: #{request_key}") if bus.topic_exists?(request_key)
  bus.subscribe(request_key) {|req| resolve_handler_chain(*handlers).handle(req)}
end