class Xip::Services::Twilio::MessageHandler
Attributes
headers[R]
params[R]
service_message[R]
Public Class Methods
new(params:, headers:)
click to toggle source
# File lib/xip/services/twilio/message_handler.rb, line 9 def initialize(params:, headers:) @params = params @headers = headers end
Public Instance Methods
coordinate()
click to toggle source
# File lib/xip/services/twilio/message_handler.rb, line 14 def coordinate Xip::Services::HandleMessageJob.perform_async( 'twilio', params, headers ) # Relay our acceptance [204, 'No Content'] end
process()
click to toggle source
# File lib/xip/services/twilio/message_handler.rb, line 25 def process @service_message = ServiceMessage.new(service: 'twilio') service_message.sender_id = params['From'] service_message.target_id = params['To'] service_message.message = params['Body'] # Check for media attachments attachment_count = params['NumMedia'].to_i attachment_count.times do |i| service_message.attachments << { type: params["MediaContentType#{i}"], url: params["MediaUrl#{i}"] } end service_message end