Sha256: 5eb3354bb4b55338496770e9754f9d3b77bdce3497eba2000c87cd70eb8a7281

Contents?: true

Size: 484 Bytes

Versions: 2

Compression:

Stored size: 484 Bytes

Contents

# frozen_string_literal: true

require_dependency "spree/calculator"

module SolidusFriendlyPromotions
  module Calculators
    class Percent < Spree::Calculator
      preference :percent, :decimal, default: 0

      def compute(object)
        preferred_currency = object.order.currency
        currency_exponent = ::Money::Currency.find(preferred_currency).exponent
        (object.discountable_amount * preferred_percent / 100).round(currency_exponent)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
solidus_friendly_promotions-1.0.0.rc.1 app/models/solidus_friendly_promotions/calculators/percent.rb
solidus_friendly_promotions-1.0.0.pre app/models/solidus_friendly_promotions/calculators/percent.rb