我有一个孤立的Rails引擎,Gemgento。它依赖于装饰器来为应用程序添加功能。这很好用,模型/控制器装饰器只需进入/app/decorators/models/gemgento/model_decorator.rb。
但是,我有一些宝石可以与Gemgento配对,并为特定的Magento扩展扩展它的功能。我需要在一个单独的gem中添加一个Gemgento模型装饰器。宝石已经需要Gemgento并使用它的一些API模型。
如何从单独的宝石中装饰引擎模型?
这是宝石 - https://github.com/gemgento/webtex_gift_cards
通常,在我的申请中,我会写:
Gemgento::Order.class_eval do
def add_to_cart(product, quantity)
if product.magento_type == 'gift_card'
GemgentoWebtexGiftCards.add_to_cart(self.magento_quote_id, ....)
else
...
end
end
end
如何在宝石中完成?