class Clickatellsend::Request

Public Class Methods

new() click to toggle source
# File lib/clickatellsend/clickatell_request.rb, line 5
      def initialize()
  @url = Clickatellsend.config[:url]
        @user = Clickatellsend.config[:user]
        @password = Clickatellsend.config[:password]
        @api_id = Clickatellsend.config[:api_id]
end

Public Instance Methods

auth() click to toggle source
# File lib/clickatellsend/clickatell_request.rb, line 41
def auth
     response(RestClient.get "#{@url}http/auth", {:params => options({})})
end
get_balance() click to toggle source
# File lib/clickatellsend/clickatell_request.rb, line 17
def get_balance
     response(RestClient.get "#{@url}http/getbalance", {:params => options({})})
end
get_msg_charge(params) click to toggle source

:apimsgid

# File lib/clickatellsend/clickatell_request.rb, line 22
def get_msg_charge(params)
     response(RestClient.get "#{@url}http/getmsgcharge", {:params => options(params)})
end
get_msg_status(params) click to toggle source

:apimsgid

# File lib/clickatellsend/clickatell_request.rb, line 32
def get_msg_status(params)
     response(RestClient.get "#{@url}http/querymsg", {:params => options(params)})
end
prevent_expiring(params) click to toggle source

:session_id

# File lib/clickatellsend/clickatell_request.rb, line 46
def prevent_expiring(params)
     response(RestClient.get "#{@url}http/ping", {:params => params})
end
route_coverage(params) click to toggle source

:msisdn

# File lib/clickatellsend/clickatell_request.rb, line 27
def route_coverage(params)
     response(RestClient.get "#{@url}utils/routecoverage", {:params => options(params)})
end
send_msg(params) click to toggle source

:to, :text, :deliv_time

# File lib/clickatellsend/clickatell_request.rb, line 13
def send_msg(params)
              response(RestClient.get "#{@url}http/sendmsg", {:params => options(params)})
end
stop_msg(params) click to toggle source

:apimsgid

# File lib/clickatellsend/clickatell_request.rb, line 37
def stop_msg(params)
     response(RestClient.get "#{@url}http/delmsg", {:params => options(params)})
end

Private Instance Methods

options(params) click to toggle source
# File lib/clickatellsend/clickatell_request.rb, line 52
def options(params)
        if params[:session_id]
                params.merge({:api_id => @api_id})
        else
                params.merge({:user => @user, :password => @password, :api_id => @api_id})
        end
end
response(request) click to toggle source
# File lib/clickatellsend/clickatell_request.rb, line 60
def response(request)
        if request.code == 200
                response = request.split("\n").map{|l| l.scan /(\w+):\s($|[\w, \d.]+)(?:\s|$)/}.map &:to_h
                if response.size == 1
                        response[0]
                end
       else
               {:ERR => "Could not connect to the API, double check your settings and internet connection"}
       end
end