Sha256: c41a591ee478aa26c4f7e7df68a27437b9fb6dd3978988e4905753d56519f269

Contents?: true

Size: 519 Bytes

Versions: 6

Compression:

Stored size: 519 Bytes

Contents

module Workarea
  class Payment::Tender::GiftCard < Payment::Tender
    field :number, type: String
    validates :number, presence: true

    def display_number
      "XXXX#{number.last(4)}"
    end

    def slug
      :gift_card
    end

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

    private

    def balance
      @balance ||= Payment::GiftCard.find_balance(number)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
workarea-gift_cards-3.4.11 app/models/workarea/payment/tender/gift_card.rb
workarea-gift_cards-3.4.10 app/models/workarea/payment/tender/gift_card.rb
workarea-gift_cards-3.4.9 app/models/workarea/payment/tender/gift_card.rb
workarea-gift_cards-3.4.8 app/models/workarea/payment/tender/gift_card.rb
workarea-gift_cards-3.4.7 app/models/workarea/payment/tender/gift_card.rb
workarea-gift_cards-3.4.6 app/models/workarea/payment/tender/gift_card.rb