Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'date'
- module ActiveMerchant
- module Billing
- class CreditCard
- class ExpiryDate #:nodoc:
- attr_reader :month, :year
- def initialize(month, year)
- @month = month.to_i
- @year = year.to_i
- end
- def expired? #:nodoc:
- Time.now.utc > expiration
- end
- def expiration #:nodoc:
- begin
- Time.utc(year, month, month_days, 23, 59, 59)
- rescue ArgumentError
- Time.at(0).utc
- end
- end
- private
- def month_days
- mdays = [nil,31,28,31,30,31,30,31,31,30,31,30,31]
- mdays[2] = 29 if Date.leap?(year)
- mdays[month]
- end
- end
- end
- end
- end
Add Comment
Please, Sign In to add comment