jp_municipality 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5ad0c0ff000fec4cde1d4c29eb029930084c31c1ef664cde7557039815757804
4
- data.tar.gz: 9a0abc0042445e7f4d0074b14b8f6172839d75e7fe1f0011fe9705d66e354a7c
3
+ metadata.gz: 0ebfa177b4dc9521d7eb171336639f7059d5a9f7788b1d1fbde3a75c1db90397
4
+ data.tar.gz: d52f29dbc107c78eb00cfb25ad2796283583fe213ad9bbda2dc0ae22fe7e492e
5
5
  SHA512:
6
- metadata.gz: 7e722d3f2862eaa31d5222e688d4361d1ba22170aeec8d1bac8147bb995bd4033b0512e16ac2f8e6ab1a3fcfca17b09613136dd96ef3e9a8ee74d25cca7ee4ba
7
- data.tar.gz: f0b785929ef8c8cd7ea9df37277f428927481055a70bd198ff4e41f14790787b2a0ff16a669eb1a47c751114b5fbf09e022bfbaa627040115f2c2f32f1f5a500
6
+ metadata.gz: 74c445136e497603a823e838587db58aecc11f0c9bb75fc82018ad9b9ec1ce42af310bd50ffb13f117fe3b0d1447aed3b413dcdd392d988063a75647f2d12ae3
7
+ data.tar.gz: 2a442b4fdcddf6a88aed4ae392b44d0bf5076595c372ced15b682ee0e2493ac73a93eee02f08cab07da0398cb5da372f674d50690f2123fc863e0f4f98952560
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.3.1 ##
2
+ * Add predicate methods for types.
3
+ * `city?`, `designated_city?`, `ward?`, `special_ward?`, `town?`, `village?`
4
+
1
5
  ## 0.3.0 ##
2
6
  * *Change table schema.*
3
7
  * Update Data.
@@ -26,10 +26,50 @@ class JpMunicipality::Municipality < ActiveRecord::Base
26
26
  where(prefecture_code: prefecture_code)
27
27
  }
28
28
 
29
+ def code_without_cd
30
+ code[0, 5]
31
+ end
32
+
33
+ def code_without_prefecture_code
34
+ code[2, 3]
35
+ end
36
+ alias :code_without_pref_code :code_without_prefecture_code
37
+
29
38
  def readonly?
30
39
  true
31
40
  end
32
41
 
42
+ def city?
43
+ n = code_without_pref_code.to_i
44
+ designated_city? || (201 <= n && n <= 300)
45
+ end
46
+
47
+ def designated_city?
48
+ code_without_pref_code.in?(%w{ 100 130 140 150 })
49
+ end
50
+
51
+ def ward?
52
+ n = code_without_pref_code.to_i
53
+ special_ward? || (!designated_city? && (101 <= n && n < 200))
54
+ end
55
+
56
+ def special_ward?
57
+ n = code_without_cd.to_i
58
+ (13101 <= n && n <= 13123)
59
+ end
60
+
61
+ def town_or_village?
62
+ 300 <= code_without_pref_code.to_i
63
+ end
64
+
65
+ def town?
66
+ town_or_village? && name[-1, 1] == '町'
67
+ end
68
+
69
+ def village?
70
+ town_or_village? && name[-1, 1] == '村'
71
+ end
72
+
33
73
  def self.load_data!
34
74
  data_path = Pathname(__FILE__).join('..', '..', '..', '..', 'data', 'municipalities.csv')
35
75
  require 'csv'
@@ -20,4 +20,6 @@ Gem::Specification.new do |s|
20
20
 
21
21
  s.add_development_dependency "rails", ">= 5.1.5"
22
22
  s.add_development_dependency "sqlite3"
23
+ s.add_development_dependency "rspec-rails"
24
+ s.add_development_dependency "factory_bot_rails"
23
25
  end
@@ -1,3 +1,3 @@
1
1
  module JpMunicipality
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jp_municipality
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hayato IZUMI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-23 00:00:00.000000000 Z
11
+ date: 2018-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -92,6 +92,34 @@ dependencies:
92
92
  - - ">="
93
93
  - !ruby/object:Gem::Version
94
94
  version: '0'
95
+ - !ruby/object:Gem::Dependency
96
+ name: rspec-rails
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ - !ruby/object:Gem::Dependency
110
+ name: factory_bot_rails
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ type: :development
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
95
123
  description:
96
124
  email:
97
125
  - h-izumi@9uelle.jp