jp_municipality 0.2.0 → 0.3.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 +4 -4
- data/CHANGELOG.md +7 -0
- data/CODE_OF_CONDUCT.md +1 -1
- data/README.ja.md +44 -15
- data/app/models/jp_municipality/municipality.rb +11 -4
- data/data/municipalities.csv +1963 -1788
- data/db/migrate/20180226073252_create_municipalities.rb +5 -2
- data/lib/jp_municipality/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ad0c0ff000fec4cde1d4c29eb029930084c31c1ef664cde7557039815757804
|
4
|
+
data.tar.gz: 9a0abc0042445e7f4d0074b14b8f6172839d75e7fe1f0011fe9705d66e354a7c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e722d3f2862eaa31d5222e688d4361d1ba22170aeec8d1bac8147bb995bd4033b0512e16ac2f8e6ab1a3fcfca17b09613136dd96ef3e9a8ee74d25cca7ee4ba
|
7
|
+
data.tar.gz: f0b785929ef8c8cd7ea9df37277f428927481055a70bd198ff4e41f14790787b2a0ff16a669eb1a47c751114b5fbf09e022bfbaa627040115f2c2f32f1f5a500
|
data/CHANGELOG.md
CHANGED
data/CODE_OF_CONDUCT.md
CHANGED
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
|
|
55
55
|
## Enforcement
|
56
56
|
|
57
57
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
58
|
-
reported by contacting the project team at h-izumi@
|
58
|
+
reported by contacting the project team at h-izumi@9uelle.jp. All
|
59
59
|
complaints will be reviewed and investigated and will result in a response that
|
60
60
|
is deemed necessary and appropriate to the circumstances. The project team is
|
61
61
|
obligated to maintain confidentiality with regard to the reporter of an incident.
|
data/README.ja.md
CHANGED
@@ -10,32 +10,44 @@
|
|
10
10
|
|
11
11
|
### 全国地方公共団体コードを指定して市区町村を取得
|
12
12
|
|
13
|
-
```
|
13
|
+
```ruby
|
14
14
|
JpMunicipility::Municipality.find("465291")
|
15
|
-
# => #<JpMunicipality::Municipality
|
15
|
+
# => #<JpMunicipality::Municipality> {
|
16
16
|
:code => "465291",
|
17
17
|
:prefecture_code => "46",
|
18
|
+
:district_name => "大島郡",
|
18
19
|
:name => "喜界町",
|
19
|
-
|
20
|
+
:district_kana => "オオシマグン",
|
21
|
+
:kana => "キカイチョウ",
|
22
|
+
:district_name_e => "OSHIMA GUN",
|
23
|
+
:name_e => "KIKAI CHO"
|
20
24
|
}
|
21
25
|
```
|
22
26
|
|
23
27
|
### 都道府県コードを指定して市区町村の配列を取得
|
24
28
|
|
25
|
-
```
|
29
|
+
```ruby
|
26
30
|
JpMunicipality::Municipality.by_prefecture_code("46")
|
27
31
|
# => [
|
28
|
-
[ 0] #<JpMunicipality::Municipality
|
32
|
+
[ 0] #<JpMunicipality::Municipality> {
|
29
33
|
:code => "462012",
|
30
34
|
:prefecture_code => "46",
|
35
|
+
:district_name => "",
|
31
36
|
:name => "鹿児島市",
|
32
|
-
|
37
|
+
:district_kana => "",
|
38
|
+
:kana => "カゴシマシ",
|
39
|
+
:district_name_e => "",
|
40
|
+
:name_e => "KAGOSHIMA SHI"
|
33
41
|
},
|
34
|
-
[ 1] #<JpMunicipality::Municipality
|
42
|
+
[ 1] #<JpMunicipality::Municipality> {
|
35
43
|
:code => "462039",
|
36
44
|
:prefecture_code => "46",
|
45
|
+
:district_name => "",
|
37
46
|
:name => "鹿屋市",
|
38
|
-
|
47
|
+
:district_kana => "",
|
48
|
+
:kana => "カノヤシ",
|
49
|
+
:district_name_e => "",
|
50
|
+
:name_e => "KANOYA SHI"
|
39
51
|
},
|
40
52
|
# ...
|
41
53
|
]
|
@@ -43,7 +55,7 @@ JpMunicipality::Municipality.by_prefecture_code("46")
|
|
43
55
|
|
44
56
|
### 関連として参照
|
45
57
|
|
46
|
-
```
|
58
|
+
```ruby
|
47
59
|
class User < ApplicationRecord
|
48
60
|
has_municipality
|
49
61
|
# has_municipality :municipality_code # foreign_keyを指定
|
@@ -51,26 +63,34 @@ class User < ApplicationRecord
|
|
51
63
|
end
|
52
64
|
```
|
53
65
|
|
54
|
-
```
|
66
|
+
```ruby
|
55
67
|
> user.municipality_code = 131016
|
56
68
|
|
57
69
|
> user.municipality
|
58
70
|
# =>
|
59
|
-
#<JpMunicipality::Municipality
|
71
|
+
#<JpMunicipality::Municipality> {
|
60
72
|
:code => "131016",
|
61
73
|
:prefecture_code => "13",
|
74
|
+
:district_name => "",
|
62
75
|
:name => "千代田区",
|
63
|
-
|
76
|
+
:district_kana => "",
|
77
|
+
:kana => "チヨダク",
|
78
|
+
:district_name_e => "",
|
79
|
+
:name_e => "CHIYODA KU"
|
64
80
|
}
|
65
81
|
|
66
82
|
# `as: 関連名`を指定した場合
|
67
83
|
> user.city
|
68
84
|
# =>
|
69
|
-
#<JpMunicipality::Municipality
|
85
|
+
#<JpMunicipality::Municipality> {
|
70
86
|
:code => "131016",
|
71
87
|
:prefecture_code => "13",
|
88
|
+
:district_name => "",
|
72
89
|
:name => "千代田区",
|
73
|
-
|
90
|
+
:district_kana => "",
|
91
|
+
:kana => "チヨダク",
|
92
|
+
:district_name_e => "",
|
93
|
+
:name_e => "CHIYODA KU"
|
74
94
|
}
|
75
95
|
```
|
76
96
|
|
@@ -82,6 +102,11 @@ end
|
|
82
102
|
gem 'jp_municipality'
|
83
103
|
```
|
84
104
|
|
105
|
+
### アップデート
|
106
|
+
|
107
|
+
バージョン0.3.0より、郡、郡(ローマ字)、名前(ローマ字)カラムが追加されました。
|
108
|
+
バージョン0.2.0以前からアップデートする際は、以前のマイグレーションファイルをロールバック、削除した上で再度「テーブルの追加」以降の手順を実施してください。
|
109
|
+
|
85
110
|
### テーブルの追加
|
86
111
|
|
87
112
|
以下のコマンドを実行すると、マイグレーションファイルがアプリケーションの`db/migrations`へコピーされます。
|
@@ -101,4 +126,8 @@ $ bin/rails jp_municipality:load_data
|
|
101
126
|
```
|
102
127
|
|
103
128
|
## 出典
|
104
|
-
本プログラムで使用しているデータ(municipalities.csv)
|
129
|
+
本プログラムで使用しているデータ(municipalities.csv)は、以下のデータを加工・合成・補修したものです。
|
130
|
+
* [「都道府県コード及び市区町村コード」(平成28年10月10日現在)](http://www.soumu.go.jp/main_content/000562730.xls)
|
131
|
+
* [郵便番号データ](https://www.post.japanpost.jp/zipcode/download.html)
|
132
|
+
* 住所の郵便番号(CSV形式) 読み仮名データの促音・拗音を小書きで表記するもの 2018年7月31日更新版
|
133
|
+
* 住所の郵便番号(ローマ字)(CSV形式) 2018年6月21日更新版
|
@@ -33,15 +33,22 @@ class JpMunicipality::Municipality < ActiveRecord::Base
|
|
33
33
|
def self.load_data!
|
34
34
|
data_path = Pathname(__FILE__).join('..', '..', '..', '..', 'data', 'municipalities.csv')
|
35
35
|
require 'csv'
|
36
|
-
require 'nkf'
|
37
36
|
transaction do
|
38
37
|
CSV.foreach(data_path) do |row|
|
39
|
-
next if row[
|
38
|
+
next if row[6].blank?
|
40
39
|
m = find_or_initialize_by(code: row[0])
|
41
40
|
m.define_singleton_method(:readonly?){ false }
|
42
41
|
m.prefecture_code = row[0][0, 2]
|
43
|
-
|
44
|
-
m.
|
42
|
+
|
43
|
+
m.district_name = row[5]
|
44
|
+
m.name = row[6]
|
45
|
+
|
46
|
+
m.district_kana = row[2]
|
47
|
+
m.kana = row[3]
|
48
|
+
|
49
|
+
m.district_name_e = row[7]
|
50
|
+
m.name_e = row[8]
|
51
|
+
|
45
52
|
m.save! if m.changed?
|
46
53
|
end
|
47
54
|
end
|