Module: Bobot::Event
- Defined in:
- lib/bobot/event.rb,
lib/bobot/events/read.rb,
lib/bobot/events/optin.rb,
lib/bobot/events/common.rb,
lib/bobot/events/message.rb,
lib/bobot/events/delivery.rb,
lib/bobot/events/postback.rb,
lib/bobot/events/referral.rb,
lib/bobot/events/message_echo.rb,
lib/bobot/events/account_linking.rb,
lib/bobot/events/message_request.rb
Defined Under Namespace
Modules: Common
Classes: AccountLinking, Delivery, Message, MessageEcho, MessageRequest, Optin, Postback, Read, Referral, UnknownPayload
Constant Summary
collapse
- EVENTS =
{
'message' => Message,
'delivery' => Delivery,
'postback' => Postback,
'optin' => Optin,
'read' => Read,
'account_linking' => AccountLinking,
'referral' => Referral,
'message_echo' => MessageEcho,
}.freeze
Class Method Summary
collapse
Class Method Details
.parse(payload) ⇒ Object
24
25
26
27
28
29
30
31
32
|
# File 'lib/bobot/event.rb', line 24
def self.parse(payload)
return MessageEcho.new(payload) if payload_is_echo?(payload)
EVENTS.each do |event, klass|
return klass.new(payload) if payload.key?(event)
end
raise UnknownPayload.new(payload)
end
|
.payload_is_echo?(payload) ⇒ Boolean
34
35
36
|
# File 'lib/bobot/event.rb', line 34
def self.payload_is_echo?(payload)
payload.key?('message') && payload['message']['is_echo'] == true
end
|