Module: IpAddressServices
- Defined in:
- lib/ipaddressservices.rb
Class Attribute Summary collapse
-
.apikey ⇒ Object
Returns the value of attribute apikey.
-
.data_format ⇒ Object
Returns the value of attribute data_format.
Class Method Summary collapse
- .base_uri ⇒ Object
- .get_ip_address(ipaddress) ⇒ Object
- .zip_codes_in_radius_of_ip(ipaddress, rad) ⇒ Object
Class Attribute Details
.apikey ⇒ Object
Returns the value of attribute apikey.
15 16 17 |
# File 'lib/ipaddressservices.rb', line 15 def apikey @apikey end |
.data_format ⇒ Object
Returns the value of attribute data_format.
14 15 16 |
# File 'lib/ipaddressservices.rb', line 14 def data_format @data_format end |
Class Method Details
.base_uri ⇒ Object
17 18 19 20 |
# File 'lib/ipaddressservices.rb', line 17 def base_uri fmt = data_format == :xml ? 'xml' : 'json' "#{@base_uri}/#{fmt}" end |
.get_ip_address(ipaddress) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/ipaddressservices.rb', line 22 def get_ip_address(ipaddress) #/{apikey}/{ipadderss} response = Typhoeus::Request.get( "#{base_uri}/ipaddress.svc/GetIP?apikey=#{apikey}&ip=#{ipaddress}") if response.code == 200 if data_format == :xml j = MultiXml.parse(response.body) raise "BAD API KEY" if j.first[1].first[1]["City"] == nil else j = JSON::parse(response.body) raise "BAD API KEY" if j.first[1]["City"] == nil end j elsif response.code == 404 nil else raise response.body end end |
.zip_codes_in_radius_of_ip(ipaddress, rad) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/ipaddressservices.rb', line 41 def zip_codes_in_radius_of_ip(ipaddress, rad) response = Typhoeus::Request.get( "#{base_uri}/ipaddress.svc/GetZipsInRadiusOfIP?apikey=#{apikey}&ip=#{ipaddress}&radius=#{rad}") if response.code == 200 if data_format == :xml j = MultiXml.parse(response.body) raise "BAD API KEY" if j.first[1].first[1].first[1]["PostalCode"] == nil else j = JSON::parse(response.body) raise "BAD API KEY" if j["RetrieveZipCodesInRadiusOfIPResult"] == nil end j elsif response.code == 404 nil else raise response.body end end |