class Ip2locationWebService
Attributes
ws_api_key[RW]
ws_package[RW]
ws_use_ssl[RW]
Public Class Methods
new(api_key, package, use_ssl)
click to toggle source
# File lib/ip2location_ruby.rb, line 764 def initialize(api_key, package, use_ssl) if !api_key.match(/^[0-9A-Z]{10}$/) && api_key != 'demo' raise Exception.new "Please provide a valid IP2Location web service API key." end if !package.match(/^WS[0-9]+$/) package = 'WS1' end if use_ssl == '' use_ssl = true end self.ws_api_key = api_key self.ws_package = package self.ws_use_ssl = use_ssl end
Public Instance Methods
get_credit()
click to toggle source
# File lib/ip2location_ruby.rb, line 795 def get_credit() if self.ws_use_ssl response = Net::HTTP.get(URI("https://api.ip2location.com/v2/?key=" + self.ws_api_key + "&check=true")) else response = Net::HTTP.get(URI("http://api.ip2location.com/v2/?key=" + self.ws_api_key + "&check=true")) end parsed_response = JSON.parse(response) if parsed_response.nil? return 0 end if parsed_response["response"].nil? return 0 end return parsed_response["response"] end
lookup(ip, add_ons, language)
click to toggle source
# File lib/ip2location_ruby.rb, line 779 def lookup(ip, add_ons, language) if self.ws_use_ssl response = Net::HTTP.get(URI("https://api.ip2location.com/v2/?key=" + self.ws_api_key + "&ip=" + ip + "&package=" + self.ws_package + "&format=json&addon=" + add_ons + "&lang=" + language)) else response = Net::HTTP.get(URI("http://api.ip2location.com/v2/?key=" + self.ws_api_key + "&ip=" + ip + "&package=" + self.ws_package + "&format=json&addon=" + add_ons + "&lang=" + language)) end parsed_response = JSON.parse(response) if parsed_response.nil? return false end if parsed_response["country_code"].nil? raise Exception.new "Error: " + parsed_response["response"] end return parsed_response end