Module: Messaging::Handle::Info

Extended by:
Info
Included in:
Info
Defined in:
lib/messaging/handle.rb

Instance Method Summary collapse

Instance Method Details

#handler(message_or_message_data) ⇒ Object



77
78
79
80
81
82
83
84
85
# File 'lib/messaging/handle.rb', line 77

def handler(message_or_message_data)
  name = handler_name(message_or_message_data)

  if method_defined?(name)
    return name
  else
    return nil
  end
end

#handler_name(message_or_message_data) ⇒ Object



91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/messaging/handle.rb', line 91

def handler_name(message_or_message_data)
  name = nil

  if message_or_message_data.is_a? MessageStore::MessageData::Read
    name = Messaging::Message::Info.canonize_name(message_or_message_data.type)
  elsif message_or_message_data.is_a? String
    name = Messaging::Message::Info.canonize_name(message_or_message_data)
  else
    name = message_or_message_data.message_name
  end

  "handle_#{name}"
end

#handles?(message_or_message_data) ⇒ Boolean

Returns:

  • (Boolean)


87
88
89
# File 'lib/messaging/handle.rb', line 87

def handles?(message_or_message_data)
  method_defined? handler_name(message_or_message_data)
end