Sha256: 223819977761551463c5b72835aed0d052b77baa3ab48d40be8e7e81da8493b3

Contents?: true

Size: 950 Bytes

Versions: 1

Compression:

Stored size: 950 Bytes

Contents

module ActiveMerchant #:nodoc:
  module Billing #:nodoc:
    module CreditCardFormatting
      def expdate(credit_card)
        "#{format(credit_card.month, :two_digits)}#{format(credit_card.year, :two_digits)}"
      end

      def strftime_yyyymm(credit_card)
        format(credit_card.year, :four_digits) + format(credit_card.month, :two_digits)
      end

      # This method is used to format numerical information pertaining to credit cards.
      #
      #   format(2005, :two_digits)  # => "05"
      #   format(05,   :four_digits) # => "0005"
      def format(number, option)
        return '' if number.blank?

        case option
        when :two_digits  then sprintf('%.2i', number.to_i)[-2..-1]
        when :four_digits then sprintf('%.4i', number.to_i)[-4..-1]
        when :four_digits_year then number.to_s.length == 2 ? '20' + number.to_s : format(number, :four_digits)
        else number
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activemerchant-1.137.0 lib/active_merchant/billing/credit_card_formatting.rb