class Koine::CommandBus::CommandBus
Constants
- UnhandledCommandError
Attributes
resolvers[R]
Public Class Methods
new(resolvers = [])
click to toggle source
# File lib/koine/command_bus/command_bus.rb, line 8 def initialize(resolvers = []) @resolvers = resolvers end
Public Instance Methods
handle(command)
click to toggle source
# File lib/koine/command_bus/command_bus.rb, line 12 def handle(command) handler_for(command).handle(command) end
handler_for(command)
click to toggle source
# File lib/koine/command_bus/command_bus.rb, line 16 def handler_for(command) resolvers.each do |resolver| handler = resolver.resolve(command) return handler if handler end raise UnhandledCommandError, "Command '#{command.class}' could not be handled" end