class WhizClient::Client
Constants
- GEO_API_URL
- INDIAN_API_URL
Public Class Methods
request(params)
click to toggle source
# File lib/whiz_client/client.rb, line 21 def request(params) request_type = params[:api_type] url = case request_type when 'indian' then construct_indian_api_url(params) when 'geo' then construct_geo_api_url(params) end begin RestClient.get URI.encode(url) rescue URI::InvalidURIError raise WhizResponseError.new('Invalid Url', 500) rescue => error raise WhizResponseError.new("Error: #{error.message}", 500) end end
Private Class Methods
construct_geo_api_url(params)
click to toggle source
# File lib/whiz_client/client.rb, line 50 def construct_geo_api_url(params) raise WhizResponseError.new('WhizClient::Client::APP_KEY is not defined', 500) unless defined? APP_KEY url = "#{GEO_API_URL}#{params[:method_name]}?AppKey=#{APP_KEY}" url += "&zid=#{params[:time_zone]}" if params.has_key? :time_zone url end
construct_indian_api_url(params)
click to toggle source
# File lib/whiz_client/client.rb, line 39 def construct_indian_api_url(params) raise WhizResponseError.new('WhizClient::Client::APP_KEY is not defined', 500) unless defined? APP_KEY url = "#{INDIAN_API_URL}#{params[:method_name]}?AppKey=#{APP_KEY}" url += "&stateid=#{params[:stateid]}" if params.has_key? :stateid url += "&code=#{params[:std_code]}" if params.has_key? :std_code url += "&search=#{params[:location]}" if params.has_key? :location url += "&pin=#{params[:postal_code]}" if params.has_key? :postal_code url end