つくりました
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ガイドを読めば事足りると思う。
- Rails ジェネレータとテンプレート入門 | Rails ガイド
- [rails] rails generate xxx:install(カスタム Generator の作り方) - Qiita
- rails でカスタム generator 作る話 - scramble cadenza
類似のGemなど
- jp_prefecture という都道府県を扱う gem を作った - 暇人じゃない
- chocoby/jp_prefecture: Convert japan prefecture code(JIS X 0402 based) into prefecture name.
jp_prefecture
というGemでも、Railsで都道府県を扱うことが出来るようです。
jp_prefecture ではDBには都道府県コードか都道府県名を保存することが出来そうです。
今回はマスタテーブルが欲しい気分だったので、こちらのGemを使用せずに自分でGemを作成しました。FK制約あるし。