Class: SpreeCmCommissioner::VotingCredits::CreditCalculator

Inherits:
Object
  • Object
show all
Defined in:
app/services/spree_cm_commissioner/voting_credits/credit_calculator.rb

Instance Method Summary collapse

Constructor Details

#initialize(line_item) ⇒ CreditCalculator

Returns a new instance of CreditCalculator.



4
5
6
# File 'app/services/spree_cm_commissioner/voting_credits/credit_calculator.rb', line 4

def initialize(line_item)
  @line_item = line_item
end

Instance Method Details

#callObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/services/spree_cm_commissioner/voting_credits/credit_calculator.rb', line 8

def call
  amount = credits_per_ticket * @line_item.quantity

  if amount <= 0
    CmAppLogger.log(
      label: 'VotingCredits::CreditCalculator skipped line item — vote_package_amount is 0 or missing',
      data: {
        order_id: @line_item.order_id,
        line_item_id: @line_item.id,
        variant_id: @line_item.variant_id
      }
    )
    return 0
  end

  amount
end