qqwry 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.
data/README.md CHANGED
@@ -18,7 +18,7 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
- At First, you need to get the latest QQWry IP database from http://www.cz88.net
21
+ At first, you need to get the latest QQWry IP database from http://www.cz88.net
22
22
 
23
23
  ````ruby
24
24
  require 'rubygems'
@@ -2,7 +2,7 @@
2
2
  require 'rubygems'
3
3
  require 'bundler/setup'
4
4
  require 'bindata'
5
- require 'iconv'
5
+ require 'iconv' unless RUBY_VERSION.respond_to?(:encode)
6
6
 
7
7
  module QQWry
8
8
  class Record
@@ -58,7 +58,11 @@ module QQWry
58
58
 
59
59
  def conv(str)
60
60
  begin
61
- Iconv::conv('UTF-8', 'GBK', str)
61
+ if str.respond_to?(:encode)
62
+ str.force_encoding('GBK').encode('UTF-8')
63
+ else
64
+ Iconv::conv('UTF-8', 'GBK', str)
65
+ end
62
66
  rescue
63
67
  str = str[0, str.length - 1]
64
68
  retry
@@ -1,4 +1,4 @@
1
1
 
2
2
  module QQWry
3
- VERSION = '0.0.2'
3
+ VERSION = '0.0.3'
4
4
  end
@@ -62,7 +62,9 @@ class TC_Record_Abnormal < Test::Unit::TestCase
62
62
  def test_invalid_encoding
63
63
  io = StringIO.new("\x04\x03\x02\x01\xd6\xea\x96\x00\x96\x00")
64
64
  r = QQWry::Record.new(0, io, 0)
65
- assert_equal("\xe6\xa0\xaa", r.country.to_s)
65
+ s = "\xe6\xa0\xaa"
66
+ s = s.force_encoding('UTF-8') if s.respond_to?(:force_encoding)
67
+ assert_equal(s, r.country.to_s)
66
68
  assert_equal('', r.area.to_s)
67
69
  end
68
70
  end
metadata CHANGED
@@ -1,89 +1,88 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: qqwry
3
- version: !ruby/object:Gem::Version
4
- hash: 27
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 0
9
- - 2
10
- version: 0.0.2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Changli Gao
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-12-18 00:00:00 +08:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2012-12-25 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: bindata
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
33
22
  type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: rake
37
23
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
39
25
  none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 3
44
- segments:
45
- - 0
46
- version: "0"
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
47
38
  type: :development
48
- version_requirements: *id002
49
- - !ruby/object:Gem::Dependency
50
- name: bundler
51
39
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
53
41
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 3
58
- segments:
59
- - 0
60
- version: "0"
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: bundler
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
61
54
  type: :development
62
- version_requirements: *id003
63
- - !ruby/object:Gem::Dependency
64
- name: bindata
65
55
  prerelease: false
66
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: bindata
64
+ requirement: !ruby/object:Gem::Requirement
67
65
  none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- hash: 3
72
- segments:
73
- - 0
74
- version: "0"
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
75
70
  type: :development
76
- version_requirements: *id004
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
77
78
  description: A Ruby interface to QQWry IP database
78
- email:
79
+ email:
79
80
  - xiaosuo@gmail.com
80
- executables:
81
+ executables:
81
82
  - qqwry
82
83
  extensions: []
83
-
84
84
  extra_rdoc_files: []
85
-
86
- files:
85
+ files:
87
86
  - .gitignore
88
87
  - Gemfile
89
88
  - LICENSE.txt
@@ -97,40 +96,31 @@ files:
97
96
  - qqwry.gemspec
98
97
  - test/tc_database.rb
99
98
  - test/tc_record.rb
100
- has_rdoc: true
101
99
  homepage: https://github.com/xiaosuo/qqwry
102
- licenses:
100
+ licenses:
103
101
  - MIT
104
102
  post_install_message:
105
103
  rdoc_options: []
106
-
107
- require_paths:
104
+ require_paths:
108
105
  - lib
109
- required_ruby_version: !ruby/object:Gem::Requirement
106
+ required_ruby_version: !ruby/object:Gem::Requirement
110
107
  none: false
111
- requirements:
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- hash: 3
115
- segments:
116
- - 0
117
- version: "0"
118
- required_rubygems_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ required_rubygems_version: !ruby/object:Gem::Requirement
119
113
  none: false
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- hash: 3
124
- segments:
125
- - 0
126
- version: "0"
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
127
118
  requirements: []
128
-
129
119
  rubyforge_project:
130
- rubygems_version: 1.3.7
120
+ rubygems_version: 1.8.23
131
121
  signing_key:
132
122
  specification_version: 3
133
123
  summary: A Ruby interface to QQWry IP database
134
- test_files:
124
+ test_files:
135
125
  - test/tc_database.rb
136
126
  - test/tc_record.rb