area_cn 0.0.6 → 0.0.7
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 +17 -17
- data/area_cn.gemspec +2 -2
- data/lib/area_cn/area.rb +8 -0
- data/lib/area_cn/areas.rb +11 -2
- data/lib/area_cn/version.rb +1 -1
- metadata +10 -10
data/README.md
CHANGED
@@ -18,30 +18,30 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
|
21
|
-
|
21
|
+
### Find by name or code
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
zhejiang = AreaCN.areas.find_by_name("浙江省")
|
24
|
+
zhejiang.code # => "330000"
|
25
|
+
zhejiang.children == zhejiang.cities # => [{:name => "杭州市", :code => "330100"}, {}, {}, ...]
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
27
|
+
|
28
|
+
hangzhou = AreaCN.areas.find_by_code("330100")
|
29
|
+
hangzhou.code # => "330100"
|
30
|
+
hangzhou.name # => "杭州市"
|
31
|
+
hangzhou.children == hangzhou.districts # => [{:name => "滨江区", :code => "330108"}, {}, {}, ...]
|
32
32
|
|
33
|
-
|
33
|
+
### Return all provinces
|
34
34
|
|
35
|
-
|
36
|
-
|
35
|
+
AreaCN.provinces
|
36
|
+
AreaCN.areas.provinces
|
37
37
|
|
38
|
-
|
38
|
+
### Code methods
|
39
39
|
|
40
|
-
|
41
|
-
|
40
|
+
zhejiang.code.prefix # => return '33'
|
41
|
+
hangzhou.code.parent # => return '330000'
|
42
42
|
|
43
|
-
|
44
|
-
|
43
|
+
zhejiang.ancestor?(hangzhou) # => return true
|
44
|
+
hangzhou.child?(zhejiang) # => return true
|
45
45
|
|
46
46
|
|
47
47
|
## Contributing
|
data/area_cn.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.add_development_dependency 'rspec'
|
19
19
|
gem.add_development_dependency 'rake'
|
20
20
|
|
21
|
-
gem.add_dependency 'json'
|
22
|
-
gem.add_dependency 'activesupport'
|
21
|
+
gem.add_dependency 'json'
|
22
|
+
gem.add_dependency 'activesupport'
|
23
23
|
|
24
24
|
end
|
data/lib/area_cn/area.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
#encoding: utf-8
|
1
2
|
require 'area_cn/code'
|
2
3
|
|
3
4
|
module AreaCN
|
@@ -14,6 +15,13 @@ module AreaCN
|
|
14
15
|
@children = []
|
15
16
|
end
|
16
17
|
|
18
|
+
# 有很多省(省会城市),市下面有"市辖区", 单纯的"市辖区"不能分辨是哪个地区的
|
19
|
+
#
|
20
|
+
# 如果是"市辖区"的地区返回带上级的名字
|
21
|
+
def sense_name
|
22
|
+
@sense_name ||= name == "市辖区" ? parent.name + "辖区" : name
|
23
|
+
end
|
24
|
+
|
17
25
|
def parent_code
|
18
26
|
@code.parent
|
19
27
|
end
|
data/lib/area_cn/areas.rb
CHANGED
@@ -14,6 +14,11 @@ module AreaCN
|
|
14
14
|
|
15
15
|
@all = @provinces + @cities + @districts
|
16
16
|
|
17
|
+
@map = @all.inject({}) do |map, area|
|
18
|
+
map[area.code] = area
|
19
|
+
map
|
20
|
+
end
|
21
|
+
|
17
22
|
locate_areas
|
18
23
|
end
|
19
24
|
|
@@ -27,9 +32,13 @@ module AreaCN
|
|
27
32
|
scope.detect { |area| area.name == name }
|
28
33
|
end
|
29
34
|
|
35
|
+
# def find_by_code(code, area_level = nil)
|
36
|
+
# scope = area_level ? instance_variable_get("@#{area_level.to_s.pluralize}") : all
|
37
|
+
# scope.detect { |area| area.code == code }
|
38
|
+
# end
|
39
|
+
|
30
40
|
def find_by_code(code, area_level = nil)
|
31
|
-
|
32
|
-
scope.detect { |area| area.code == code }
|
41
|
+
@map[code]
|
33
42
|
end
|
34
43
|
alias_method :get, :find_by_code
|
35
44
|
|
data/lib/area_cn/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: area_cn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
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:
|
12
|
+
date: 2013-09-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -48,33 +48,33 @@ dependencies:
|
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
49
49
|
none: false
|
50
50
|
requirements:
|
51
|
-
- -
|
51
|
+
- - ! '>='
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: '0'
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
none: false
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: '0'
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: activesupport
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
65
65
|
none: false
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - ! '>='
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
69
|
+
version: '0'
|
70
70
|
type: :runtime
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
|
-
- -
|
75
|
+
- - ! '>='
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
77
|
+
version: '0'
|
78
78
|
description: 中国地区数据查询
|
79
79
|
email:
|
80
80
|
- chenhb2@qqw.com.cn
|