Class: Outbox::Twilio::Client
- Inherits:
-
Clients::Base
- Object
- Clients::Base
- Outbox::Twilio::Client
- Defined in:
- lib/outbox/twilio/client.rb
Overview
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')
Instance Attribute Summary collapse
-
#api_client ⇒ Object
readonly
Returns the value of attribute api_client.
Instance Method Summary collapse
- #deliver(sms) ⇒ Object
-
#initialize(settings = nil) ⇒ Client
constructor
A new instance of Client.
Constructor Details
#initialize(settings = nil) ⇒ Client
Returns a new instance of Client.
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/outbox/twilio/client.rb', line 23 def initialize(settings = nil) super = @settings.dup @api_client = ::Twilio::REST::Client.new( [:username] || [:account_sid], [:password] || [:auth_token], [:subaccount_sid] || [:account_sid] ) end |
Instance Attribute Details
#api_client ⇒ Object (readonly)
Returns the value of attribute api_client.
21 22 23 |
# File 'lib/outbox/twilio/client.rb', line 21 def api_client @api_client end |
Instance Method Details
#deliver(sms) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 |
# 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)..create(params) end |