Class: ActionMessage::Adapters::Twilio

Inherits:
Base
  • Object
show all
Defined in:
lib/action_message/adapters/twilio.rb

Instance Method Summary collapse

Methods inherited from Base

#senders

Constructor Details

#initialize(params = {}) ⇒ Twilio

Returns a new instance of Twilio.

Raises:

  • (ArgumentError)


6
7
8
9
10
11
12
13
14
# File 'lib/action_message/adapters/twilio.rb', line 6

def initialize(params={})
  raise ArgumentError, 'account_sid is a mandatory setting for sending messages through Twilio' unless params[:account_sid].present?
  raise ArgumentError, 'auth_token is a mandatory setting for sending messages through Twilio' unless params[:auth_token].present?

  @account_sid = params[:account_sid]
  @auth_token = params[:auth_token]

  super(params)
end

Instance Method Details

#clientObject



16
17
18
# File 'lib/action_message/adapters/twilio.rb', line 16

def client
  @client ||= ::Twilio::REST::Client.new(@account_sid, @auth_token)
end

#send_message(body, params = {}) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/action_message/adapters/twilio.rb', line 20

def send_message(body, params={})
  super(body, params)

  sms = {
    to: params[:to],
    from: @from,
    body: body
  }
  
  sms.merge!(media_url: params[:media_url]) if params[:media_url].present?

  client.api..messages.create(sms)
end