如何将rails应用程序转换为gem?

时间:2012-07-16 18:13:38

标签: ruby-on-rails ruby-on-rails-3 rubygems

我在rails应用程序上有一个需要宝石的ruby。珠宝商,帮助创建基本的rubygems。但是,如何将rails应用程序打包为gem?我有一个主应用程序,需要我的rails应用程序作为宝石。我无法集成它们,因为主要的rails应用程序将用作管理应用程序来控制较小的应用程序,在其中作为宝石/引擎运行。

1 个答案:

答案 0 :(得分:4)

从Rails 3.0开始,任何Rails应用程序都是引擎。要将您的应用程序包装到gem中,您应该:

  1. 使用捆绑器或珠宝商或其他东西创建新的宝石。
  2. 将您的应用程序代码插入gem的lib /目录。
  3. 您的应用的所有类都应该在MyGem模块中,因此请在您的类名之前添加MyGem,例如:Article => MyGem ::文章。所有控制器,模型等都应使用模块GemName命名。
  4. 您的文件lib / my_gem.rb应包含下一个代码:

    module MyGem
      class Engine < Rails::Engine; end
    end
    
  5. <强> UPD

    如果您使用可安装的引擎,那就更好了:

    $ rails plugin new MyGem
    

    它生成可安装的引擎,带有用于测试和gemspec的虚拟应用程序。