module Sequent::Core::Helpers::MessageHandler

Creates ability to use DSL like:

class MyProjector < Sequent::Projector

  on MyEvent do |event|
    @foo = event.foo
  end

end

If you extend from Sequent::AggregateRoot, Sequent::Projector, Sequent::Workflow or Sequent::CommandHandler you will get this functionality for free.

It is possible to register multiple handler blocks in the same MessageHandler

class MyProjector < Sequent::Projector

  on MyEvent do |event|
    @foo = event.foo
  end

  on MyEvent, OtherEvent do |event|
    @bar = event.bar
  end

end

The order of which handler block is executed first is not guaranteed.