module EntityProjection::Info

Public Instance Methods

handler(event_or_event_data) click to toggle source
# File lib/entity_projection/entity_projection.rb, line 33
def handler(event_or_event_data)
  name = handler_name(event_or_event_data)

  if method_defined?(name)
    return name
  else
    return nil
  end
end
handler_name(event_or_event_data) click to toggle source
# File lib/entity_projection/entity_projection.rb, line 49
def handler_name(event_or_event_data)
  name = nil

  if event_or_event_data.is_a?(MessageStore::MessageData)
    name = Messaging::Message::Info.canonize_name(event_or_event_data.type)
  else
    name = event_or_event_data.message_name
  end

  "apply_#{name}"
end
handles?(event_or_event_data) click to toggle source
# File lib/entity_projection/entity_projection.rb, line 43
def handles?(event_or_event_data)
  handler_name = self.handler_name(event_or_event_data)

  method_defined?(handler_name)
end