class Smshelper::Api::Mycoolsms
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
Smshelper::Api::Base::new
# File lib/smshelper/api/mycoolsms.rb, line 6 def initialize(*args) config = args.shift add_query_options! :username => config.mycoolsms[:uname], :password => config.mycoolsms[:passwd] super end
Public Instance Methods
get_balance()
click to toggle source
# File lib/smshelper/api/mycoolsms.rb, line 23 def get_balance {'EUR' => JSON.parse(post 'api-socket.php', :extra_query => {:function => 'getBalance'})['balance']} end
get_callback_response(args = {})
click to toggle source
# File lib/smshelper/api/mycoolsms.rb, line 35 def get_callback_response(args = {}) data = JSON.parse args[:request_body] DeliveryReport.new( :message_id => data['smsid'], :timestamp => Time.now, :delivered => ((data['status'] == 'SMS_STATUS_DELIVERED') ? true : false), :original_params => args ) end
get_status()
click to toggle source
# File lib/smshelper/api/mycoolsms.rb, line 27 def get_status raise NotImplementedError, "Sms status checks unsupported by #{self.class.name}" end
hlr_lookup(number)
click to toggle source
# File lib/smshelper/api/mycoolsms.rb, line 31 def hlr_lookup(number) JSON.parse(post 'api-socket.php', :extra_query => {:function => 'doHlrLookup', :number => number}) end
send_message(message)
click to toggle source
# File lib/smshelper/api/mycoolsms.rb, line 12 def send_message(message) options = { :number => message.recipient, :message => message.text, :senderid => message.sender, :function => 'sendSms'} options = options.merge(@extra_options) unless @extra_options.nil? resp = JSON.parse(post 'api-socket.php', :extra_query => options) process_response_code(resp) ? (@sent_message_ids << resp['smsid']; resp['smsid']) : (raise ErrorDuringSend, resp) end
Private Instance Methods
process_response_code(code)
click to toggle source
# File lib/smshelper/api/mycoolsms.rb, line 46 def process_response_code(code) code['success'] end