Sha256: ac8a00dad28142a9748c14b0c14719af52b74469d97b0483db32c24d3fe2bc7c

Contents?: true

Size: 545 Bytes

Versions: 5

Compression:

Stored size: 545 Bytes

Contents

# frozen_string_literal: true

require_dependency "spree/calculator"

module SolidusPromotions
  module Calculators
    class FlatRate < Spree::Calculator
      include PromotionCalculator

      preference :amount, :decimal, default: 0
      preference :currency, :string, default: -> { Spree::Config[:currency] }

      def compute(object = nil)
        currency = object.order.currency
        if object && preferred_currency.casecmp(currency).zero?
          preferred_amount
        else
          0
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
solidus_promotions-4.5.1 app/models/solidus_promotions/calculators/flat_rate.rb
solidus_promotions-4.5.0 app/models/solidus_promotions/calculators/flat_rate.rb
solidus_promotions-4.4.2 app/models/solidus_promotions/calculators/flat_rate.rb
solidus_promotions-4.4.1 app/models/solidus_promotions/calculators/flat_rate.rb
solidus_promotions-4.4.0 app/models/solidus_promotions/calculators/flat_rate.rb