MerbのGeneratorは、merb-genというコマンドに集約されています。 Railsではscript/{generate|destroy}を使いますが、独立したコマンドになっているので、 MERB_ROOT以外の場所でも利用可能です。

さて、Merbでも、RailsのようにGeneratorを独自に作る事が出来るのですが、 そのためにはGEM_ROOTにGeneratorsというファイルを作り、 以下のように自分をGeneratorとして登録するコードを書きます。

   1  scope 'merb-gen' do
   2    dir = File.join(File.dirname(__FILE__), 'lib', 'generators/')
   3    Merb.add_generators dir + 'mailer_generator'
   4  end

MerbのGeneratorは、より汎用的なGeneratorを作る仕組みである、 templater を使って実装されています。 そのため、Merb用のGeneratorを作る場合は、上記ファイルのscopeに merb-genを指定する必要があります。

Railsの場合は、foo_generater のようにGem名のサフィックスでGenerator を提供するかどうか判別していましたが、 こっちのほうがもっと賢いやり方だと思います。

posted by Png genki on Tue 13 Jan 2009 at 23:30

Comments:

or Preview
Social Bookmarks
  • Delicious
  • B_entry1214
  • Clip_16_12_w
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ