class Hulaki::SmsHandler
Constants
- VALID_GATEWAY
Attributes
from[R]
gateway[R]
message[R]
to[R]
Public Class Methods
new(params = {})
click to toggle source
# File lib/hulaki/sms_handler/sms_handler.rb, line 5 def initialize(params = {}) @to = params.fetch(:to, params[:recipient]) @from = params.fetch(:from, params[:sender]) @message = params.fetch(:message, params[:msg]) explicit_gateway = params[:gateway] && VALID_GATEWAY.include?(params[:gateway].downcase) && params[:gateway].downcase @gateway_name = explicit_gateway || get_default_gateway_name @gateway = get_gateway end
Public Instance Methods
send()
click to toggle source
# File lib/hulaki/sms_handler/sms_handler.rb, line 16 def send verify_details @gateway.send end
Private Instance Methods
gateway_config()
click to toggle source
# File lib/hulaki/sms_handler/sms_handler.rb, line 54 def gateway_config @gateway_config ||= Hulaki::Config['sms'][@gateway_name] end
get_default_gateway_name()
click to toggle source
# File lib/hulaki/sms_handler/sms_handler.rb, line 45 def get_default_gateway_name Hulaki::Config['sms'].each do|key, value| return key if value['default'] == true end # If no default defined in the config; pick the last one Hulaki::Config['sms'].keys.last end
get_gateway()
click to toggle source
# File lib/hulaki/sms_handler/sms_handler.rb, line 23 def get_gateway config = gateway_config klass = @gateway_name.to_s.capitalize eval("Hulaki::#{klass}").new( { :config => gateway_config, :to => to, :from => from || gateway_config['from'], :message => message }) rescue SyntaxError => e raise Hulaki::InvalidSmsGateway, 'Please choose a valid sms gateway' end
verify_details()
click to toggle source
# File lib/hulaki/sms_handler/sms_handler.rb, line 39 def verify_details Hulaki::SmsValidator.new(to: to, from: from || gateway_config['ACCOUNT_PHONE_NUMBER'], message: message).validate end