lib/active_merchant/billing/credit_card_formatting.rb
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