Class: Sequent::Core::BaseCommandHandler
- Inherits:
-
Object
- Object
- Sequent::Core::BaseCommandHandler
- Includes:
- Helpers::SelfApplier, Helpers::UuidHelper
- Defined in:
- lib/sequent/core/base_command_handler.rb
Overview
Base class for command handlers CommandHandlers are responsible for propagating a command to the correct Sequent::Core::AggregateRoot or creating a new one. For example:
class InvoiceCommandHandler < Sequent::Core::BaseCommandHandler
on CreateInvoiceCommand do |command|
repository.add_aggregate Invoice.new(command.aggregate_id)
end
on PayInvoiceCommanddo |command|
do_with_aggregate(command, Invoice) {|invoice|invoice.pay(command.pay_date)}
end
end
Instance Method Summary collapse
-
#initialize(repository) ⇒ BaseCommandHandler
constructor
A new instance of BaseCommandHandler.
Methods included from Helpers::SelfApplier
Methods included from Helpers::UuidHelper
Constructor Details
#initialize(repository) ⇒ BaseCommandHandler
Returns a new instance of BaseCommandHandler.
23 24 25 |
# File 'lib/sequent/core/base_command_handler.rb', line 23 def initialize(repository) @repository = repository end |