Class: MessageQuickly::CallbackParser

Inherits:
Object
  • Object
show all
Defined in:
lib/message_quickly/callback_parser.rb

Constant Summary collapse

WEBHOOK_LOOKUP =
{
  optin: MessageQuickly::Messaging::OptinEvent,
  postback: MessageQuickly::Messaging::PostbackEvent,
  delivery: MessageQuickly::Messaging::DeliveryEvent,
  account_linking: MessageQuickly::Messaging::AccountLinkEvent,
  message: MessageQuickly::Messaging::MessageEvent,
  read: MessageQuickly::Messaging::ReadEvent
}

Instance Method Summary collapse

Constructor Details

#initialize(json) ⇒ CallbackParser

Returns a new instance of CallbackParser.



42
43
44
# File 'lib/message_quickly/callback_parser.rb', line 42

def initialize(json)
  @json = json
end

Instance Method Details

#parseObject



55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/message_quickly/callback_parser.rb', line 55

def parse
  events = []
  process_entry_json(@json['entry']) do |params|
    WEBHOOK_LOOKUP.keys.each do |key|
      if params[:messaging][key]
        events << WEBHOOK_LOOKUP[key].new(params[:messaging])
        break
      end
    end
  end
  events.each { |event| yield event if block_given? }
  events
end