Class: Chickadee::QueryDispatcher

Inherits:
AbstractDispatcher show all
Defined in:
lib/chickadee/dispatchers/query_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
# File 'lib/chickadee/dispatchers/query_dispatcher.rb', line 8

def dispatch(request)
  cache[request.class].call(request)
end

#map(request_key, *handlers) ⇒ Object

Raises:



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

def map(request_key, *handlers)
  raise(DispatcherError, "Query already mapped: #{request_key}") if cache.key?(request_key)
  cache[request_key] = Proc.new{|req| resolve_handler_chain(*handlers).handle(req)}
end