Module: Aggregates::MessageProcessor::ClassMethods

Defined in:
lib/aggregates/message_processor.rb

Overview

Provides a single mapping of Message Classes to a list of handler blocks that should be executed when that type of message is received.

Instance Method Summary collapse

Instance Method Details

#handles_message?(message) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/aggregates/message_processor.rb', line 21

def handles_message?(message)
  message_mapping.key?(message.class)
end

#message_mappingObject



17
18
19
# File 'lib/aggregates/message_processor.rb', line 17

def message_mapping
  @message_mapping ||= {}
end

#on(*message_classes, &block) ⇒ Object



10
11
12
13
14
15
# File 'lib/aggregates/message_processor.rb', line 10

def on(*message_classes, &block)
  message_classes.each do |message_class|
    handlers = message_mapping[message_class] ||= []
    handlers.append block
  end
end