编写自己的脚手架发电机,作为宝石出口

时间:2009-12-04 21:03:35

标签: ruby-on-rails rubygems

我已经创建了自己的脚手架生成器,现在它位于我的〜/ .rails / generator / scaffold目录中。我如何制作宝石以便在我正在使用的其他机器上使用我的发生器,而无需在每个盒子上复制〜/ .rails文件夹?我将推迟Github上的宝石

1 个答案:

答案 0 :(得分:1)

来自documentation

  

对于RubyGem,请放置您的生成器   lib中的类和模板   目录。对于Rails插件,请创建一个   生成器目录的根目录   你的插件。

然而,这有点模糊。

来自Rails :: Generator :: Lookup源:

  1. Rails应用程序。如果定义了RAILS_ROOT,我们就知道了 在Rails应用程序的上下文中生成,所以搜索 RAILS_ROOT /发电机。

  2. 查看插件,发生器/或rails_generators / 每个插件中的目录

  3. 用户主目录。搜索〜/ .rails / generators。

  4. RubyGems的。搜索名为* _generator的宝石,并寻找 任何RubyGem中的生成器 /rails_generators/_generator.rb文件。

  5. 内置命令。模型,控制器,邮件程序,脚手架等。

  6. 单个生成器gem的结构应如下所示:

    • my_scaffold_generator /
      • LIB /
      • my_scaffold_generator.rb
      • required_file.rb
      • 模板/
      • ...

    包含多个生成器的gem应该是这样构造的:

    • my_cool_generators /
      • rails_generators /
      • cool_scaffold /
      • cool_scaffold_generator.rb
      • LIB /
        • required_file.rb
        • ...
      • 模板/
        • ...
      • cool_controller /
      • cool_controller_generator.rb
      • LIB /
        • required_files.rb
        • ...
      • 模板/
        • ...