class Messenger::Parameters::Messaging
Attributes
callback[RW]
recipient_id[RW]
sender_id[RW]
Public Class Methods
new(sender:, recipient:, timestamp: nil, message: nil, delivery: nil, postback: nil, optin: nil, read: nil, account_linking: nil)
click to toggle source
# File lib/messenger/parameters/messaging.rb, line 6 def initialize(sender:, recipient:, timestamp: nil, message: nil, delivery: nil, postback: nil, optin: nil, read: nil, account_linking: nil) @sender_id = sender['id'] @recipient_id = recipient['id'] @callback = set_callback(message: message, delivery: delivery, postback: postback, optin: optin, read: read, account_linking: account_linking) end
Public Instance Methods
set_callback(callbacks)
click to toggle source
# File lib/messenger/parameters/messaging.rb, line 12 def set_callback(callbacks) type = callbacks.select { |_, v| v.present? }.keys.first @callback = constant(type).new(callbacks[type].transform_keys(&:to_sym)) end
Private Instance Methods
constant(symbol)
click to toggle source
# File lib/messenger/parameters/messaging.rb, line 19 def constant(symbol) "Messenger::Parameters::#{symbol.to_s.camelize}".constantize end