class Smess::GlobalMouth
Attributes
password[RW]
sender_id[RW]
username[RW]
Public Instance Methods
deliver()
click to toggle source
# File lib/smess/outputs/global_mouth.rb, line 7 def deliver generate_mac_hash request.url = "#{url}?#{params.to_query}" http_get request end
validate_config()
click to toggle source
# File lib/smess/outputs/global_mouth.rb, line 14 def validate_config @username = config.fetch(:username) @password = config.fetch(:password) @sender_id = config.fetch(:sender_id) end
Private Instance Methods
compute_hash(values = [])
click to toggle source
# File lib/smess/outputs/global_mouth.rb, line 41 def compute_hash(values = []) hash = "#{username}#{values.join}" auth_hash = Digest::MD5.hexdigest "#{username}:#{password}" Digest::MD5.hexdigest "#{hash}#{auth_hash}" end
generate_mac_hash()
click to toggle source
# File lib/smess/outputs/global_mouth.rb, line 47 def generate_mac_hash params[:hash] = compute_hash( [sms.message.strip_nongsm_chars.encode("ISO-8859-1"), params[:originator], params[:msisdn]] ) end
normal_result(response)
click to toggle source
# File lib/smess/outputs/global_mouth.rb, line 53 def normal_result(response) response_code = response.body.split(/\n/).first response_code = "0" if response_code == "200" # Successful response { message_id: message_id, response_code: response_code.to_s, response: {body: response.body}, destination_address: sms.to, data: result_data } end
params()
click to toggle source
# File lib/smess/outputs/global_mouth.rb, line 30 def params @params ||= { username: username, msisdn: "+#{sms.to}", body: sms.message.strip_nongsm_chars.encode("ISO-8859-1"), originator: from, ref: message_id, dlr: "true" } end
url()
click to toggle source
# File lib/smess/outputs/global_mouth.rb, line 26 def url config.fetch(:url) || "https://mcm.globalmouth.com:8443/api/mcm" end