Sha256: 7c21f2c76bf6f143e09e6a2584d6b1c2fc43d3e85a425579064199b735274c73

Contents?: true

Size: 766 Bytes

Versions: 34

Compression:

Stored size: 766 Bytes

Contents

module Workarea
  module Pricing
    module Calculator
      extend ActiveSupport::Concern

      class TestRequest < Request
        def order
          @persisted_order
        end

        def shippings
          @persisted_shippings
        end
      end

      included do
        attr_reader :request
        delegate :order, :shippings, :pricing, :discounts, to: :request
      end

      module ClassMethods
        def test_adjust(order, shippings = nil)
          request = TestRequest.new(order, Array(shippings))
          new(request).adjust
        end
      end

      def initialize(request)
        @request = request
      end

      def adjust
        raise(NotImplementedError, "#{self.class} must implement #adjust")
      end
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
workarea-core-3.4.45 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.44 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.43 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.42 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.41 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.40 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.39 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.38 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.37 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.36 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.35 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.34 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.33 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.32 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.31 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.30 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.29 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.28 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.27 app/models/workarea/pricing/calculator.rb
workarea-core-3.4.26 app/models/workarea/pricing/calculator.rb