module EventMachine::Smsified::Helpers

Private Instance Methods

build_query_string(options) click to toggle source

Builds the necessary query string

# File lib/em-smsified/helpers.rb, line 36
def build_query_string(options)
  options = camelcase_keys(options)
  
  query = ''

  options.each do |k,v|
    if k == :address
      if RUBY_VERSION.to_f == 1.9
        if v.instance_of?(String)
          v.each_line { |address| query += "#{ '&' if query != '' }address=#{CGI.escape address}" }
        else
          v.each { |address| query += "#{ '&' if query != '' }address=#{CGI.escape address}" }
        end
      else
        v.each { |address| query += "#{ '&' if query != '' }address=#{CGI.escape address}" }
      end
    else
      query += "#{ '&' if query != '' }#{k.to_s}=#{CGI.escape v}"
    end
  end

  query
end
camelcase_keys(options) click to toggle source

Camelcases the options

# File lib/em-smsified/helpers.rb, line 8
def camelcase_keys(options)
  options = options.clone
  
  if options[:destination_address]
    options[:destinationAddress] = options[:destination_address]
    options.delete(:destination_address)
  end
  
  if options[:notify_url]
    options[:notifyURL] = options[:notify_url]
    options.delete(:notify_url)
  end
  
  if options[:client_correlator]
    options[:clientCorrelator] = options[:client_correlator]
    options.delete(:client_correlator)
  end
  
  if options[:callback_data]
    options[:callbackData] = options[:callback_data]
    options.delete(:callback_data)
  end
  
  options
end