lib/dispatch-rider/dispatcher.rb in dispatch-rider-0.0.7 vs lib/dispatch-rider/dispatcher.rb in dispatch-rider-0.1.0

- old
+ new

@@ -5,39 +5,20 @@ module DispatchRider class Dispatcher extend Forwardable - require 'dispatch-rider/dispatcher/named_process' - include NamedProcess - attr_reader :handler_registrar def_delegators :handler_registrar, :register, :fetch, :unregister def initialize @handler_registrar = Registrars::Handler.new - @error_handler = method(:default_error_handler) end - def on_error(&block) - @error_handler = block - end - def dispatch(message) - with_named_process(message.subject) do - handler_registrar.fetch(message.subject).process(message.body) - end - + handler_registrar.fetch(message.subject).new.do_process(message.body) true # success => true (delete message) - rescue Exception => exception - @error_handler.call(message, exception) - false # failure => false (put message back on queue) end - private - - def default_error_handler(message, exception) - raise exception - end end end