area_cn 0.0.6 → 0.0.7

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