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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e0ffe73d67c7155589eb51d262f9efb4d94928024c480c603b2d63f873af602d
4
- data.tar.gz: c2e772776350122ebda8fa3e70a81594557cc117f0b6c17a459d5a64f0a45e79
3
+ metadata.gz: 5ad0c0ff000fec4cde1d4c29eb029930084c31c1ef664cde7557039815757804
4
+ data.tar.gz: 9a0abc0042445e7f4d0074b14b8f6172839d75e7fe1f0011fe9705d66e354a7c
5
5
  SHA512:
6
- metadata.gz: 662ec0bde33bdf3e955e8be257548484abccf254915b9b6580bd1608e47f0259eaee24499b3644318b0c9131be40c04fb5007e00ced892df4fa0fae4b83815c8
7
- data.tar.gz: 2683eb7beb1414d314fb398be7c523c27623abeb14bc6b55ca01c19cf3ad493440327f2d3241dc679b2b6e465335443d2147f05573a59ac2106500df9205b94e
6
+ metadata.gz: 7e722d3f2862eaa31d5222e688d4361d1ba22170aeec8d1bac8147bb995bd4033b0512e16ac2f8e6ab1a3fcfca17b09613136dd96ef3e9a8ee74d25cca7ee4ba
7
+ data.tar.gz: f0b785929ef8c8cd7ea9df37277f428927481055a70bd198ff4e41f14790787b2a0ff16a669eb1a47c751114b5fbf09e022bfbaa627040115f2c2f32f1f5a500
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 0.3.0 ##
2
+ * *Change table schema.*
3
+ * Update Data.
4
+ * add district name
5
+ * add romanized name
6
+ * add administrative districts of the oridinance-designated cities
7
+
1
8
  ## 0.2.0 ##
2
9
  * `has_municipality`: Set 'optional: true' as default.
3
10
 
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@tni.co.jp. All
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:0x000055e545d8b028> {
15
+ # => #<JpMunicipality::Municipality> {
16
16
  :code => "465291",
17
17
  :prefecture_code => "46",
18
+ :district_name => "大島郡",
18
19
  :name => "喜界町",
19
- :kana => "キカイチョウ"
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:0x000055e546941d68> {
32
+ [ 0] #<JpMunicipality::Municipality> {
29
33
  :code => "462012",
30
34
  :prefecture_code => "46",
35
+ :district_name => "",
31
36
  :name => "鹿児島市",
32
- :kana => "カゴシマシ"
37
+ :district_kana => "",
38
+ :kana => "カゴシマシ",
39
+ :district_name_e => "",
40
+ :name_e => "KAGOSHIMA SHI"
33
41
  },
34
- [ 1] #<JpMunicipality::Municipality:0x000055e5469402d8> {
42
+ [ 1] #<JpMunicipality::Municipality> {
35
43
  :code => "462039",
36
44
  :prefecture_code => "46",
45
+ :district_name => "",
37
46
  :name => "鹿屋市",
38
- :kana => "カノヤシ"
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:0x0000565271a105d0> {
71
+ #<JpMunicipality::Municipality> {
60
72
  :code => "131016",
61
73
  :prefecture_code => "13",
74
+ :district_name => "",
62
75
  :name => "千代田区",
63
- :kana => "チヨダク"
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:0x0000565271a105d0> {
85
+ #<JpMunicipality::Municipality> {
70
86
  :code => "131016",
71
87
  :prefecture_code => "13",
88
+ :district_name => "",
72
89
  :name => "千代田区",
73
- :kana => "チヨダク"
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)は、[「都道府県コード及び市区町村コード(平成28年10月10日現在)_Excel](http://www.data.go.jp/data/dataset/soumu_20140909_0395/resource/dff2cb46-a11e-4879-b5d9-6c4776114e9a)を加工したものです。
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[2].blank?
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
- m.name = row[2]
44
- m.kana = row[4].present? ? NKF.nkf('-Xww', row[4]) : nil
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