jp_prefecture 0.8.1 → 1.0.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
- SHA1:
3
- metadata.gz: c6636c60d594d140725ac2f9b01c6724b66328e3
4
- data.tar.gz: dfb83ab23f2bb8be09afc748d17f3b51180e2e7b
2
+ SHA256:
3
+ metadata.gz: bc36935fbbb41fcb5ba3d46312f0c6200e3f1d0c713ecc6fe871804c565e58b2
4
+ data.tar.gz: ae4ca4e0d10a0177a038b18a4d413b83ac180270c219930df756f86d077dee44
5
5
  SHA512:
6
- metadata.gz: d8e91fddb44bc5cfbce465c541a5ca3312afaf8412900fbf122591a64a2215f1b29900d4437149a800be5d67ba28e0ceaaa37cae7c1c7cfe8d2eeafdfaa257d8
7
- data.tar.gz: c5fa940c3614cb491f32f5bf740e2140a02dde3ca8f42af4bb8adcdf5da941ad09470f298042702760a07afeabc3d507237e6349805655368d801e0b286f3791
6
+ metadata.gz: 9f2c6535136cfb3f1992ee02b07a5275a9fef64c8b43d4c9ac070fd7aa7b03cc396218a8bfa8a9e51d0fc5b930d341dc68aad2aea0fc40e459be1c444d17e115
7
+ data.tar.gz: 26081d3e210c27446dd8c3e97ec5b20dace2c6f279fab6a7e5a774f914c28703bada8cb7aaa58cb44eff5fd95068874d8272500b76a5bf385c64af1e5f03bd79
data/CHANGELOG.md CHANGED
@@ -1,59 +1,116 @@
1
- ## 0.8.1 (Mar 30, 2016)
1
+ ## Unreleased
2
+
3
+ ## 1.0.0 (2021-02-24)
4
+
5
+ ### Misc
6
+
7
+ * 毎週月曜日の 09:00 (JST) にテストを実行する (PR [#52](https://github.com/chocoby/jp_prefecture/pull/52)/[@chocoby](https://github.com/chocoby))
8
+
9
+ ## 1.0.0.rc1 (2021-02-10)
10
+
11
+ ### Breaking changes
12
+
13
+ * Ruby 1.9.3 - 2.3/Rails 3.2 - 4.2 のサポートを終了 (PR [#39](https://github.com/chocoby/jp_prefecture/pull/39)/[@chocoby](https://github.com/chocoby))
14
+
15
+ 古い Ruby/Rails のサポートを終了しました。今後も大きな不具合が見つかった場合、可能な限りは対応する予定です。
16
+
17
+ サポートするバージョンの範囲は Ruby/Rails のメンテナンスポリシーに則るのがシンプルですが、この Gem では厳しくする必要はないと考えています。
18
+ Ruby/Rails のメンテナンスポリシーで決められているバージョンは最低限サポートし、実装やテストのメンテナンスが困難になったバージョンからサポートを終了する方針で検討しています。ご意見があればください。
19
+
20
+ * 文字列による検索は項目を指定して検索する (Issue [#24](https://github.com/chocoby/jp_prefecture/issues/24), [#27](https://github.com/chocoby/jp_prefecture/issues/27)/PR [#43](https://github.com/chocoby/jp_prefecture/pull/43)/[@chocoby](https://github.com/chocoby))
21
+
22
+ `JpPrefecture::Prefecture.find(name: '東')` を実行すると、青森県が取得されていた問題への対応です。これはマッピングのすべての項目を検索していたためです。
23
+ 対応として、`name` を指定した場合は漢字表記、`name_e` は英語表記など、指定した項目のみを検索するように変更しました。詳しい使い方は README を参照してください。
24
+ 以前のように、すべての項目から検索したい場合は `JpPrefecture::Prefecture.find(all_fields: 'string')` を使用してください。
25
+
26
+ ### Features
27
+
28
+ * Ruby 3.0 をサポートに追加 (PR [#42](https://github.com/chocoby/jp_prefecture/pull/42)/[@chocoby](https://github.com/chocoby))
29
+ * 郵便番号データを更新 (PR [#46](https://github.com/chocoby/jp_prefecture/pull/46)/[@chocoby](https://github.com/chocoby))
30
+ * `JpPrefecture::Prefecture` クラスに都道府県コードから都道府県インスタンスを作成する `build_by_code` メソッドを追加 (PR [#44](https://github.com/chocoby/jp_prefecture/pull/44)/[@chocoby](https://github.com/chocoby))
31
+
32
+ 都道府県コードを指定すると、それに対応した都道府県の `JpPrefecture::Prefecture` インスタンスを取得するメソッドを追加しました。
33
+ `JpPrefecture::Prefecture.build` メソッドは参照している処理がなくなったため、削除しました。
34
+
35
+ ### Documentation
36
+
37
+ * CONTRIBUTING.md を追加 (PR [#41](https://github.com/chocoby/jp_prefecture/pull/41)/[@chocoby](https://github.com/chocoby))
38
+
39
+ ### Misc
40
+
41
+ * RuboCop を導入 (PR [#40](https://github.com/chocoby/jp_prefecture/pull/40)/[@chocoby](https://github.com/chocoby))
42
+ * Gem に含めるファイルを最低限のものにする (PR [#48](https://github.com/chocoby/jp_prefecture/pull/48)/[@chocoby](https://github.com/chocoby))
43
+
44
+ ## 0.11.0 (2020-12-18)
45
+
46
+ * Rails 6.1 をサポート (PR [#37](https://github.com/chocoby/jp_prefecture/pull/37)/[@chocoby](https://github.com/chocoby))
47
+ * GitHub Actions でビルドを実行するようにした (PR [#34](https://github.com/chocoby/jp_prefecture/pull/34)/[@chocoby](https://github.com/chocoby))
48
+
49
+ ## 0.10.0 (2019-08-19)
50
+
51
+ * Rails 6.0 をサポート (PR [#33](https://github.com/chocoby/jp_prefecture/pull/33)/[@chocoby](https://github.com/chocoby))
52
+
53
+ ## 0.9.0 (2017-01-15)
54
+
55
+ * Add English Readme (Issue [#21](https://github.com/chocoby/jp_prefecture/issues/21)/PR [#22](https://github.com/chocoby/jp_prefecture/pull/22)/[@PeterTeng](https://github.com/PeterTeng))
56
+ * 都道府県情報に種類を追加 (PR [#23](https://github.com/chocoby/jp_prefecture/pull/23)/[@gazayas](https://github.com/gazayas))
57
+
58
+ ## 0.8.1 (2016-03-30)
2
59
 
3
60
  * `JpPrefecture::Prefecture.find(name: name)` に `nil` や空文字を渡した時に `nil` を返す (Issue [#18](https://github.com/chocoby/jp_prefecture/issues/18)/PR [#19](https://github.com/chocoby/jp_prefecture/pull/19)/[@k-motoyan](https://github.com/k-motoyan))
4
61
 
5
- ## 0.8.0 (Sep 07, 2014)
62
+ ## 0.8.0 (2014-09-07)
6
63
 
7
64
  * 都道府県情報に八地方区分情報を追加 (PR [#14](https://github.com/chocoby/jp_prefecture/pull/14)/[@kkosuge](https://github.com/kkosuge))
8
65
 
9
- ## 0.7.0 (Jun 18, 2014)
66
+ ## 0.7.0 (2014-06-18)
10
67
 
11
68
  * 都道府県名にひらがな、カタカナを追加 (PR [#12](https://github.com/chocoby/jp_prefecture/pull/12)/[@yukihr](https://github.com/yukihr))
12
69
 
13
- ## 0.6.0 (Mar 10, 2014)
70
+ ## 0.6.0 (2014-03-10)
14
71
 
15
72
  * 都道府県名を前方一致で検索できるようにした (PR [#11](https://github.com/chocoby/jp_prefecture/pull/11)/[@yuuna](https://github.com/yuuna))
16
73
  * 都道府県名の検索ロジックを高速化
17
74
 
18
- ## 0.5.0 (Nov 30, 2013)
75
+ ## 0.5.0 (2013-11-30)
19
76
 
20
77
  * 郵便番号から都道府県を検索する機能の追加 (PR [#9](https://github.com/chocoby/jp_prefecture/pull/9)/[@fruwe](https://github.com/fruwe))
21
78
 
22
- ## 0.4.0 (Jul 08, 2013)
79
+ ## 0.4.0 (2013-07-08)
23
80
 
24
81
  * 都道府県のマッピングを変更する機能の追加 (PR [#8](https://github.com/chocoby/jp_prefecture/pull/8)/[@mizoR](https://github.com/mizoR))
25
82
 
26
- ## 0.3.2 (Jun 12, 2013)
83
+ ## 0.3.2 (2013-06-12)
27
84
 
28
85
  * 文字列を downcase してから都道府県の検索を行うようにした
29
86
 
30
- ## 0.3.1 (Jun 11, 2013)
87
+ ## 0.3.1 (2013-06-11)
31
88
 
32
89
  * name で渡した文字列が変更されるバグを修正
33
90
 
34
- ## 0.3.0 (Jun 11, 2013)
91
+ ## 0.3.0 (2013-06-11)
35
92
 
36
93
  * 都道府県名(英語表記含む)から都道府県を検索できるようにした
37
94
  * 都道府県名からの検索と同様の方法で、都道府県コードを検索できるようにした
38
95
  * String 型の都道府県コードに対応
39
96
 
40
- ## 0.2.0 (Jun 09, 2013)
97
+ ## 0.2.0 (2013-06-09)
41
98
 
42
99
  * 英語表記を追加
43
100
  * Ruby 1.8.7 のサポートを終了
44
101
 
45
- ## 0.1.1 (Mar 01, 2013)
102
+ ## 0.1.1 (2013-03-01)
46
103
 
47
104
  * モデルで使用する時に、生成するメソッド名を指定できるようにした
48
105
  * Configuration モデル/Model モジュールを廃止
49
106
  * extend による使用を廃止
50
107
  * Travis CI によるテストを行うようにした
51
108
 
52
- ## 0.1.0 (Feb 17, 2013)
109
+ ## 0.1.0 (2013-02-17)
53
110
 
54
111
  * モデルで使用する時に、対象のカラム名を指定するようにした
55
112
 
56
- ## 0.0.1 (Feb 14, 2013)
113
+ ## 0.0.1 (2013-02-14)
57
114
 
58
115
  * 都道府県の変換
59
116
  * 簡単な Rails サポート
data/LICENSE CHANGED
@@ -1,22 +1,21 @@
1
- Copyright (c) 2013 chocoby
2
-
3
1
  MIT License
4
2
 
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
3
+ Copyright (c) 2020 Kenta Okamoto
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
12
11
 
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
15
14
 
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # JpPrefecture
2
2
 
3
+ [**English**](README_EN.md)
4
+
3
5
  [![Gem Version](http://img.shields.io/gem/v/jp_prefecture.svg?style=flat)](https://rubygems.org/gems/jp_prefecture)
4
- [![Build Status](http://img.shields.io/travis/chocoby/jp_prefecture/master.svg?style=flat)](https://travis-ci.org/chocoby/jp_prefecture)
6
+ [![GitHub Actions](https://github.com/chocoby/jp_prefecture/workflows/Build/badge.svg)](https://github.com/chocoby/jp_prefecture)
5
7
  [![Coveralls](https://img.shields.io/coveralls/chocoby/jp_prefecture.svg)](https://coveralls.io/r/chocoby/jp_prefecture)
6
- [![Code Climate](https://img.shields.io/codeclimate/github/chocoby/jp_prefecture.svg)](https://codeclimate.com/github/chocoby/jp_prefecture)
7
- [![Dependency Status](http://img.shields.io/gemnasium/chocoby/jp_prefecture.svg?style=flat)](https://gemnasium.com/chocoby/jp_prefecture)
8
8
 
9
9
  https://rubygems.org/gems/jp_prefecture
10
10
 
@@ -27,21 +27,6 @@ JIS X 0402 で定義されている都道府県コードをベースに、
27
27
 
28
28
  また、Rails のプラグインとして使用することもできます。
29
29
 
30
- ## インストール
31
-
32
- 以下の行を `Gemfile` に記述してから:
33
-
34
- ```
35
- gem 'jp_prefecture'
36
- ```
37
-
38
- `bundle` を実行してください。
39
-
40
- または、手動でインストールしてください:
41
-
42
- ```
43
- $ gem install jp_prefecture
44
- ```
45
30
 
46
31
  ## 使い方
47
32
 
@@ -56,7 +41,7 @@ require 'jp_prefecture'
56
41
  都道府県コードを渡すと、都道府県コードから都道府県を検索します:
57
42
 
58
43
  ```ruby
59
- pref = JpPrefecture::Prefecture.find 13
44
+ pref = JpPrefecture::Prefecture.find(13)
60
45
  # => #<JpPrefecture::Prefecture:0x007fceb11927d8 @code=13, @name="東京都", @name_e="Tokyo", @name_h="とうきょうと", @name_k="トウキョウト", @zips=[1000000..2080035], @area="関東">
61
46
  pref.code
62
47
  # => 13
@@ -70,23 +55,40 @@ pref.name_k
70
55
  # => "トウキョウト"
71
56
  pref.area
72
57
  # => "関東"
58
+ pref.type
59
+ # => "都"
73
60
  ```
74
61
 
75
62
  以下のように書くことも可能です:
76
63
 
77
64
  ```ruby
78
- JpPrefecture::Prefecture.find code: 13
65
+ JpPrefecture::Prefecture.find(code: 13)
66
+ ```
67
+
68
+ ### 都道府県を検索
69
+
70
+ 前方一致で都道府県を検索します:
71
+
72
+ ```ruby
73
+ # 漢字表記
74
+ JpPrefecture::Prefecture.find(name: "東京都")
75
+ JpPrefecture::Prefecture.find(name: "東京")
76
+
77
+ # 英語表記
78
+ JpPrefecture::Prefecture.find(name_e: "Tokyo")
79
+ JpPrefecture::Prefecture.find(name_e: "tokyo")
80
+
81
+ # ひらがな表記
82
+ JpPrefecture::Prefecture.find(name_h: "とうきょうと")
83
+
84
+ # カタカナ表記
85
+ JpPrefecture::Prefecture.find(name_k: "トウキョウト")
79
86
  ```
80
87
 
81
- ### 都道府県名から都道府県を検索
88
+ マッピングのすべての項目を検索します (推奨しません):
82
89
 
83
90
  ```ruby
84
- JpPrefecture::Prefecture.find name: "東京都"
85
- JpPrefecture::Prefecture.find name: "Tokyo"
86
- JpPrefecture::Prefecture.find name: "tokyo"
87
- JpPrefecture::Prefecture.find name: "トウキョウト"
88
- JpPrefecture::Prefecture.find name: "とうきょうと"
89
- JpPrefecture::Prefecture.find name: "東京"
91
+ JpPrefecture::Prefecture.find(all_fields: "東京")
90
92
  ```
91
93
 
92
94
  ### 都道府県の一覧を取得
@@ -163,49 +165,60 @@ end
163
165
  マッピングデータを指定することができます:
164
166
 
165
167
  ```ruby
166
- custom_mapping_path = "..." # /path/to/mapping_data
168
+ custom_mapping_path = "/path/to/mapping_data.yml"
167
169
 
168
170
  JpPrefecture.setup do |config|
169
- config.mapping_data = YAML.load_file custom_mapping_path
171
+ config.mapping_data = YAML.load_file(custom_mapping_path)
170
172
  end
171
173
  ```
172
174
 
173
175
  マッピングデータのフォーマットについては [prefecture.yml](https://github.com/chocoby/jp_prefecture/blob/master/data/prefecture.yml) を参考にしてください。
174
176
 
175
- ## ドキュメント
177
+ ### 郵便番号の情報を変更する
176
178
 
177
- [http://rdoc.info/github/chocoby/jp_prefecture/master/frames/index](http://rdoc.info/github/chocoby/jp_prefecture/master/frames/index)
179
+ ```ruby
180
+ custom_zip_mapping_path = "/path/to/zip_mapping_data.yml"
178
181
 
179
- ## TODO
182
+ JpPrefecture.setup do |config|
183
+ config.zip_mapping_data = YAML.load_file(custom_zip_mapping_path)
184
+ end
185
+ ```
180
186
 
181
- GitHub [Issues](https://github.com/chocoby/jp_prefecture/issues) を参照してください。
187
+ データのフォーマットについては [zip.yml](https://github.com/chocoby/jp_prefecture/blob/master/data/zip.yml) を参考にしてください。
182
188
 
183
- ## サポートしているバージョン
184
189
 
185
- * Ruby: 1.9.3 / 2.0.0 / 2.1 / 2.2 / 2.3
186
- * Rails: 3.2 / 4.0 / 4.1 / 4.2
190
+ ## インストール
187
191
 
188
- ## Contributing
192
+ 以下の行を `Gemfile` に記述してから:
193
+
194
+ ```ruby
195
+ gem 'jp_prefecture'
196
+ ```
189
197
 
190
- 1. Fork it
191
- 2. Create your feature branch (`git checkout -b my-new-feature`)
192
- 3. Commit your changes (`git commit -am 'Added some feature'`)
193
- 4. Push to the branch (`git push origin my-new-feature`)
194
- 5. Create new Pull Request
198
+ `bundle` を実行してください。
195
199
 
196
- ## テスト
200
+ または、手動でインストールしてください:
197
201
 
198
202
  ```
199
- git clone https://github.com/chocoby/jp_prefecture.git
200
- cd jp_prefecture
201
- bundle install --path .bundle
202
- bundle exec rspec
203
+ $ gem install jp_prefecture
203
204
  ```
204
205
 
205
- ## GitHub
206
206
 
207
- https://github.com/chocoby/jp_prefecture
207
+ ## ドキュメント
208
+
209
+ [http://rdoc.info/github/chocoby/jp_prefecture/master/frames/index](http://rdoc.info/github/chocoby/jp_prefecture/master/frames/index)
210
+
211
+ ## サポートしているバージョン
212
+
213
+ * Ruby: 2.4 - 3.0
214
+ * Rails: 5.0 - 6.1
208
215
 
209
- ## ライセンス
216
+ これより古い Ruby/Rails バージョンを使用する場合は、[`v0.11.0`](https://github.com/chocoby/jp_prefecture/tree/0.x) を利用してください。
210
217
 
211
- [MIT License](http://chocoby.mit-license.org/)
218
+ ## Contributing
219
+
220
+ [CONTRIBUTING.md](https://github.com/chocoby/jp_prefecture/blob/master/CONTRIBUTING.md) を確認してください。
221
+
222
+ ## GitHub
223
+
224
+ https://github.com/chocoby/jp_prefecture
data/README_EN.md ADDED
@@ -0,0 +1,227 @@
1
+ # JpPrefecture
2
+
3
+ [**Japanese**](README.md)
4
+
5
+ [![Gem Version](http://img.shields.io/gem/v/jp_prefecture.svg?style=flat)](https://rubygems.org/gems/jp_prefecture)
6
+ [![GitHub Actions](https://github.com/chocoby/jp_prefecture/workflows/Build/badge.svg)](https://github.com/chocoby/jp_prefecture)
7
+ [![Coveralls](https://img.shields.io/coveralls/chocoby/jp_prefecture.svg)](https://coveralls.io/r/chocoby/jp_prefecture)
8
+
9
+ https://rubygems.org/gems/jp_prefecture
10
+
11
+ ## Description
12
+
13
+ Convert prefecture code to prefecture name in Japan.
14
+
15
+ Based on JIS X 0402. Remove 0 when prefecture code start with 0.
16
+
17
+ ```
18
+ Hokkaido: 01 -> 1
19
+ Tokyo: 13 -> 13
20
+ ```
21
+
22
+ Reference(Japanese): [Wikipedia: 全国地方公共団体コード](http://ja.wikipedia.org/wiki/%E5%85%A8%E5%9B%BD%E5%9C%B0%E6%96%B9%E5%85%AC%E5%85%B1%E5%9B%A3%E4%BD%93%E3%82%B3%E3%83%BC%E3%83%89#.E9.83.BD.E9.81.93.E5.BA.9C.E7.9C.8C.E3.82.B3.E3.83.BC.E3.83.89)
23
+
24
+ You can change prefecture code and prefecture name's mapping data. Please check this [Customize mapping data](#customize-mapping-data)
25
+
26
+ Also available as a Rails plugin
27
+
28
+ ## Usage
29
+
30
+ ### Requirement
31
+
32
+ ```ruby
33
+ require 'jp_prefecture'
34
+ ```
35
+
36
+ ### Search Prefecture by Code
37
+
38
+ Provide prefecture code to search prefecture's data
39
+
40
+ ```ruby
41
+ pref = JpPrefecture::Prefecture.find(13)
42
+ # => #<JpPrefecture::Prefecture:0x007fceb11927d8 @code=13, @name="東京都", @name_e="Tokyo", @name_h="とうきょうと", @name_k="トウキョウト", @zips=[1000000..2080035], @area="関東">
43
+ pref.code
44
+ # => 13
45
+ pref.name
46
+ # => "東京都"
47
+ pref.name_e
48
+ # => "Tokyo"
49
+ pref.name_h
50
+ # => "とうきょうと"
51
+ pref.name_k
52
+ # => "トウキョウト"
53
+ pref.area
54
+ # => "関東"
55
+ pref.type
56
+ # => "都"
57
+ ```
58
+
59
+ or
60
+
61
+ ```ruby
62
+ JpPrefecture::Prefecture.find(code: 13)
63
+ ```
64
+
65
+ ### Search by Prefecture Name
66
+
67
+ Search for a prefecture by forward match.
68
+
69
+ ```ruby
70
+ # Kanji
71
+ JpPrefecture::Prefecture.find(name: "東京都")
72
+ JpPrefecture::Prefecture.find(name: "東京")
73
+
74
+ # English
75
+ JpPrefecture::Prefecture.find(name_e: "Tokyo")
76
+ JpPrefecture::Prefecture.find(name_e: "tokyo")
77
+
78
+ # Hiragana
79
+ JpPrefecture::Prefecture.find(name_h: "とうきょうと")
80
+
81
+ # Katakana
82
+ JpPrefecture::Prefecture.find(name_k: "トウキョウト")
83
+ ```
84
+
85
+ Search all items in the mapping (not recommended).
86
+
87
+ ```ruby
88
+ JpPrefecture::Prefecture.find(all_fields: "東京")
89
+ ```
90
+
91
+ ### All Prefectures
92
+
93
+ ```ruby
94
+ JpPrefecture::Prefecture.all
95
+ # => [#<JpPrefecture::Prefecture:0x007fceb119a2a8 @code=1, @name="北海道", @name_e="Hokkaido", @name_h="ほっかいどう", @name_k="ホッカイドウ", @zips=[10000..70895, 400000..996509], @area="北海道">, ...]
96
+ ```
97
+
98
+ ### Usage on Rails (ActiveRecord)
99
+
100
+ Include JpPrefecture to Model which `ActiveRecord::Base` inherited.
101
+
102
+ app/models/place.rb:
103
+
104
+ ```ruby
105
+ class Place < ActiveRecord::Base
106
+ # prefecture_code:integer
107
+
108
+ include JpPrefecture
109
+ jp_prefecture :prefecture_code
110
+ end
111
+ ```
112
+
113
+ By JpPrefecture included, `prefecture` method will be generated:
114
+
115
+ ```ruby
116
+ place = Place.new
117
+ place.prefecture_code = 13
118
+ place.prefecture.name_e
119
+ # => "Tokyo"
120
+ ```
121
+
122
+ Customize `prefecture` method name with `method_name` option:
123
+
124
+ ```ruby
125
+ # model
126
+ jp_prefecture :prefecture_code, method_name: :pref
127
+
128
+ place = Place.new
129
+ place.prefecture_code = 13
130
+ place.pref.name_e
131
+ # => "Tokyo"
132
+ ```
133
+
134
+ ### Template usage
135
+
136
+ Use `collection_select` to generate selector in view:
137
+
138
+ ```ruby
139
+ # Selector prefecture name in English
140
+ f.collection_select :prefecture_code, JpPrefecture::Prefecture.all, :code, :name_e
141
+
142
+ # Selector prefecture name in Japanese
143
+ f.collection_select :prefecture_code, JpPrefecture::Prefecture.all, :code, :name
144
+ ```
145
+
146
+ ### Migration
147
+
148
+ Set `prefecture_code` column type to `integer` or `string`.
149
+
150
+ Example:
151
+
152
+ ```ruby
153
+ class AddPrefectureCodeToPlaces < ActiveRecord::Migration
154
+ def change
155
+ add_column :places, :prefecture_code, :integer
156
+ end
157
+ end
158
+ ```
159
+
160
+ ### Customize Mapping Data
161
+
162
+ Customize mapping data with `mapping_data`.
163
+
164
+ ```ruby
165
+ custom_mapping_path = "/path/to/mapping_data.yml"
166
+
167
+ JpPrefecture.setup do |config|
168
+ config.mapping_data = YAML.load_file(custom_mapping_path)
169
+ end
170
+ ```
171
+
172
+ Check out [prefecture.yml](https://github.com/chocoby/jp_prefecture/blob/master/data/prefecture.yml) for data format.
173
+
174
+ ### Customize Zip Code Data
175
+
176
+ Customize zip code data with `zip_mapping_data`.
177
+
178
+ ```ruby
179
+ custom_zip_mapping_path = "/path/to/zip_mapping_data.yml"
180
+
181
+ JpPrefecture.setup do |config|
182
+ config.zip_mapping_data = YAML.load_file(custom_zip_mapping_path)
183
+ end
184
+ ```
185
+
186
+ Check out [zip.yml](https://github.com/chocoby/jp_prefecture/blob/master/data/zip.yml) for data format.
187
+
188
+
189
+ ## Installation
190
+
191
+ Add this line in Gemfile.
192
+
193
+ ```ruby
194
+ gem 'jp_prefecture'
195
+ ```
196
+
197
+ Run
198
+
199
+ ```
200
+ $ bundle
201
+ ```
202
+
203
+ Or install gem with `gem install`
204
+
205
+ ```
206
+ $ gem install jp_prefecture
207
+ ```
208
+
209
+
210
+ ## Documentation
211
+
212
+ [http://rdoc.info/github/chocoby/jp_prefecture/master/frames/index](http://rdoc.info/github/chocoby/jp_prefecture/master/frames/index)
213
+
214
+ ## Supported versions
215
+
216
+ * Ruby: 2.4 - 3.0
217
+ * Rails: 5.0 - 6.1
218
+
219
+ If you are using an older Ruby/Rails version, please use [`v0.11.0`](https://github.com/chocoby/jp_prefecture/tree/0.x).
220
+
221
+ ## Contributing
222
+
223
+ See [CONTRIBUTING.md](https://github.com/chocoby/jp_prefecture/blob/master/CONTRIBUTING.md).
224
+
225
+ ## GitHub
226
+
227
+ https://github.com/chocoby/jp_prefecture