class NetGSM::SMS
Public Class Methods
new(auth_options={})
click to toggle source
# File lib/netgsm_sms/sms.rb, line 38 def initialize(auth_options={}) @auth_options = auth_options end
parse_response(body)
click to toggle source
# File lib/netgsm_sms/sms.rb, line 61 def self.parse_response(body) body.split(" ") end
send_mass_sms(message_array = [], opts={})
click to toggle source
message_array format [[phone_number, ‘sms message body’]]
# File lib/netgsm_sms/sms.rb, line 17 def self.send_mass_sms(message_array = [], opts={}) valid_options = opts.only(:from, :start_date, :stop_date, :turkish) valid_options.merge!(:start_date => NetGSM::DATE.now) unless valid_options[:start_date] valid_options.merge!(:stop_date => NetGSM::DATE.n_hour_from_now(1)) unless valid_options[:stop_date] body = NetGSM::XmlBody.send_mass_sms_body(message_array, valid_options) response = send_request(body) result = parse_response(response) return {code: result[0], sms_id: result[1]} end
send_request(body)
click to toggle source
# File lib/netgsm_sms/sms.rb, line 42 def self.send_request(body) header = { "Content-Type" => "text/xml; charset=utf-8", "Content-Length" => body.bytesize.to_s, "Accept" => "*/*" } request = Net::HTTP::Post.new('/xmlbulkhttppost.asp', header) request.body = body #puts "Request #{@header} #{request.body} " response = Net::HTTP.new(NetGSM.configuration.host, NetGSM.configuration.port).start {|http| http.request(request) } #puts "Response #{response.code} #{response.message}: #{response.body}" # parser = XMLRPC::XMLParser::REXMLStreamParser::StreamListener.new # parser.parse(response.body) return response.body end
send_sms(recipient, message_text, opts={})
click to toggle source
# File lib/netgsm_sms/sms.rb, line 3 def self.send_sms(recipient, message_text, opts={}) valid_options = opts.only(:from, :start_date, :stop_date, :turkish) valid_options.merge!(:start_date => NetGSM::DATE.now) unless valid_options[:start_date] valid_options.merge!(:stop_date => NetGSM::DATE.n_hour_from_now(1)) unless valid_options[:stop_date] body = NetGSM::XmlBody.send_sms_body(recipient, message_text, valid_options) response = send_request(body) result = parse_response(response) return {code: result[0], sms_id: result[1]} end
Public Instance Methods
check_balance()
click to toggle source
# File lib/netgsm_sms/sms.rb, line 34 def check_balance 'OK Balance' end
sms_status()
click to toggle source
# File lib/netgsm_sms/sms.rb, line 30 def sms_status 'OK status' end