Module: SpreeCmCommissioner::PriceDecorator
- Defined in:
- app/models/spree_cm_commissioner/price_decorator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #event_id ⇒ Object
- #should_trigger_event_price_range_refresh? ⇒ Boolean
- #trigger_event_price_range_refresh ⇒ Object
Class Method Details
.prepended(base) ⇒ Object
3 4 5 6 |
# File 'app/models/spree_cm_commissioner/price_decorator.rb', line 3 def self.prepended(base) base.belongs_to :inventory_item, class_name: 'SpreeCmCommissioner::InventoryItem', inverse_of: :prices, optional: true base.after_commit :trigger_event_price_range_refresh, if: :should_trigger_event_price_range_refresh? end |
Instance Method Details
#event_id ⇒ Object
12 13 14 |
# File 'app/models/spree_cm_commissioner/price_decorator.rb', line 12 def event_id variant&.product&.event_id end |
#should_trigger_event_price_range_refresh? ⇒ Boolean
8 9 10 |
# File 'app/models/spree_cm_commissioner/price_decorator.rb', line 8 def should_trigger_event_price_range_refresh? (saved_change_to_amount? || saved_change_to_currency?) && event_id.present? end |
#trigger_event_price_range_refresh ⇒ Object
16 17 18 19 20 21 |
# File 'app/models/spree_cm_commissioner/price_decorator.rb', line 16 def trigger_event_price_range_refresh SpreeCmCommissioner::MaintenanceTasks::Event.pending.create_or_find_by( maintainable_type: 'Spree::Taxon', maintainable_id: event_id ) end |