ip2location_ruby 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -14,7 +14,7 @@ require 'rake'
14
14
  require 'jeweler'
15
15
  Jeweler::Tasks.new do |gem|
16
16
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
- gem.name = "ip2location"
17
+ gem.name = "ip2location_ruby"
18
18
  gem.homepage = "http://github.com/zhu1230/ip2location"
19
19
  gem.license = "MIT"
20
20
  gem.summary = %Q{the ip2location ruby library}
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.2.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "ip2location_ruby"
8
- s.version = "0.1.2"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Vincent.Z"]
12
- s.date = "2013-05-15"
12
+ s.date = "2013-05-16"
13
13
  s.description = "the ip2location ruby library"
14
14
  s.email = "zhu1230@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -27,7 +27,7 @@ Gem::Specification.new do |s|
27
27
  "VERSION",
28
28
  "ip2location_ruby.gemspec",
29
29
  "lib/ip2location_ruby.rb",
30
- "lib/ip2location_ruby//database_config.rb",
30
+ "lib/ip2location_ruby/database_config.rb",
31
31
  "lib/ip2location_ruby/i2l_float_data.rb",
32
32
  "lib/ip2location_ruby/i2l_ip_data.rb",
33
33
  "lib/ip2location_ruby/i2l_string_data.rb",
@@ -1,6 +1,7 @@
1
- class Ip2LocationRecord <BinData::Record
1
+ class Ip2LocationRecord
2
2
  def self.init(database, ip_version)
3
- Ip2LocationRecord.class_eval {
3
+ cls = Class.new(BinData::Record)
4
+ cls.class_eval {
4
5
  endian :little
5
6
  i2l_ip_data :ip_from, :ip_version => ip_version
6
7
 
@@ -16,6 +17,7 @@ class Ip2LocationRecord <BinData::Record
16
17
  end
17
18
 
18
19
  i2l_ip_data :ip_to, :ip_version => ip_version
19
- }
20
+ }
21
+ cls
20
22
  end
21
23
  end
@@ -9,7 +9,7 @@ require 'ip2location_ruby/i2l_ip_data'
9
9
  require 'ip2location_ruby/ip2location_record'
10
10
 
11
11
  class Ip2location
12
- attr_accessor :v4, :file, :db_index, :count, :base_addr, :ipno, :count, :record, :database, :columns, :ip_version
12
+ attr_accessor :record_class, :v4, :file, :db_index, :count, :base_addr, :ipno, :count, :record, :database, :columns, :ip_version
13
13
 
14
14
  def open(url)
15
15
  self.file = File.open(File.expand_path url, 'rb')
@@ -20,7 +20,7 @@ class Ip2location
20
20
  self.columns = i2l.databasecolumn + 0
21
21
  self.database = DbConfig.setup_database(self.db_index)
22
22
  self.ip_version = (i2l.ipversion == 0 ? 4 : 6)
23
- Ip2LocationRecord.init database, self.ip_version
23
+ self.record_class = (Ip2LocationRecord.init database, self.ip_version)
24
24
  self
25
25
  end
26
26
 
@@ -65,7 +65,7 @@ class Ip2location
65
65
  else
66
66
  from_base = ( base_addr + mid * col_length)
67
67
  file.seek(from_base)
68
- return Ip2LocationRecord.read(file)
68
+ return self.record_class.read(file)
69
69
  end
70
70
  end
71
71
 
@@ -2,11 +2,9 @@ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
3
  describe "Ip2location" do
4
4
  it "work correctly with ipv4" do
5
-
6
5
  i2l = Ip2location.new.open(File.dirname(__FILE__) + "/assets/IP-COUNTRY-SAMPLE.bin")
7
6
  record = i2l.get_all('13.5.10.6')
8
7
  record.should_not be_nil
9
8
  record.country_short.should == 'US'
10
9
  end
11
-
12
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ip2location_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-15 00:00:00.000000000 Z
12
+ date: 2013-05-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bindata
@@ -141,7 +141,7 @@ files:
141
141
  - VERSION
142
142
  - ip2location_ruby.gemspec
143
143
  - lib/ip2location_ruby.rb
144
- - lib/ip2location_ruby//database_config.rb
144
+ - lib/ip2location_ruby/database_config.rb
145
145
  - lib/ip2location_ruby/i2l_float_data.rb
146
146
  - lib/ip2location_ruby/i2l_ip_data.rb
147
147
  - lib/ip2location_ruby/i2l_string_data.rb
@@ -163,6 +163,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
163
163
  - - ! '>='
164
164
  - !ruby/object:Gem::Version
165
165
  version: '0'
166
+ segments:
167
+ - 0
168
+ hash: -1108149545426494590
166
169
  required_rubygems_version: !ruby/object:Gem::Requirement
167
170
  none: false
168
171
  requirements: