Sha256: d06d298b32ee5e0fc44acfbacdd68c2322d470a7981e22b9d98e20f84c73248e

Contents?: true

Size: 408 Bytes

Versions: 8

Compression:

Stored size: 408 Bytes

Contents

class Calculator::FlatPercentItemTotal < Calculator
  preference :flat_percent, :decimal, :default => 0

  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

8 entries across 8 versions & 1 rubygems

Version Path
spree_core-0.70.7 app/models/calculator/flat_percent_item_total.rb
spree_core-0.70.6 app/models/calculator/flat_percent_item_total.rb
spree_core-0.70.5 app/models/calculator/flat_percent_item_total.rb
spree_core-0.70.4 app/models/calculator/flat_percent_item_total.rb
spree_core-0.70.3 app/models/calculator/flat_percent_item_total.rb
spree_core-0.70.2 app/models/calculator/flat_percent_item_total.rb
spree_core-0.70.1 app/models/calculator/flat_percent_item_total.rb
spree_core-0.70.0 app/models/calculator/flat_percent_item_total.rb