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 CHANGED
@@ -18,30 +18,30 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
- # Find by name or code
21
+ ### Find by name or code
22
22
 
23
- zhejiang = AreaCN.areas.find_by_name("浙江省")
24
- zhejiang.code # => "330000"
25
- zhejiang.children == zhejiang.cities # => [{:name => "杭州市", :code => "330100"}, {}, {}, ...]
23
+ zhejiang = AreaCN.areas.find_by_name("浙江省")
24
+ zhejiang.code # => "330000"
25
+ zhejiang.children == zhejiang.cities # => [{:name => "杭州市", :code => "330100"}, {}, {}, ...]
26
26
 
27
-
28
- hangzhou = AreaCN.areas.find_by_code("330100")
29
- hangzhou.code # => "330100"
30
- hangzhou.name # => "杭州市"
31
- hangzhou.children == hangzhou.districts # => [{:name => "滨江区", :code => "330108"}, {}, {}, ...]
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
- # Return all provinces
33
+ ### Return all provinces
34
34
 
35
- AreaCN.provinces
36
- AreaCN.areas.provinces
35
+ AreaCN.provinces
36
+ AreaCN.areas.provinces
37
37
 
38
- # Code methods
38
+ ### Code methods
39
39
 
40
- zhejiang.code.prefix # => return '33'
41
- hangzhou.code.parent # => return '330000'
40
+ zhejiang.code.prefix # => return '33'
41
+ hangzhou.code.parent # => return '330000'
42
42
 
43
- zhejiang.ancestor?(hangzhou) # => return true
44
- hangzhou.child?(zhejiang) # => return true
43
+ zhejiang.ancestor?(hangzhou) # => return true
44
+ hangzhou.child?(zhejiang) # => return true
45
45
 
46
46
 
47
47
  ## Contributing
@@ -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', '~> 1.7.5'
22
- gem.add_dependency 'activesupport', '~> 3.2.6'
21
+ gem.add_dependency 'json'
22
+ gem.add_dependency 'activesupport'
23
23
 
24
24
  end
@@ -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
@@ -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
- scope = area_level ? instance_variable_get("@#{area_level.to_s.pluralize}") : all
32
- scope.detect { |area| area.code == code }
41
+ @map[code]
33
42
  end
34
43
  alias_method :get, :find_by_code
35
44
 
@@ -1,3 +1,3 @@
1
1
  module AreaCN
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
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.6
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: 2012-10-25 00:00:00.000000000 Z
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: 1.7.5
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: 1.7.5
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: 3.2.6
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: 3.2.6
77
+ version: '0'
78
78
  description: 中国地区数据查询
79
79
  email:
80
80
  - chenhb2@qqw.com.cn