class Smshelper::Api::Mediaburst

Public Class Methods

new(*args) click to toggle source
Calls superclass method Smshelper::Api::Base::new
# File lib/smshelper/api/mediaburst.rb, line 6
def initialize(*args)
  config = args.shift
  add_query_options! :username => config.mediaburst[:uname], :password => config.mediaburst[:passwd]
  super
end

Public Instance Methods

get_balance() click to toggle source
# File lib/smshelper/api/mediaburst.rb, line 26
def get_balance
  {'Messages' => (post 'credit.aspx').split(' ').last}
end
get_callback_response(args = {}) click to toggle source
# File lib/smshelper/api/mediaburst.rb, line 34
def get_callback_response(args = {})
  DeliveryReport.new(
                     :message_id => args['msg_id'],
                     :timestamp => Time.now,
                     :delivered => ((args['status'] =~ /DELIVRD/) ? true : false),
                     :original_params => args
                     )
end
get_status(message_id) click to toggle source
# File lib/smshelper/api/mediaburst.rb, line 30
def get_status(message_id)
  raise NotImplementedError, "Sms status checks unsupported by #{self.class.name}"
end
send_message(message) click to toggle source
# File lib/smshelper/api/mediaburst.rb, line 12
def send_message(message)
  #TODO: rewrite Mediaburst::API.process_response to provide
  #full response data, so that msg_id could be had in @sent_message_ids
  message.utf_8 ? (q = {:msgtype => 'ucs2'}) : (q = {:msgtype => 'text'})
  options = {
    :to => message.recipient,
    :content => message.text,
    :concat => '3',
    :from => message.sender}
  options = options.merge(@extra_options) unless @extra_options.nil?
  resp = (post 'send.aspx', :extra_query => options.merge(q)).to_s.split(' ').last.strip
  process_response_code(resp) ? resp.to_s : (raise ErrorDuringSend, "#{self.class.name} does not provide detailed response codes")
end

Private Instance Methods

process_response_code(code) click to toggle source
# File lib/smshelper/api/mediaburst.rb, line 45
def process_response_code(code)
  (code =~ /Error/) ? false : true
end