Class: Sequent::Core::BaseCommandHandler

Inherits:
Object
  • Object
show all
Includes:
Helpers::MessageHandler, 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 PayInvoiceCommand do |command|
    do_with_aggregate(command, Invoice) {|invoice|invoice.pay(command.pay_date)}
  end
end

Direct Known Subclasses

AggregateSnapshotter

Method Summary

Methods included from Helpers::MessageHandler

#handle_message, included

Methods included from Helpers::UuidHelper

new_uuid