class Outbox::Twilio::Client
Uses Twilio's official Ruby API client (twilio-ruby) to deliver SMS messages.
Outbox::Messages::SMS.default_client( :twilio, account_sid: 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', auth_token: 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy' ) sms = Outbox::Messages::SMS.new( from: '+15551115555', body: 'Hello World' ) sms.deliver('+15552224444')
Attributes
api_client[R]
Public Class Methods
new(settings = nil)
click to toggle source
Calls superclass method
# File lib/outbox/twilio/client.rb, line 23 def initialize(settings = nil) super options = @settings.dup @api_client = ::Twilio::REST::Client.new( options[:username] || options[:account_sid], options[:password] || options[:auth_token], options[:subaccount_sid] || options[:account_sid] ) end
Public Instance Methods
deliver(sms)
click to toggle source
# File lib/outbox/twilio/client.rb, line 34 def deliver(sms) params = { from: sms.from, to: sms.to, body: sms.body, media_url: sms[:media_url], status_callback: sms[:status_callback], application_sid: sms[:application_sid] } params.delete_if { |_, value| value.nil? } account(sms).messages.create(params) end
Protected Instance Methods
account(sms)
click to toggle source
# File lib/outbox/twilio/client.rb, line 49 def account(sms) if sms[:account_sid] @api_client.api.accounts(sms[:account_sid]) else @api_client end end