class GlobelabsSmsRails::Client
Constants
- MSG_PARAMS
Attributes
address[RW]
app_id[RW]
app_secret[RW]
host[RW]
message[RW]
passphrase[RW]
short_code[RW]
Public Class Methods
new(options = {})
click to toggle source
# File lib/globelabs_sms_rails/client.rb, line 9 def initialize(options = {}) @app_id = GlobelabsSmsRails.configuration.app_id @app_secret = GlobelabsSmsRails.configuration.app_secret @passphrase = GlobelabsSmsRails.configuration.passphrase @short_code = GlobelabsSmsRails.configuration.short_code @host = "https://devapi.globelabs.com.ph/smsmessaging/v1/outbound/#{short_code}/requests" end
send(options={})
click to toggle source
# File lib/globelabs_sms_rails/client.rb, line 39 def self.send(options={}) obj = self.new(options) return obj.send(options) end
Public Instance Methods
send(options)
click to toggle source
# File lib/globelabs_sms_rails/client.rb, line 17 def send(options) @address = options.fetch(:address) @message = options.fetch(:message) uri = URI(host) request = Net::HTTP.post_form(uri, message_params) response = JSON.parse(request.body, symbolize_names: true) if response.has_key?(:http_code) case response[:http_code].to_i when 400 raise Errors::BadRequest, response[:error] when 401 raise Errors::Authentication, response[:error] else raise StandardError, response[:error] end else response.merge!(http_code: '200') end end
Private Instance Methods
message_params()
click to toggle source
# File lib/globelabs_sms_rails/client.rb, line 46 def message_params MSG_PARAMS['app_id'] = app_id MSG_PARAMS['app_secret'] = app_secret MSG_PARAMS['passphrase'] = passphrase MSG_PARAMS['address'] = address MSG_PARAMS['message'] = message MSG_PARAMS end