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