Module: ByStar::Kernel::Time
- Defined in:
- lib/by_star/kernel.rb
Instance Method Summary collapse
-
#beginning_of_calendar_month(*args) ⇒ Object
A “Calendar Month” is defined as a month as it appears on a calendar, including days form previous/following months which are part of the first/last weeks of the given month.
-
#beginning_of_fortnight ⇒ Object
A “Fortnight” is defined as a two week period, with the first fortnight of the year beginning on 1st January.
-
#beginning_of_weekend ⇒ Object
A “Weekend” is defined as the 60-hour period from 15:00 Friday to 03:00 Monday.
- #end_of_calendar_month(*args) ⇒ Object
- #end_of_fortnight ⇒ Object
- #end_of_weekend ⇒ Object
Instance Method Details
#beginning_of_calendar_month(*args) ⇒ Object
A “Calendar Month” is defined as a month as it appears on a calendar, including days form previous/following months which are part of the first/last weeks of the given month.
30 31 32 |
# File 'lib/by_star/kernel.rb', line 30 def beginning_of_calendar_month(*args) beginning_of_month.beginning_of_week(*args) end |
#beginning_of_fortnight ⇒ Object
A “Fortnight” is defined as a two week period, with the first fortnight of the year beginning on 1st January.
20 21 22 |
# File 'lib/by_star/kernel.rb', line 20 def beginning_of_fortnight (beginning_of_year.to_date + 14 * ((self - beginning_of_year) / 2.weeks).to_i).beginning_of_day end |
#beginning_of_weekend ⇒ Object
A “Weekend” is defined as the 60-hour period from 15:00 Friday to 03:00 Monday. The weekend for a given date will be the the next weekend if the day Mon-Thurs, otherwise the current weekend if the day is Fri-Sun.
10 11 12 |
# File 'lib/by_star/kernel.rb', line 10 def beginning_of_weekend beginning_of_week(:monday).advance(:days => 4) + 15.hours end |
#end_of_calendar_month(*args) ⇒ Object
34 35 36 |
# File 'lib/by_star/kernel.rb', line 34 def end_of_calendar_month(*args) end_of_month.end_of_week(*args) end |
#end_of_fortnight ⇒ Object
24 25 26 |
# File 'lib/by_star/kernel.rb', line 24 def end_of_fortnight (beginning_of_fortnight.to_date + 13).end_of_day end |
#end_of_weekend ⇒ Object
14 15 16 |
# File 'lib/by_star/kernel.rb', line 14 def end_of_weekend (beginning_of_weekend + 59.hours).end_of_hour end |