class ActiveDomain::CommandRoutes

Attributes

processors[RW]

Public Class Methods

new() click to toggle source
# File lib/active_domain/command_routes.rb, line 9
def initialize
  self.processors = {}
end
route(type, processor, method) click to toggle source
# File lib/active_domain/command_routes.rb, line 23
def self.route(type, processor, method)
  @@routes[type] = [processor, method]
end

Public Instance Methods

run_command(command) click to toggle source
# File lib/active_domain/command_routes.rb, line 13
def run_command(command)
  RELOADER.execute_if_updated
  processor, method = @@routes[command.class]
  processor_instance(processor).method(method).call(command)
rescue => e
  LOGGER.error e.message
  LOGGER.error e.backtrace.join("\n")
  raise ActiveEvent::DomainExceptionCapture, ["#{e.class.name}: #{e.message}", e.backtrace].to_json, e.backtrace
end
version() click to toggle source
# File lib/active_domain/command_routes.rb, line 5
def version
  '0.1.0'
end

Private Instance Methods

processor_instance(processor) click to toggle source
# File lib/active_domain/command_routes.rb, line 31
def processor_instance(processor)
  processors[processor] ||= processor.new
end