class MessageQuickly::CallbackParser
Constants
- WEBHOOK_LOOKUP
Public Class Methods
new(json)
click to toggle source
# File lib/message_quickly/callback_parser.rb, line 42 def initialize(json) @json = json end
Public Instance Methods
parse() { |event| ... }
click to toggle source
# 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
Private Instance Methods
callback_params(entry, sender, recipient, timestamp, event_json)
click to toggle source
# File lib/message_quickly/callback_parser.rb, line 83 def callback_params(entry, sender, recipient, timestamp, event_json) { entry: entry, sender: sender, recipient: recipient, timestamp: timestamp, messaging: event_json.deep_symbolize_keys } end
process_entry_json(json) { |callback_params(entry, sender, recipient, timestamp, event_json)| ... }
click to toggle source
# File lib/message_quickly/callback_parser.rb, line 71 def process_entry_json(json) json.each do |entry_json| entry = Messaging::Entry.new(entry_json) entry_json['messaging'].each do |event_json| sender = Messaging::Sender.new(event_json['sender']) recipient = Messaging::Recipient.new(event_json['recipient']) timestamp = event_json['timestamp'] yield callback_params(entry, sender, recipient, timestamp, event_json) end end end