jp_prefecture 0.6.0 → 0.7.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 39053050aa747aa80a7e3375ae5de13f46430390
4
- data.tar.gz: 9b833787a8c06c93430a03eedc4705c9736620b4
3
+ metadata.gz: f8b93831e7f498063dae032c81111f89148be1ca
4
+ data.tar.gz: 79d7d9f7578665c10f9bd3ad1b181dee94bcfd1b
5
5
  SHA512:
6
- metadata.gz: 689fb7be7b194e1706f7448324c3b3f4d3c9633c659475eee51a8b45e7c8ce5e1e74ef3aa9687eb791de059bc78f18261805b34f63e4afba11bae42a5d921290
7
- data.tar.gz: c7e225554165eca1fccc483a6f881fccc40e4f969ca9b576f6f2a776b2b3b6c23e53c17aa12647bc44d17ff702b43ce243855651b363088bd9596c0e2dc2dc04
6
+ metadata.gz: a69bc4f6d25791bc2495b1d1d8523c5fa6de4ac3b072cca48f4e978f3462c900b4e41e0578b4a912ae41a2519db6c983c904b2f6254ca40fbcd036a8943a660d
7
+ data.tar.gz: 78fcf9930d2547d8aa73180e71ace4015f268a3f59baf92f14c910b8b283d8a757cddd2ef93461e2b28402affb10ea4fa79e2f19a438473aaca84b9ed356bf99
@@ -1,3 +1,7 @@
1
+ ## 0.7.0 (Jun 18, 2014)
2
+
3
+ * 都道府県名にひらがな、カタカナを追加 (PR [#12](https://github.com/chocoby/jp_prefecture/pull/12)/[@yukihr](https://github.com/yukihr))
4
+
1
5
  ## 0.6.0 (Mar 10, 2014)
2
6
 
3
7
  * 都道府県名を前方一致で検索できるようにした (PR [#11](https://github.com/chocoby/jp_prefecture/pull/11)/[@yuuna](https://github.com/yuuna))
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # JpPrefecture
2
2
 
3
- [![Build Status](https://travis-ci.org/chocoby/jp_prefecture.png?branch=master)](https://travis-ci.org/chocoby/jp_prefecture)
4
- [![Dependency Status](https://gemnasium.com/chocoby/jp_prefecture.png)](https://gemnasium.com/chocoby/jp_prefecture)
5
- [![Gem Version](https://badge.fury.io/rb/jp_prefecture.png)](http://badge.fury.io/rb/jp_prefecture)
3
+ [![Build Status](http://img.shields.io/travis/chocoby/jp_prefecture/master.svg)](https://travis-ci.org/chocoby/jp_prefecture)
4
+ [![Dependency Status](http://img.shields.io/gemnasium/chocoby/jp_prefecture.svg)](https://gemnasium.com/chocoby/jp_prefecture)
5
+ [![Gem Version](http://img.shields.io/gem/v/jp_prefecture.svg)](https://rubygems.org/gems/jp_prefecture)
6
6
 
7
7
  https://rubygems.org/gems/jp_prefecture
8
8
 
@@ -55,13 +55,17 @@ require 'jp_prefecture'
55
55
 
56
56
  ```ruby
57
57
  pref = JpPrefecture::Prefecture.find 13
58
- # => #<JpPrefecture::Prefecture:0x007fd0a3d43fe8 @code=13, @name="東京都", @name_e="Tokyo">
58
+ # => #<JpPrefecture::Prefecture:0x007fd3c1838208 @code=13, @name="東京都", @name_e="Tokyo", @name_h="とうきょうと", @name_k="トウキョウト", @zips=[1000000..2080035]>
59
59
  pref.code
60
60
  # => 13
61
61
  pref.name
62
62
  # => "東京都"
63
63
  pref.name_e
64
64
  # => "Tokyo"
65
+ pref.name_h
66
+ # => "とうきょうと"
67
+ pref.name_k
68
+ # => "トウキョウト"
65
69
  ```
66
70
 
67
71
  以下のように渡すことも可能です:
@@ -74,23 +78,29 @@ JpPrefecture::Prefecture.find code: 13
74
78
 
75
79
  ```ruby
76
80
  JpPrefecture::Prefecture.find name: "東京都"
77
- # => #<JpPrefecture::Prefecture:0x007ff672271800 @code=13, @name="東京都", @name_e="Tokyo">
81
+ # => #<JpPrefecture::Prefecture:0x007fe7bb033040 @code=13, @name="東京都", @name_e="Tokyo", @name_h="とうきょうと", @name_k="トウキョウト", @zips=[1000000..2080035]>
78
82
 
79
83
  JpPrefecture::Prefecture.find name: "Tokyo"
80
- # => #<JpPrefecture::Prefecture:0x007fb3c2828b10 @code=13, @name="東京都", @name_e="Tokyo">
84
+ # => #<JpPrefecture::Prefecture:0x007fe7bb032758 @code=13, @name="東京都", @name_e="Tokyo", @name_h="とうきょうと", @name_k="トウキョウト", @zips=[1000000..2080035]>
81
85
 
82
86
  JpPrefecture::Prefecture.find name: "tokyo"
83
- # => #<JpPrefecture::Prefecture:0x007f965c0c5a40 @code=13, @name="東京都", @name_e="Tokyo">
87
+ # => #<JpPrefecture::Prefecture:0x007fe7bb031e70 @code=13, @name="東京都", @name_e="Tokyo", @name_h="とうきょうと", @name_k="トウキョウト", @zips=[1000000..2080035]>
88
+
89
+ JpPrefecture::Prefecture.find name: "トウキョウト"
90
+ # => #<JpPrefecture::Prefecture:0x007f8cc2038210 @code=13, @name="東京都", @name_e="Tokyo", @name_h="とうきょうと", @name_k="トウキョウト", @zips=[1000000..2080035]>
91
+
92
+ JpPrefecture::Prefecture.find name: "とうきょうと"
93
+ # => #<JpPrefecture::Prefecture:0x007f8cc2033760 @code=13, @name="東京都", @name_e="Tokyo", @name_h="とうきょうと", @name_k="トウキョウト", @zips=[1000000..2080035]>
84
94
 
85
95
  JpPrefecture::Prefecture.find name: "東京"
86
- # => #<JpPrefecture::Prefecture:0x007fe8b2b6f678 @code=13, @name="東京都", @name_e="Tokyo">
96
+ # => #<JpPrefecture::Prefecture:0x007fe7bb0305c0 @code=13, @name="東京都", @name_e="Tokyo", @name_h="とうきょうと", @name_k="トウキョウト", @zips=[1000000..2080035]>
87
97
  ```
88
98
 
89
99
  ### 都道府県の一覧を取得
90
100
 
91
101
  ```ruby
92
102
  JpPrefecture::Prefecture.all
93
- # => [#<JpPrefecture::Prefecture:0x007fd0a3d78d38 @code=1, @name="北海道", @name_e="Hokkaido">, ...]
103
+ # => [#<JpPrefecture::Prefecture:0x007fea13830158 @code=1, @name="北海道", @name_e="Hokkaido", @name_h="ほっかいどう", @name_k="ホッカイドウ", @zips=[10000..70895, 400000..996509]>, ...]
94
104
  ```
95
105
 
96
106
  ### Rails(ActiveRecord) で使用する
@@ -180,7 +190,7 @@ GitHub の [Issues](https://github.com/chocoby/jp_prefecture/issues) を参照
180
190
  ## 対象バージョン
181
191
 
182
192
  * Ruby: 1.9.3 / 2.0 / 2.1
183
- * Rails: 3.2.x / 4.0.x
193
+ * Rails: 3.2 / 4.0 / 4.1
184
194
 
185
195
  ## Contributing
186
196
 
@@ -4,141 +4,235 @@
4
4
  1:
5
5
  :name: 北海道
6
6
  :name_e: hokkaido
7
+ :name_h: ほっかいどう
8
+ :name_k: ホッカイドウ
7
9
  2:
8
10
  :name: 青森県
9
11
  :name_e: aomori
12
+ :name_h: あおもりけん
13
+ :name_k: アオモリケン
10
14
  3:
11
15
  :name: 岩手県
12
16
  :name_e: iwate
17
+ :name_h: いわてけん
18
+ :name_k: イワテケン
13
19
  4:
14
20
  :name: 宮城県
15
21
  :name_e: miyagi
22
+ :name_h: みやぎけん
23
+ :name_k: ミヤギケン
16
24
  5:
17
25
  :name: 秋田県
18
26
  :name_e: akita
27
+ :name_h: あきたけん
28
+ :name_k: アキタケン
19
29
  6:
20
30
  :name: 山形県
21
31
  :name_e: yamagata
32
+ :name_h: やまがたけん
33
+ :name_k: ヤマガタケン
22
34
  7:
23
35
  :name: 福島県
24
36
  :name_e: fukushima
37
+ :name_h: ふくしまけん
38
+ :name_k: フクシマケン
25
39
  8:
26
40
  :name: 茨城県
27
41
  :name_e: ibaraki
42
+ :name_h: いばらきけん
43
+ :name_k: イバラキケン
28
44
  9:
29
45
  :name: 栃木県
30
46
  :name_e: tochigi
47
+ :name_h: とちぎけん
48
+ :name_k: トチギケン
31
49
  10:
32
50
  :name: 群馬県
33
51
  :name_e: gunma
52
+ :name_h: ぐんまけん
53
+ :name_k: グンマケン
34
54
  11:
35
55
  :name: 埼玉県
36
56
  :name_e: saitama
57
+ :name_h: さいたまけん
58
+ :name_k: サイタマケン
37
59
  12:
38
60
  :name: 千葉県
39
61
  :name_e: chiba
62
+ :name_h: ちばけん
63
+ :name_k: チバケン
40
64
  13:
41
65
  :name: 東京都
42
66
  :name_e: tokyo
67
+ :name_h: とうきょうと
68
+ :name_k: トウキョウト
43
69
  14:
44
70
  :name: 神奈川県
45
71
  :name_e: kanagawa
72
+ :name_h: かながわけん
73
+ :name_k: カナガワケン
46
74
  15:
47
75
  :name: 新潟県
48
76
  :name_e: niigata
77
+ :name_h: にいがたけん
78
+ :name_k: ニイガタケン
49
79
  16:
50
80
  :name: 富山県
51
81
  :name_e: toyama
82
+ :name_h: とやまけん
83
+ :name_k: トヤマケン
52
84
  17:
53
85
  :name: 石川県
54
86
  :name_e: ishikawa
87
+ :name_h: いしかわけん
88
+ :name_k: イシカワケン
55
89
  18:
56
90
  :name: 福井県
57
91
  :name_e: fukui
92
+ :name_h: ふくいけん
93
+ :name_k: フクイケン
58
94
  19:
59
95
  :name: 山梨県
60
96
  :name_e: yamanashi
97
+ :name_h: やまなしけん
98
+ :name_k: ヤマナシケン
61
99
  20:
62
100
  :name: 長野県
63
101
  :name_e: nagano
102
+ :name_h: ながのけん
103
+ :name_k: ナガノケン
64
104
  21:
65
105
  :name: 岐阜県
66
106
  :name_e: gifu
107
+ :name_h: ぎふけん
108
+ :name_k: ギフケン
67
109
  22:
68
110
  :name: 静岡県
69
111
  :name_e: shizuoka
112
+ :name_h: しずおかけん
113
+ :name_k: シズオカケン
70
114
  23:
71
115
  :name: 愛知県
72
116
  :name_e: aichi
117
+ :name_h: あいちけん
118
+ :name_k: アイチケン
73
119
  24:
74
120
  :name: 三重県
75
121
  :name_e: mie
122
+ :name_h: みえけん
123
+ :name_k: ミエケン
76
124
  25:
77
125
  :name: 滋賀県
78
126
  :name_e: shiga
127
+ :name_h: しがけん
128
+ :name_k: シガケン
79
129
  26:
80
130
  :name: 京都府
81
131
  :name_e: kyoto
132
+ :name_h: きょうとふ
133
+ :name_k: キョウトフ
82
134
  27:
83
135
  :name: 大阪府
84
136
  :name_e: osaka
137
+ :name_h: おおさかふ
138
+ :name_k: オオサカフ
85
139
  28:
86
140
  :name: 兵庫県
87
141
  :name_e: hyogo
142
+ :name_h: ひょうごけん
143
+ :name_k: ヒョウゴケン
88
144
  29:
89
145
  :name: 奈良県
90
146
  :name_e: nara
147
+ :name_h: ならけん
148
+ :name_k: ナラケン
91
149
  30:
92
150
  :name: 和歌山県
93
151
  :name_e: wakayama
152
+ :name_h: わかやまけん
153
+ :name_k: ワカヤマケン
94
154
  31:
95
155
  :name: 鳥取県
96
156
  :name_e: tottori
157
+ :name_h: とっとりけん
158
+ :name_k: トットリケン
97
159
  32:
98
160
  :name: 島根県
99
161
  :name_e: shimane
162
+ :name_h: しまねけん
163
+ :name_k: シマネケン
100
164
  33:
101
165
  :name: 岡山県
102
166
  :name_e: okayama
167
+ :name_h: おかやまけん
168
+ :name_k: オカヤマケン
103
169
  34:
104
170
  :name: 広島県
105
171
  :name_e: hiroshima
172
+ :name_h: ひろしまけん
173
+ :name_k: ヒロシマケン
106
174
  35:
107
175
  :name: 山口県
108
176
  :name_e: yamaguchi
177
+ :name_h: やまぐちけん
178
+ :name_k: ヤマグチケン
109
179
  36:
110
180
  :name: 徳島県
111
181
  :name_e: tokushima
182
+ :name_h: とくしまけん
183
+ :name_k: トクシマケン
112
184
  37:
113
185
  :name: 香川県
114
186
  :name_e: kagawa
187
+ :name_h: かがわけん
188
+ :name_k: カガワケン
115
189
  38:
116
190
  :name: 愛媛県
117
191
  :name_e: ehime
192
+ :name_h: えひめけん
193
+ :name_k: エヒメケン
118
194
  39:
119
195
  :name: 高知県
120
196
  :name_e: kochi
197
+ :name_h: こうちけん
198
+ :name_k: コウチケン
121
199
  40:
122
200
  :name: 福岡県
123
201
  :name_e: fukuoka
202
+ :name_h: ふくおかけん
203
+ :name_k: フクオカケン
124
204
  41:
125
205
  :name: 佐賀県
126
206
  :name_e: saga
207
+ :name_h: さがけん
208
+ :name_k: サガケン
127
209
  42:
128
210
  :name: 長崎県
129
211
  :name_e: nagasaki
212
+ :name_h: ながさきけん
213
+ :name_k: ナガサキケン
130
214
  43:
131
215
  :name: 熊本県
132
216
  :name_e: kumamoto
217
+ :name_h: くまもとけん
218
+ :name_k: クマモトケン
133
219
  44:
134
220
  :name: 大分県
135
221
  :name_e: oita
222
+ :name_h: おおいたけん
223
+ :name_k: オオイタケン
136
224
  45:
137
225
  :name: 宮崎県
138
226
  :name_e: miyazaki
227
+ :name_h: みやざきけん
228
+ :name_k: ミヤザキケン
139
229
  46:
140
230
  :name: 鹿児島県
141
231
  :name_e: kagoshima
232
+ :name_h: かごしまけん
233
+ :name_k: カゴシマケン
142
234
  47:
143
235
  :name: 沖縄県
144
236
  :name_e: okinawa
237
+ :name_h: おきなわけん
238
+ :name_k: オキナワケン
@@ -6,7 +6,7 @@ module JpPrefecture
6
6
  # 都道府県のコードと名前を扱うクラス
7
7
  class Prefecture
8
8
 
9
- attr_accessor :code, :name, :name_e, :zips
9
+ attr_accessor :code, :name, :name_e, :name_h, :name_k, :zips
10
10
 
11
11
  # 配列から都道府県クラスを生成
12
12
  #
@@ -17,13 +17,17 @@ module JpPrefecture
17
17
  # @param pref [Integer] 都道府県コード
18
18
  # @param name [String] 都道府県名
19
19
  # @param name_e [String] 都道府県名(英語表記)
20
+ # @param optional name_h [String] 都道府県名(ひらがな表記)
21
+ # @param optional name_k [String] 都道府県名(カタカナ表記)
20
22
  # @param zips [Array] 郵便番号の配列 (array of ranges, can be used in ARel, e.g. User.where(zip: prefecture.zips))
21
- def self.build(code, name, name_e)
23
+ def self.build(code, name, name_e, name_h = nil, name_k = nil)
22
24
  pref = self.new
23
25
 
24
26
  pref.code = code
25
27
  pref.name = name
26
28
  pref.name_e = name_e.capitalize
29
+ pref.name_h = name_h
30
+ pref.name_k = name_k
27
31
  pref.zips = ZipMapping.data[code]
28
32
 
29
33
  pref
@@ -39,7 +43,7 @@ module JpPrefecture
39
43
  # # 都道府県名から検索
40
44
  # JpPrefecture::Prefecture.find(name: '北海道')
41
45
  #
42
- # # 都道府県名から検索(先頭一致)
46
+ # # 都道府県名から検索(前方一致)
43
47
  # JpPrefecture::Prefecture.find(name: '東京')
44
48
  #
45
49
  # # 英語表記の都道府県名から検索
@@ -49,7 +53,7 @@ module JpPrefecture
49
53
  # @param args [Integer] 都道府県コード
50
54
  # @param [Hash] args 検索条件
51
55
  # @option args [Integer] :code 都道府県コード
52
- # @option args [String] :name 都道府県名/英語表記の都道府県名
56
+ # @option args [String] :name 都道府県名/英語/ひらがな/カタカナ表記の都道府県名
53
57
  # @option args [Integer] :zip 郵便番号
54
58
  # @return [JpPrefecture::Prefecture] 都道府県が見つかった場合は都道府県クラス
55
59
  # @return [nil] 都道府県が見つからない場合は nil
@@ -74,7 +78,9 @@ module JpPrefecture
74
78
 
75
79
  return unless names
76
80
 
77
- self.build(code, names[:name], names[:name_e])
81
+ self.build(code,
82
+ names[:name], names[:name_e],
83
+ names[:name_h], names[:name_k])
78
84
  end
79
85
 
80
86
  # すべての都道府県クラスを返す
@@ -93,13 +99,15 @@ module JpPrefecture
93
99
  def self.all
94
100
  Mapping.data.map do |pref|
95
101
  names = pref[1]
96
- self.build(pref[0], names[:name], names[:name_e])
102
+ self.build(pref[0],
103
+ names[:name], names[:name_e],
104
+ names[:name_h], names[:name_k])
97
105
  end
98
106
  end
99
107
 
100
108
  protected
101
109
 
102
- # 名前から都道府県コードを先頭一致で検索
110
+ # 名前から都道府県コードを前方一致で検索
103
111
  #
104
112
  # @param name [String] 検索する都道府県名
105
113
  # @return [Integer] 見つかった場合は都道府県コード
@@ -1,3 +1,3 @@
1
1
  module JpPrefecture
2
- VERSION = "0.6.0"
2
+ VERSION = "0.7.0"
3
3
  end
@@ -3,10 +3,12 @@ require 'spec_helper'
3
3
 
4
4
  describe JpPrefecture::Prefecture do
5
5
  describe '.build' do
6
- let(:pref) { JpPrefecture::Prefecture.build(1, '北海道', 'Hokkaido') }
6
+ let(:pref) { JpPrefecture::Prefecture.build(1, '北海道', 'Hokkaido', 'ほっかいどう', 'ホッカイドウ') }
7
7
  it { pref.code.should eq 1 }
8
8
  it { pref.name.should eq '北海道' }
9
9
  it { pref.name_e.should eq 'Hokkaido' }
10
+ it { pref.name_h.should eq 'ほっかいどう' }
11
+ it { pref.name_k.should eq 'ホッカイドウ' }
10
12
  it { pref.zips.should eq [10000..70895, 400000..996509] }
11
13
  end
12
14
 
@@ -17,6 +19,8 @@ describe JpPrefecture::Prefecture do
17
19
  it { pref.code.should eq 1 }
18
20
  it { pref.name.should eq '北海道' }
19
21
  it { pref.name_e.should eq 'Hokkaido' }
22
+ it { pref.name_h.should eq 'ほっかいどう' }
23
+ it { pref.name_k.should eq 'ホッカイドウ' }
20
24
  it { pref.zips.should eq [10000..70895, 400000..996509] }
21
25
  end
22
26
 
@@ -56,7 +60,17 @@ describe JpPrefecture::Prefecture do
56
60
  it_behaves_like "都道府県が見つからない", name: "udon"
57
61
  end
58
62
 
59
- describe '都道府県名(先頭一致)' do
63
+ describe '都道府県名(ひらがな表記)' do
64
+ it_behaves_like "都道府県が見つかる", name: "ほっかいどう"
65
+ it_behaves_like "都道府県が見つからない", name: "うどん"
66
+ end
67
+
68
+ describe '都道府県名(カタカナ表記)' do
69
+ it_behaves_like "都道府県が見つかる", name: "ホッカイドウ"
70
+ it_behaves_like "都道府県が見つからない", name: "ウドン"
71
+ end
72
+
73
+ describe '都道府県名(前方一致)' do
60
74
  let(:pref) { JpPrefecture::Prefecture.find(name: '東京') }
61
75
  it { expect(pref.name).to eq '東京都' }
62
76
 
@@ -75,6 +89,16 @@ describe JpPrefecture::Prefecture do
75
89
  let(:pref2) { JpPrefecture::Prefecture.find(name: 'Miya') }
76
90
  it { expect(pref2.name_e).to eq 'Miyagi' }
77
91
  end
92
+
93
+ context 'マッチする都道府県が複数あった場合(ひらがな表記)' do
94
+ let(:pref) { JpPrefecture::Prefecture.find(name: 'みや') }
95
+ it { expect(pref.name_h).to eq 'みやぎけん' }
96
+ end
97
+
98
+ context 'マッチする都道府県が複数あった場合(カタカナ表記)' do
99
+ let(:pref) { JpPrefecture::Prefecture.find(name: 'ミヤ') }
100
+ it { expect(pref.name_k).to eq 'ミヤギケン' }
101
+ end
78
102
  end
79
103
  end
80
104
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jp_prefecture
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - chocoby
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-10 00:00:00.000000000 Z
11
+ date: 2014-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake