13th Tue
Merb用Generatorの作り方
MerbのGeneratorは、merb-genというコマンドに集約されています。
Railsではscript/{generate|destroy}を使いますが、独立したコマンドになっているので、
MERB_ROOT以外の場所でも利用可能です。
さて、Merbでも、RailsのようにGeneratorを独自に作る事が出来るのですが、
そのためにはGEM_ROOTにGeneratorsというファイルを作り、
以下のように自分をGeneratorとして登録するコードを書きます。
ruby>>
scope 'merb-gen' do
dir = File.join(File.dirname(FILE), 'lib', 'generators/')
Merb.add_generators dir + 'mailer_generator'
end
<<--
MerbのGeneratorは、より汎用的なGeneratorを作る仕組みである、
templater
を使って実装されています。
そのため、Merb用のGeneratorを作る場合は、上記ファイルのscopeに
merb-genを指定する必要があります。
Railsの場合は、foo_generater のようにGem名のサフィックスでGenerator
を提供するかどうか判別していましたが、
こっちのほうがもっと賢いやり方だと思います。
posted by
genki on Tue 13 Jan 2009 at 23:24 with 0 comments