Sha256: 464a86da85dffb015758225c04ce712675d732b210e1990f8f2c76d68182cae7
Contents?: true
Size: 1.16 KB
Versions: 1
Compression:
Stored size: 1.16 KB
Contents
# frozen_string_literal: true require 'twilio-ruby' module Nuntius # Send SMS messages using twilio.com class TwilioSmsProvider < BaseProvider transport :sms setting_reader :auth_token, required: true, description: 'Authentication token' setting_reader :sid, required: true, description: 'Application SID, see Twilio console' setting_reader :from, required: true, description: "Phone-number or name (example: 'Nuntius') to send the message from" # Twilio statusses: queued, failed, sent, delivered, or undelivered states %w[failed undelivered] => 'undelivered', 'delivered' => 'delivered' def deliver response = client.messages.create(from: message.from.present? ? message.from : from, to: message.to, body: message.text) message.provider_id = response.sid message.status = translated_status(response.status) message end def refresh response = client.messages(message.provider_id).fetch message.provider_id = response.sid message.status = translated_status(response.status) message end private def client @client ||= Twilio::REST::Client.new(sid, auth_token) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nuntius-1.0.27 | app/providers/nuntius/twilio_sms_provider.rb |