13th Sun
Generator Gemの作り方
Generatorプラグインを作る方法はこちらの
「Generatorプラグインの作り方」
を参照していただくとして、今回はGenerator Gemの作り方を紹介します。
Generatorの実装自体は、基本的にはプラグインと同様でOKです。
Generatorプラグインの場合、
vendor/plugins/foo_generator/generators/foo/
以下にfoo Generatorを置くのですが、Generator Gemの場合は
foo/以下をそのままGemのルートディレクトリに持ってきます。
つまり、以下のような感じのファイル構成になります。
sh>>
[GEM_ROOT] % ls
foo_generator.rb templates/ README.txt
<<--
注意すべき点は以下の二つです。
- Gemの名称は
foo_generatorでなければならない。これは、RailsがGenerator GemをLookupするのにGem名のパターンマッチを行っているからです。 - foo_generator.rbの先頭で、Generatorの既定クラスの定義をrequireする。例えば、Rails::Generator::NamedBaseの派生Generatorを作るのであれば、先頭に以下を加えます。
ruby>>
require "rails_generator/base"
<<--
あとはGemを作ってインストールすればOK。./script/generate -hを実行して、作ったGemが
Installed Generators / Rubygems: の項に入ってるかどうか確認してみましょう。
posted by
genki on Sun 13 Apr 2008 at 12:07 with 0 comments