Module: SpreeCmCommissioner::PriceDecorator

Defined in:
app/models/spree_cm_commissioner/price_decorator.rb

Class Method Summary collapse

Instance Method Summary collapse

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_idObject



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

Returns:

  • (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_refreshObject



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