Class: Date
Overview
Date extensions
Class Method Summary collapse
-
.between(min, max) ⇒ Date
A random date between min & max.
Instance Method Summary collapse
-
#age_days(compare_date = Date.today) ⇒ Integer
The age in days for a given date.
-
#age_years(compare_date = Date.today) ⇒ Integer
The age in years for a given date.
-
#to_sql ⇒ String
Date in a sql format: YYYY-MM-DD.
-
#weekday? ⇒ Boolean
True if the date is a weekday: Mon, Tue, Wed, Thu, Fri.
-
#weekend? ⇒ Boolean
True if the date is a weekend: Sat, Sun.
Class Method Details
.between(min, max) ⇒ Date
Returns a random date between min & max.
40 41 42 |
# File 'lib/webget_ruby_ramp/date.rb', line 40 def self.between(min,max) min+rand(max-min) end |
Instance Method Details
#age_days(compare_date = Date.today) ⇒ Integer
Returns the age in days for a given date.
87 88 89 90 |
# File 'lib/webget_ruby_ramp/date.rb', line 87 def age_days(compare_date=Date.today) (compare_date.is_a? Date) or raise ArgumentError, "compare_date must be a date" (compare_date-self).to_i end |
#age_years(compare_date = Date.today) ⇒ Integer
Returns the age in years for a given date.
76 77 78 79 80 81 82 |
# File 'lib/webget_ruby_ramp/date.rb', line 76 def age_years(compare_date=Date.today) (compare_date.is_a? Date) or raise ArgumentError, "compare_date must be a date" age=compare_date.year-year compare_month = compare_date.month age-=1 if compare_month < month or (compare_month==month and compare_date.day < day) age end |
#to_sql ⇒ String
Returns date in a sql format: YYYY-MM-DD.
51 52 53 |
# File 'lib/webget_ruby_ramp/date.rb', line 51 def to_sql return sprintf("%04d-%02d-%02d",year,month,mday) end |
#weekday? ⇒ Boolean
Returns true if the date is a weekday: Mon, Tue, Wed, Thu, Fri.
16 17 18 |
# File 'lib/webget_ruby_ramp/date.rb', line 16 def weekday? wday>0 and wday<6 end |
#weekend? ⇒ Boolean
Returns true if the date is a weekend: Sat, Sun.
28 29 30 |
# File 'lib/webget_ruby_ramp/date.rb', line 28 def weekend? wday==0 or wday==6 end |