diff --git a/app/models/spree/product_decorator.rb b/app/models/spree/product_decorator.rb index cc8b213bde..0199261cdb 100644 --- a/app/models/spree/product_decorator.rb +++ b/app/models/spree/product_decorator.rb @@ -1,4 +1,8 @@ +require 'open_food_network/scope_product_to_hub' + Spree::Product.class_eval do + include OpenFoodNetwork::ProductScopableToHub + # We have an after_destroy callback on Spree::ProductOptionType. However, if we # don't specify dependent => destroy on this association, it is not called. See: # https://github.com/rails/rails/issues/7618 diff --git a/app/models/spree/variant_decorator.rb b/app/models/spree/variant_decorator.rb index 5cd5c39155..13908382f9 100644 --- a/app/models/spree/variant_decorator.rb +++ b/app/models/spree/variant_decorator.rb @@ -1,7 +1,10 @@ +require 'open_food_network/scope_variant_to_hub' require 'open_food_network/enterprise_fee_calculator' require 'open_food_network/option_value_namer' Spree::Variant.class_eval do + include OpenFoodNetwork::VariantScopableToHub + has_many :exchange_variants, dependent: :destroy has_many :exchanges, through: :exchange_variants diff --git a/lib/open_food_network/scope_product_to_hub.rb b/lib/open_food_network/scope_product_to_hub.rb index 7d5e0aa067..b214abc0d8 100644 --- a/lib/open_food_network/scope_product_to_hub.rb +++ b/lib/open_food_network/scope_product_to_hub.rb @@ -6,11 +6,11 @@ module OpenFoodNetwork super.each { |v| v.scope_to_hub @hub } end end -end -Spree::Product.class_eval do - def scope_to_hub(hub) - extend OpenFoodNetwork::ScopeProductToHub - @hub = hub + module ProductScopableToHub + def scope_to_hub(hub) + extend OpenFoodNetwork::ScopeProductToHub + @hub = hub + end end end diff --git a/lib/open_food_network/scope_variant_to_hub.rb b/lib/open_food_network/scope_variant_to_hub.rb index e059bdd5bf..91ed634043 100644 --- a/lib/open_food_network/scope_variant_to_hub.rb +++ b/lib/open_food_network/scope_variant_to_hub.rb @@ -20,11 +20,11 @@ module OpenFoodNetwork end end end -end -Spree::Variant.class_eval do - def scope_to_hub(hub) - extend OpenFoodNetwork::ScopeVariantToHub - @hub = hub + module VariantScopableToHub + def scope_to_hub(hub) + extend OpenFoodNetwork::ScopeVariantToHub + @hub = hub + end end end