class Smshelper::Api::Aql
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/smshelper/api/aql.rb, line 6 def initialize(*args) config = args.shift add_query_options! :username => config.aql[:uname], :password => config.aql[:passwd] super end
Public Instance Methods
get_balance()
click to toggle source
# File lib/smshelper/api/aql.rb, line 27 def get_balance {'Credits' => (post 'postmsg.php', :extra_query => {:cmd => :credit}).split('=').last} end
get_callback_response(args = {})
click to toggle source
# File lib/smshelper/api/aql.rb, line 35 def get_callback_response(args = {}) DeliveryReport.new( :message_id => args['message_id'], :timestamp => Time.now, :delivered => ((args['status'] == '1') ? true : false), :original_params => args ) end
get_status()
click to toggle source
# File lib/smshelper/api/aql.rb, line 31 def get_status raise NotImplementedError, "Aql does not implement status check" end
send_message(message)
click to toggle source
# File lib/smshelper/api/aql.rb, line 12 def send_message(message) uuid = (Digest::CRC32.hexdigest @uuid.generate).unpack('U*').collect {|x| sprintf '%02X', x}.join message.utf_8 ? (q = {:allow_unicode => '1'}) : (q = {}) options = { :destination => message.recipient, :originator => message.sender, :message => message.text} options = options.merge(@extra_options) unless @extra_options.nil? # raise ArgumentError, ":dlr_url is required to track messages" unless options.include?(:dlr_url) (options[:dlr_url] = options[:dlr_url] + "?status=%code&destination=%dest&message_id=#{uuid}") if options.include?(:dlr_url) resp = (post 'sms_gw.php', :extra_query => options.merge(q)) process_response_code(resp.to_s) ? (@sent_message_ids << uuid; uuid) : (raise ErrorDuringSend, resp) end
Private Instance Methods
massage_dlr_url(url)
click to toggle source
# File lib/smshelper/api/aql.rb, line 49 def massage_dlr_url(url) end
process_response_code(code)
click to toggle source
# File lib/smshelper/api/aql.rb, line 45 def process_response_code(code) (code =~ /SMS successfuly queued/) ? true : false end