【问题标题】:What can a ruby gem do?红宝石能做什么?
【发布时间】:2010-08-02 18:19:16
【问题描述】:

我正在研究 ruby​​ 中的一些东西,并试图弄清楚它是否可以变成宝石。我可以找到有关如何制作 gem 和 gem 手册的文档,但我找不到任何说“这就是 gem 可以做什么和不能做什么”的内容。

假设我创建了一些代码,gem 可以执行以下哪些操作? 1) 使用视图和路线等 Rails 约定* 2) 在数据库中创建和/或访问表 3) 将其类作为父类提供给 gem 用户可能想要的新代码 4) 有部分可供 gem 用户代码调用 5)expect环境文件中的字段(即要求gem用户在环境文件中添加一行)

宝石还有哪些可以或不可以做的事情?

*看起来 Rails 使用的是插件而不是 gem,但情况发生了一些变化。

提前致谢。

【问题讨论】:

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


    【解决方案1】:

    Gems 只是部署某些功能的工具(众多工具之一)。

    它喜欢 linux 系统中的 deb 和 rpm 包。它喜欢python中的setuptool和eggs。它喜欢 Windows 世界中的 MSI 包。

    我使用宝石来:

    • 打包我的库 - 功能块,可供其他应用程序使用
    • 打包我的应用程序 - 我使用 gem 作为部署我的程序的方法之一

    【讨论】:

    • 宝石可以做我上面提到的 5 件事吗?有哪些替代方案,他们可以做这 5 个中的哪一个?
    • 是的,当然。因为 gem 是任何功能的块,但它会是一个 hack。
    【解决方案2】:

    我认为插件(如引擎)可以完成您列出的大部分工作。一颗宝石……如果它侵入了导轨的内部,也许可以与之关联。

    【讨论】:

    • 我查看了引擎,但它看起来像是用于元编程的。
    猜你喜欢
    • 1970-01-01
    • 2015-07-28
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 2013-03-19
    • 1970-01-01
    • 2015-09-28
    相关资源
    最近更新 更多