qqwry 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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