Sha256: 712317fad6bcdc0a786ee54f5bbcbfc1d7062b3ebb0a261d582ab2d180d024b7

Contents?: true

Size: 838 Bytes

Versions: 28

Compression:

Stored size: 838 Bytes

Contents

module Workarea
  module Pricing
    module Calculator
      extend ActiveSupport::Concern

      class TestRequest < Request
        def order
          @persisted_order
        end

        def shippings
          @persisted_shippings
        end

        def payment
          @persisted_payment
        end
      end

      included do
        attr_reader :request
        delegate :order, :shippings, :payment, :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

28 entries across 28 versions & 1 rubygems

Version Path
workarea-core-3.5.27 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.26 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.25 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.23 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.22 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.21 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.20 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.19 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.18 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.17 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.16 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.15 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.14 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.13 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.12 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.11 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.10 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.9 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.8 app/models/workarea/pricing/calculator.rb
workarea-core-3.5.7 app/models/workarea/pricing/calculator.rb