2016-10-02 71 views
0

第三方包裝庫在rails應用程序中的定位有什麼最佳實踐嗎?RoR;第三方庫包裝服務對象的特定需求

我一直在開發app/service驅動方式,所以很容易在後臺封裝動作。

編號:http://brewhouse.io/blog/2014/04/30/gourmet-service-objects.html

現在的問題是

我應該在哪裏把第三方庫包裝爲特定需要?

例如,

  • Mailchimp:包裝電子郵件訂閱

  • 大蝦:對PDF收據

  • 斯萊克通知 的包裝... 。

我可以爲每一個創建寶石,或將它們放入模型中。 如果代碼足夠大,比如PDF收據包裝器,我可以去創建寶石,但是如果它很小,我認爲不要放置模型/寶石。

有什麼建議嗎?

回答

1

這真的取決於你。

您可以將自定義代碼放在config/initializers的新文件中 - 這些將自動需要。

將代碼放入lib/並將其添加到自動加載路徑中也是很常見的(還有其他一些問題)。

您也可以爲每個服務製作一個模型。您不一定需要模型的數據庫表(還有其他問題可用於配置此模型)。

我認爲這個信息(放置自定義代碼的位置)對於rails來說是非常重要的,我看到很多初學者被它困惑了。