Sha256: 4c88cfb671f5aa9fcda78eb713ac916ff0dc04f5fbb4882ce62a323153fe0b27

Contents?: true

Size: 480 Bytes

Versions: 62

Compression:

Stored size: 480 Bytes

Contents

module Workarea
  class Payment
    class Tender
      class StoreCredit < Tender
        def slug
          :store_credit
        end

        def amount=(amount)
          if amount.blank? || profile.blank?
            super
          elsif balance >= amount
            super(amount)
          else
            super(balance)
          end
        end

        private

        def balance
          profile.try(:store_credit) || 0.to_m
        end
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
workarea-core-3.4.13 app/models/workarea/payment/tender/store_credit.rb
workarea-core-3.4.12 app/models/workarea/payment/tender/store_credit.rb