diff options
Diffstat (limited to 'app/decorators/models/solidus_subscriptions/spree/variant/auto_delete_from_subscriptions.rb')
-rw-r--r-- | app/decorators/models/solidus_subscriptions/spree/variant/auto_delete_from_subscriptions.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/app/decorators/models/solidus_subscriptions/spree/variant/auto_delete_from_subscriptions.rb b/app/decorators/models/solidus_subscriptions/spree/variant/auto_delete_from_subscriptions.rb new file mode 100644 index 0000000..bba173e --- /dev/null +++ b/app/decorators/models/solidus_subscriptions/spree/variant/auto_delete_from_subscriptions.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module SolidusSubscriptions + module Spree + module Variant + module AutoDeleteFromSubscriptions + def self.prepended(base) + base.after_discard(:remove_from_subscriptions) + base.after_destroy(:remove_from_subscriptions) + end + + def remove_from_subscriptions + SolidusSubscriptions::LineItem.where(subscribable: self).delete_all + end + end + end + end +end + +Spree::Variant.prepend(SolidusSubscriptions::Spree::Variant::AutoDeleteFromSubscriptions) |