Sha256: 055cb2c2666c9bc37f2b00c5594b78f6cc3916ad7c7c6bddb49bbe67ba522700
Contents?: true
Size: 1.29 KB
Versions: 1
Compression:
Stored size: 1.29 KB
Contents
module ByStar module Kernel module Time # 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. def beginning_of_weekend beginning_of_week(:monday).advance(:days => 4) + 15.hours end def end_of_weekend (beginning_of_weekend + 59.hours).end_of_hour end # A "Fortnight" is defined as a two week period, with the first fortnight of the # year beginning on 1st January. def beginning_of_fortnight beginning_of_year + ((self - beginning_of_year) / 2.weeks).to_i * 2.weeks end def end_of_fortnight (beginning_of_fortnight + 13.days).end_of_day end # A "Calendar Month" is defined as a month as it appears on a calendar, including days # previous/following months which are part of the first/last weeks of the given month. def beginning_of_calendar_month(*args) beginning_of_month.beginning_of_week(*args) end def end_of_calendar_month(*args) end_of_month.end_of_week(*args) end end end end ::Time.__send__(:include, ByStar::Kernel::Time)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
by_star-2.2.0.rc1 | lib/by_star/kernel.rb |