Class: Outbox::Bandwidth::Client
- Inherits:
-
Clients::Base
- Object
- Clients::Base
- Outbox::Bandwidth::Client
- Includes:
- Bandwidth::Messaging
- Defined in:
- lib/outbox/bandwidth/client.rb
Overview
Uses Bandwidth’s official Ruby API client (bandwidth) to deliver SMS messages.
Outbox::Messages::SMS.default_client(
:bandwidth,
account_sid: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
token: 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy',
secret: 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz'
)
sms = Outbox::Messages::SMS.new(
to: '+15552224444',
from: '+15551115555',
body: 'Hello World'
)
sms.deliver
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.
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/outbox/bandwidth/client.rb', line 26 def initialize(settings = nil) super = @settings.dup @api_client = ::Bandwidth::Client.new( messaging_basic_auth_user_name: [:token], messaging_basic_auth_password: [:secret] ) @account_id = [:subaccount_id] || [:account_id] @application_id = [:application_id] end |
Instance Attribute Details
#api_client ⇒ Object (readonly)
Returns the value of attribute api_client.
23 24 25 |
# File 'lib/outbox/bandwidth/client.rb', line 23 def api_client @api_client end |
Instance Method Details
#deliver(sms) ⇒ Object
38 39 40 41 42 |
# File 'lib/outbox/bandwidth/client.rb', line 38 def deliver(sms) messaging_client = @api_client.messaging_client.client body = (sms) messaging_client.(account_id(sms), body: body) end |