Module: Facebook::Messenger::Incoming

Defined in:
lib/facebook/messenger/incoming.rb,
lib/facebook/messenger/incoming/optin.rb,
lib/facebook/messenger/incoming/message.rb,
lib/facebook/messenger/incoming/delivery.rb,
lib/facebook/messenger/incoming/postback.rb

Overview

The Incoming module parses and abstracts incoming requests from Facebook Messenger.

Defined Under Namespace

Classes: Delivery, Message, Optin, Postback, UnknownPayload

Constant Summary collapse

EVENTS =
{
  'message' => Message,
  'delivery' => Delivery,
  'postback' => Postback,
  'optin' => Optin
}.freeze

Class Method Summary collapse

Class Method Details

.parse(payload) ⇒ Object

Parse the given payload.

payload - A Hash describing a payload from Facebook.

Raises:



23
24
25
26
27
28
29
# File 'lib/facebook/messenger/incoming.rb', line 23

def self.parse(payload)
  EVENTS.each do |event, klass|
    return klass.new(payload) if payload.key?(event)
  end

  raise UnknownPayload, payload
end