Class: Ip2locationWebService
- Inherits:
-
Object
- Object
- Ip2locationWebService
- Defined in:
- lib/ip2location_ruby.rb
Instance Attribute Summary collapse
-
#ws_api_key ⇒ Object
Returns the value of attribute ws_api_key.
-
#ws_package ⇒ Object
Returns the value of attribute ws_package.
-
#ws_use_ssl ⇒ Object
Returns the value of attribute ws_use_ssl.
Instance Method Summary collapse
- #get_credit ⇒ Object
-
#initialize(api_key, package, use_ssl) ⇒ Ip2locationWebService
constructor
A new instance of Ip2locationWebService.
- #lookup(ip, add_ons, language) ⇒ Object
Constructor Details
#initialize(api_key, package, use_ssl) ⇒ Ip2locationWebService
Returns a new instance of Ip2locationWebService.
830 831 832 833 834 835 836 837 838 839 840 841 842 843 |
# File 'lib/ip2location_ruby.rb', line 830 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 |
Instance Attribute Details
#ws_api_key ⇒ Object
Returns the value of attribute ws_api_key.
828 829 830 |
# File 'lib/ip2location_ruby.rb', line 828 def ws_api_key @ws_api_key end |
#ws_package ⇒ Object
Returns the value of attribute ws_package.
828 829 830 |
# File 'lib/ip2location_ruby.rb', line 828 def ws_package @ws_package end |
#ws_use_ssl ⇒ Object
Returns the value of attribute ws_use_ssl.
828 829 830 |
# File 'lib/ip2location_ruby.rb', line 828 def ws_use_ssl @ws_use_ssl end |
Instance Method Details
#get_credit ⇒ Object
861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 |
# File 'lib/ip2location_ruby.rb', line 861 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) ⇒ Object
845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 |
# File 'lib/ip2location_ruby.rb', line 845 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 |