pockestrap

Programmer's memo

都道府県のマスタテーブルを作るGemを作った

つくりました

github.com

todofuken | RubyGems.org | your community gem host

Ruby on Rails 用に、都道府県のマスタテーブルを作成するGemです。 Rails の generator を利用しています。

Installation

普通のGemと同じように、Gemfileに以下を記載します。

gem 'todofuken'

そして、bundle installを実行します。

Usage

以下のコマンドを実行します。

$ rails generate todofuken:install prefecture
    generate  model
      invoke  active_record
      create    db/migrate/20160412112336_create_prefectures.rb
      create    app/models/prefecture.rb
      invoke    rspec
      create      spec/models/prefecture_spec.rb
      invoke      factory_girl
      create        spec/factories/prefectures.rb
      insert  db/seeds.rb
$ rake db:migrate db:seed

すると、都道府県用のマスタテーブルとseedデータを作成します。
また、作成されるレコードのIDは、都道府県コードに対応しています。

このGemはモデルを作成することしかしないので、コマンドを実行した後はGemfileからこのGemを削除しても問題ありません。
また、生成されたmigrationファイルやseeds.rbは自由に編集することが出来ます。

参考リンク

Generator を作成する上で参考にしたページなど。
Railsガイドを読めば事足りると思う。

類似のGemなど

jp_prefectureというGemでも、Rails都道府県を扱うことが出来るようです。
jp_prefecture ではDBには都道府県コードか都道府県名を保存することが出来そうです。
今回はマスタテーブルが欲しい気分だったので、こちらのGemを使用せずに自分でGemを作成しました。FK制約あるし。