lookupip 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: df41fbd9ab23aef2864f89e387d68297e4db6e80
4
- data.tar.gz: c9150cb9ebff076f494a10d8eb6f0141ce580976
3
+ metadata.gz: 07eb1a9f3efa25cd53ebb955b92e6112dcf1e560
4
+ data.tar.gz: 4f12d27a140f64fbd4e38cff08572b9cbccae596
5
5
  SHA512:
6
- metadata.gz: 99178c47c07ac3f749c379175dd5965dafe25f05302cb90c94c0877233a71b6b5805bf0f83a20f4343370e04784b74af2739168d02a70b0c32c1661d9b9f290e
7
- data.tar.gz: 5bcb2e0b9c887c7f292d117ac282c2effb9156a79d6494accad5b701924f8311474320826126aee91e068a40e3950266ba9812d521fe1576b3017970c758fe51
6
+ metadata.gz: '087ca7088feb7578715db26455bec190924a6bb851b2849ef4045763691f909d95d7bf640557d0ed86bf78fc952773719ce2a523955d48a6ef867a839629a3ff'
7
+ data.tar.gz: 6845dd6d763c0c3c343dc2e42112fe15dd70823c7c07c4a51834d1c6c11df4c9a649298b67040fff880b807adaac0c7b1e6c2191303994b68fb112baf701577f
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # Lookupip
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/lookupip`. To experiment with that code, run `bin/console` for an interactive prompt.
4
-
5
- TODO: Delete this and the text above, and describe your gem
3
+ Easy way to find ip address informations.
6
4
 
7
5
  ## Installation
8
6
 
@@ -26,21 +24,20 @@ Or install it yourself as:
26
24
  require 'lookupip'
27
25
 
28
26
  # IPv4
29
- ip_info = LookupIP::V4.address '30.104.194.91'
30
- puts ip_info.country #=> "United States"
31
- puts ip_info.city #=> "Columbus"
32
- puts ip_info.isp #=> "DoD Network Information Center"
33
- ```
34
27
 
35
- ## Development
28
+ ip_info = LookupIP::V4.address '30.104.194.91'
36
29
 
37
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
+ puts ip_info.country #=> "United States"
31
+ puts ip.state #=> "Ohio"
32
+ puts ip_info.city #=> "Columbus"
33
+ puts ip_info.isp #=> "DoD Network Information Center"
34
+ puts ip_info.code #=> "US"
35
+ ```
38
36
 
39
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
40
37
 
41
38
  ## Contributing
42
39
 
43
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/lookupip.
40
+ Bug reports and pull requests are welcome on GitHub at https://github.com/0x2C6/LookupIP.
44
41
 
45
42
  ## License
46
43
 
@@ -1,16 +1,24 @@
1
1
  require 'net/http'
2
2
  require 'nokogiri'
3
3
  require 'uri'
4
+ require 'json'
4
5
 
5
6
  module LookupIP
6
7
  class V4
7
- attr_reader :ip, :country, :state, :city, :isp
8
+ attr_reader :ip, :country, :state, :city, :isp, :code
8
9
  def initialize(ip, country, state, city, isp)
9
10
  @ip = ip
10
11
  @country = country
11
12
  @state = state
12
13
  @city = city
13
14
  @isp = isp
15
+ @code = get_country_codes(@country)
16
+ end
17
+
18
+ def get_country_codes(country)
19
+ @@country_code = JSON.parse(Net::HTTP.get(URI(
20
+ 'https://pkgstore.datahub.io/core/country-list/data_json/data/8c458f2d15d9f2119654b29ede6e45b8/data_json.json'
21
+ ))).find{ |c| c['Name'] == country }['Code']
14
22
  end
15
23
 
16
24
  def self.address(ip)
@@ -18,12 +26,12 @@ module LookupIP
18
26
  uri = URI("https://www.iplocation.net/?query=#{@ip}&submit=IP+Lookup")
19
27
  page = Net::HTTP.get(uri)
20
28
  page = Nokogiri::HTML(page)
21
- @results = LookupIP::V4.new(
29
+ @@results = LookupIP::V4.new(
22
30
  @ip,
23
31
  page.xpath('//*[@id="wrapper"]/section/div/div/div[1]/div[8]/div/table/tbody[1]/tr/td[2]').text.strip,
24
32
  page.xpath('//*[@id="wrapper"]/section/div/div/div[1]/div[8]/div/table/tbody[1]/tr/td[3]').text.strip,
25
33
  page.xpath('//*[@id="wrapper"]/section/div/div/div[1]/div[8]/div/table/tbody[1]/tr/td[4]').text.strip,
26
- page.xpath('//*[@id="wrapper"]/section/div/div/div[1]/div[8]/div/table/tbody[2]/tr/td[1]').text.strip
34
+ page.xpath('//*[@id="wrapper"]/section/div/div/div[1]/div[8]/div/table/tbody[2]/tr/td[1]').text.strip,
27
35
  )
28
36
  end
29
37
  end
@@ -1,3 +1,3 @@
1
1
  module LookupIP
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lookupip
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Farhad
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-04-12 00:00:00.000000000 Z
11
+ date: 2018-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler