ipparse 0.0.2 → 0.0.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.
Files changed (38) hide show
  1. data/data/0.txt +6910 -6910
  2. data/data/116.txt +1068 -1068
  3. data/data/117.txt +495 -495
  4. data/data/118.txt +307 -307
  5. data/data/119.txt +413 -413
  6. data/data/121.txt +1379 -1379
  7. data/data/122.txt +752 -752
  8. data/data/123.txt +1018 -1018
  9. data/data/124.txt +1572 -1572
  10. data/data/125.txt +1401 -1401
  11. data/data/192.txt +1353 -1353
  12. data/data/193.txt +1093 -1093
  13. data/data/194.txt +5066 -5066
  14. data/data/195.txt +5772 -5772
  15. data/data/202.txt +4786 -4786
  16. data/data/203.txt +1392 -1392
  17. data/data/210.txt +2371 -2371
  18. data/data/211.txt +4043 -4043
  19. data/data/212.txt +3112 -3112
  20. data/data/213.txt +1244 -1244
  21. data/data/217.txt +1014 -1014
  22. data/data/218.txt +25238 -25238
  23. data/data/219.txt +7886 -7886
  24. data/data/220.txt +0 -0
  25. data/data/221.txt +7405 -7405
  26. data/data/222.txt +9953 -9953
  27. data/data/58.txt +2359 -2359
  28. data/data/59.txt +1924 -1924
  29. data/data/60.txt +2967 -2967
  30. data/data/61.txt +15853 -15853
  31. data/data/62.txt +1489 -1489
  32. data/data/80.txt +757 -757
  33. data/data/81.txt +549 -549
  34. data/ipparse.gemspec +1 -1
  35. data/lib/ipparse.rb +9 -12
  36. data/lib/version.rb +1 -1
  37. data/test/test_ipparse.rb +2 -2
  38. metadata +1 -1
data/ipparse.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{ipparse}
5
- s.version = "0.0.2"
5
+ s.version = "0.0.3"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Zhang Jinzhu"]
data/lib/ipparse.rb CHANGED
@@ -12,8 +12,8 @@ class IPParse
12
12
  @@data[f] ||= File.exist?(file) ? File.new(file).to_a : false
13
13
 
14
14
  if @@data[f]
15
- addr = dichotomizing(@@data[f],f == 0 ? ip : ip[4,ip.length])
16
- return addr.strip if addr
15
+ addr = dichotomizing(@@data[f],ip)
16
+ return addr if addr
17
17
  end
18
18
  end
19
19
 
@@ -22,21 +22,18 @@ class IPParse
22
22
 
23
23
  protected
24
24
  def self.dichotomizing(arg,ip)
25
- size = arg.size
26
- cen = size/2
25
+ cen = arg.size/2
26
+ cur = arg[cen]
27
27
 
28
- # '001.053.000.000 001.153.255.255 IANA' < '001.053.000.000' + '1'
29
- # reduce 'string'.split call
30
- return dichotomizing(arg[0...cen],ip) if size != 1 && (arg[cen] > ip + '1')
31
- x = arg[cen].split(/\s+/,3)
32
- return (x[0]..x[1]).include?(ip) ? x[2] : false if size == 1
33
- return dichotomizing(arg[cen...size],ip) if x[1] < ip
34
- return x[2]
28
+ return (cur[0,15]..cur[16,15]).include?(ip) ? cur[32...-1] : false if cen == 0
29
+ return dichotomizing(arg[0...cen],ip) if cur[0,15] > ip
30
+ return dichotomizing(arg[cen..-1],ip) if cur[16,15] < ip
31
+ return arg[cen][32...-1]
35
32
  end
36
33
 
37
34
  def self.format(ip)
38
35
  ip.to_s.split('.').inject([]) do |s,x|
39
- s << [('%03s' % x).gsub(/ /,'0')]
36
+ s << x.rjust(3,'0')
40
37
  end.join('.')
41
38
  end
42
39
  end
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module IPParse
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
data/test/test_ipparse.rb CHANGED
@@ -5,9 +5,9 @@ class TestIPParse < Test::Unit::TestCase
5
5
  def test_parse
6
6
  assert_equal IPParse.parse('222.153.3'),false
7
7
  ips = {
8
- "178.61.84.32 " => "Unknown",
8
+ "178.61.84.32" => "Unknown",
9
9
  "218.58.88.175" => "山东省青岛市开发区",
10
- "212.1.1.1 " => "意大利",
10
+ "212.1.1.1" => "意大利",
11
11
  "192.245.148.0" => "阿尔及利亚",
12
12
  "116.254.254.0" => "广东省广州市",
13
13
  "116.254.254.0" => "广东省广州市",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ipparse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zhang Jinzhu