maeshimaの日記

メモ書きです

今週のrailscasts - making generators in rails 3

http://railscasts.com/episodes/218-making-generators-in-rails-3

を見て。Rails3になって変わったgeneratorの作り方について。

基礎

内部でthorを使うようになった。

rails g generator hoge

で hoge generator のひな形を Rails.root/lib/generators 配下に作成してくれる。

利用できるメソッド

このへんは全部thorのメソッドみたい

source_root
generateする元ファイルの位置を指定
argument
引数の設定
class_option
オプションの設定
copy_file
ファイルのコピー
template
テンプレートファイルを指定した場所に出力

generator ファイルに定義した public なメソッドは自動的に実行される?と言っていたような気がした。

生成するERBテンプレートの編集

ERBテンプレートは

<%% hoge %>

のように"%"を二つ重ねる必要があるらしい

気になったところ

Rails3 beta4になって新規プロジェクトの作り方が変わったっぽい。

rails new todo 

underscoreメソッド

"ActiveRecord".underscore         # => "active_record"
"ActiveRecord::Errors".underscore # => active_record/errors

併せて読みたい

RailsGuidesに詳しい記事が載ってたので時間があったら和訳する

http://guides.rails.info/generators.html