Sha256: 4ad033e0b184bbabc1e790981060554668277df22f76202d8f55aa89e34ba71a

Contents?: true

Size: 527 Bytes

Versions: 1

Compression:

Stored size: 527 Bytes

Contents

class PaymentCalculator::FlatPercentItemTotal < Calculator
  preference :flat_percent, :decimal, :default => 0
  
  # Register the calculator
  def self.register
    super
    PaymentMethod.register_calculator(self)
  end
  
  def self.description
    I18n.t("flat_percent")
  end

  def compute(object)
    return unless object.present? and object.line_items.present?
    item_total = object.line_items.map(&:amount).sum
    value = item_total * self.preferred_flat_percent / 100.0
    (value * 100).round.to_f / 100
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spree_payment_calculator-0.70.0 app/model/payment_calculator/flat_percent_item_total.rb