Sha256: 147ed7188225fe5afe0c7d8ca54e96062e81d8b73ce481ad0ee0d6cd1ba44bd2

Contents?: true

Size: 935 Bytes

Versions: 2

Compression:

Stored size: 935 Bytes

Contents

require 'twilio-rb'

module Gringotts::DeliveryStrategies
  class TwilioSMSStrategy < BaseDeliveryStrategy

    def initialize(delivery)
      super(delivery)
      if Gringotts::Config.twilio.nil?
        raise "You must add your Twilio account information to config/gringotts.yml"
      else
        Twilio::Config.setup(
          account_sid: Gringotts::Config.twilio["account_sid"],
          auth_token:  Gringotts::Config.twilio["auth_token"]
        )
      end
    end
    
    def deliver!     
      @to   = @phone_number
      @from = Gringotts::Config.twilio.present? ? Gringotts::Config.twilio["from_number"] : nil
      @body = "Your validation code is [#{@code}]"
      
      # finally, the moment we've all been waiting for!
      # oh, but don't send in test mode ... cuz ... that's a lot of useless SMSsss
      Twilio::SMS.create(to: @to, from: @from, body: @body) unless Rails.env.test?
    end
        
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gringotts-0.6.7 app/models/gringotts/delivery_strategies/twilio_sms_strategy.rb
gringotts-0.6.5 app/models/gringotts/delivery_strategies/twilio_sms_strategy.rb