Generator で使えるアクション
Rails3 の Generator で使えるアクションは Thor::Actions ベースに Rails でさらに追加されている。
- http://github.com/wycats/thor/blob/master/lib/thor/actions.rb Thor::Action
- http://github.com/rails/rails/blob/master/railties/lib/rails/generators/actions.rb Rails::Generators::Action
このエントリの目的は↑の URL のメモなんだが、一応少し説明。
例えば active_record の model ファイルのソースのこの部分では Thor の template メソッドを利用してファイルを生成している。
template 'model.rb', File.join('app/models', class_path, "#{file_name}.rb")
rails new コマンドに -m オプションで与えるアプリケーションテンプレートも、Generator の一種なので同じように使用できる。これを使えば定番処理をしなくて済むのでぜひ利用したい。
というか GitHub で共有しとくといいと思う。rails3 template で検索すると少し出てくるがこのレポジトリが役にたった。