class Chronic::Date

def self.could_be_day?(day)

Checks if given number could be day
def self.could_be_day?(day)
  day >= 1 && day <= 31
end

def self.could_be_month?(month)

Checks if given number could be month
def self.could_be_month?(month)
  month >= 1 && month <= 12
end

def self.could_be_year?(year)

Checks if given number could be year
def self.could_be_year?(year)
  year >= 1 && year <= 9999
end

def self.make_year(year, bias)

Returns The Integer 4 digit year.

make_year(00, 50) #=> 2000
make_year(79, 20) #=> 2079
make_year(96, 50) #=> 1996

Examples:

bias - The Integer amount of future years to bias.
year - The two digit Integer year to build from.

Build a year from a 2 digit suffix.
def self.make_year(year, bias)
  return year if year.to_s.size > 2
  start_year = Chronic.time_class.now.year - bias
  century = (start_year / 100) * 100
  full_year = century + year
  full_year += 100 if full_year < start_year
  full_year
end

def self.month_overflow?(year, month, day)

def self.month_overflow?(year, month, day)
  if ::Date.leap?(year)
    day > Date::MONTH_DAYS_LEAP[month]
  else
    day > Date::MONTH_DAYS[month]
  end
end