Class: SpreeCmCommissioner::PricingAction

Inherits:
Base
  • Object
show all
Includes:
Spree::AdjustmentSource, Spree::CalculatedAdjustments
Defined in:
app/models/spree_cm_commissioner/pricing_action.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.available_calculator_typesObject



20
21
22
# File 'app/models/spree_cm_commissioner/pricing_action.rb', line 20

def self.available_calculator_types
  SpreeCmCommissioner::Calculators.constants.map(&:to_s)
end

Instance Method Details

#compute_amount(adjustable) ⇒ Object



16
17
18
# File 'app/models/spree_cm_commissioner/pricing_action.rb', line 16

def compute_amount(adjustable)
  calculator&.compute(adjustable) || 0
end

#perform(_options = {}) ⇒ Object

Raises:

  • (NotImplementedError)


12
13
14
# File 'app/models/spree_cm_commissioner/pricing_action.rb', line 12

def perform(_options = {})
  raise NotImplementedError, "#{self.class}#perform must be implemented"
end