module Workdays::TimeExtensions
Public Instance Methods
last_workday(locale = DEFAULT_LOCALE)
click to toggle source
# File lib/workdays/time_extensions.rb, line 12 def last_workday(locale = DEFAULT_LOCALE) day = self - 1.day day -= 1.day until day.workday?(locale) day end
to_workday(locale = DEFAULT_LOCALE)
click to toggle source
# File lib/workdays/time_extensions.rb, line 18 def to_workday(locale = DEFAULT_LOCALE) day = self return day if day.workday?(locale) day.last_workday(locale) end
workday?(locale = DEFAULT_LOCALE)
click to toggle source
# File lib/workdays/time_extensions.rb, line 8 def workday?(locale = DEFAULT_LOCALE) on_weekday? && !to_date.holiday?(locale, :observed) end
workdays_after(delta = 0, locale = DEFAULT_LOCALE)
click to toggle source
# File lib/workdays/time_extensions.rb, line 24 def workdays_after(delta = 0, locale = DEFAULT_LOCALE) workdays_before(-delta, locale) end
workdays_before(delta = 0, locale = DEFAULT_LOCALE)
click to toggle source
# File lib/workdays/time_extensions.rb, line 28 def workdays_before(delta = 0, locale = DEFAULT_LOCALE) day = self days = delta.abs while days.positive? || !day.workday?(locale) days -= 1 if day.workday?(locale) day -= delta.positive? ? 1.day : -1.days end day end