从gems管理Rails依赖项APART

时间:2014-01-19 02:41:36

标签: ruby ruby-on-rails-3 ruby-on-rails-4 bundler

我正在寻找管理rails项目的外部依赖项的建议/资源/方法,除了ruby游戏(捆绑器完美无缺)。例如,我想添加检查以查看是否像

这样的内容
  1. 一些外部二进制文件(例如gdal,python等等。)
  2. 设置或不设置某些环境变量(如aws访问密钥..等..)
  3. 今天是圣诞节吗??
  4. 还有一些。

    如果可以将这些检查添加到bundler并显示错误消息(如果某些其他用户定义的项目依赖项缺失或不存在),那么我们会想到一件事情。我不是在寻找版本管理或任何花哨的东西。只需添加一些自定义代码检查即可查看所有依赖项(当然除了宝石)。

    或者人们有更好的方式吗?使用单元测试可能会?如果初学者不知道如何运行单元测试怎么办?

    原因我问这个问题,例如我作为一个有经验的铁路开发人员希望与刚开始的人合作。我想让项目安装和设置变得简单,如果有的话,会让错误变得冗长。

    建议和良好资源的链接欢迎。

    更新

    是否有一种“优雅”的方式来为Bundler添加一些钩子?说让它从测试中运行一些单元测试或什么?

    此外,我不一定要查找此检查以安装这些外部依赖项。只需检查它们,如果检查失败,则显示用户友好的消息并提示如何安装它们。

    简单的示例代码会很棒..

1 个答案:

答案 0 :(得分:1)

majioa建议使用rake任务是有道理的。你需要以某种方式运行shell命令,rake允许你更自然地将它们集成到你的Rails应用程序中。

我不确定你是如何挂钩bundle的,但是可以挂钩Rails的rake任务(参见this answer)。 db:createdb:migrate是您可以参与的常见初始任务。请参阅this post作为学习佣金的起点。

尽管如此,设置机器似乎应该与应用程序本身分开考虑。你之前看过Chef吗?