class SmsFactor
Attributes
message[RW]
recipients[RW]
sender[RW]
Public Class Methods
new(message, recipients, sender = nil)
click to toggle source
# File lib/sms_factor.rb, line 7 def initialize(message, recipients, sender = nil) raise "The configuration is not complete. Please define api_url, api_login, api_password and api_default_from" unless SmsFactor::Init.configuration.is_valid? @sender ||= SmsFactor::Init.configuration.api_default_from @recipients = recipients.kind_of?(Array) ? recipients : [recipients] @message = message end
sms(message, recipients, sender = nil)
click to toggle source
# File lib/sms_factor.rb, line 57 def self.sms(message, recipients, sender = nil) sms = SmsFactor.new(message, recipients, sender) sms.deliver end
Public Instance Methods
auth_credentials()
click to toggle source
# File lib/sms_factor.rb, line 26 def auth_credentials @auth_credentials ||= { authentication: { username: SmsFactor::Init.configuration.api_login, password: SmsFactor::Init.configuration.api_password } } end
build()
click to toggle source
# File lib/sms_factor.rb, line 15 def build { sms: auth_credentials.merge( message: {text: @message, sender: @sender, pushtype: 'alert'}, recipients: { gsm: @recipients.collect{|recipient| {value: recipient}} } ) } end
deliver(delay: :now, check: false)
click to toggle source
# File lib/sms_factor.rb, line 35 def deliver(delay: :now, check: false) data = case delay when nil, :now build else build[:sms].merge!({delay: delay}) end url = "#{SmsFactor::Init.configuration.api_url}/send" url = "#{url}/simulate" if check SmsFactor::SmsResponse.new( RestClient.post( url, { data: data.to_json }, content_type: :json, accept: :json, verify_ssl: false ) ) end