回报率;第三方库包装器,用于满足服务对象的特定需求

时间:2016-10-02 00:49:45

标签: ruby-on-rails ruby

有没有最佳实践可以将第三方包装器库放在rails应用程序上?

我一直在使用 app/service 驱动方式进行开发,因此很容易将这些操作封装在幕后。

参考:http://brewhouse.io/blog/2014/04/30/gourmet-service-objects.html

现在问题是

我应该在哪里放置第三方库包装器以满足特定需求?

例如,

  • Mailchimp:电子邮件订阅的包装

  • Prawn:PDF收据的包装

  • Slack notifier ....

我可以为每个人创建宝石,或者将它们放入模型中。 如果代码足够大,例如PDF收据包装器,我可以去创建宝石,但如果它很小我不认为放任何型号/宝石都不错。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

这真的取决于你。

您可以将自定义代码放入config/initializers中的新文件中 - 这些将自动生成。

将代码放入lib/并将其添加到自动加载路径中也很常见(还有其他问题)。

您也可以为每项服务制作模型。您不一定需要模型的数据库表(还有其他问题需要配置)。

我认为这些信息(在哪里放置自定义代码)对rails来说是不可或缺的,我看到很多初学者都对它感到困惑。