class Smshelper::Api::Clickatell
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
Smshelper::Api::Base::new
# File lib/smshelper/api/clickatell.rb, line 6 def initialize(*args) config = args.shift add_query_options! :api_id => config.clickatell[:api_key], :user => config.clickatell[:uname], :password => config.clickatell[:passwd] super end
Public Instance Methods
get_balance()
click to toggle source
# File lib/smshelper/api/clickatell.rb, line 33 def get_balance {'Credits' => (post 'getbalance').split(':').last.strip} end
get_status(message_id)
click to toggle source
# File lib/smshelper/api/clickatell.rb, line 37 def get_status(message_id) resp = (post 'querymsg', :extra_query => {:apimsgid => message_id}).split(':') @sent_message_statuses[message_id] = [] if process_response_code(resp.first.strip) @sent_message_statuses[message_id] << {"Part 01" => @response_code.clickatell(resp.last.strip)} {message_id => @sent_message_statuses[message_id]} else raise ErrorDuringSend, resp.last.strip end end
send_message(message)
click to toggle source
# File lib/smshelper/api/clickatell.rb, line 12 def send_message(message) if message.utf_8 message.to_hex_be q = {:unicode => '1', :req_feat => '40'} else q = {:req_feat => '32'} end options = { :to => message.recipient, :text => message.text, :from => message.sender, :queue => '1', :escalate => '1', :validity => '1', :concat => '3'} options = options.merge(@extra_options) unless @extra_options.nil? resp = (post 'sendmsg', :extra_query => options.merge(q)).split(':') process_response_code(resp.first.strip) ? (@sent_message_ids << resp.last.strip; resp.last.strip) : (raise ErrorDuringSend, resp.last.strip) end
Private Instance Methods
process_response_code(code)
click to toggle source
# File lib/smshelper/api/clickatell.rb, line 49 def process_response_code(code) (code == 'ID') ? true : false end