Module: Timetress::Workday

Included in:
Norway
Defined in:
lib/timetress/workday.rb

Instance Method Summary collapse

Instance Method Details

#day_off?(date) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/timetress/workday.rb', line 8

def day_off?(date)
  [0,6].include?(date.wday) || official_holidays(date.year).include?(date)
end

#nth_workday_after(n, date) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/timetress/workday.rb', line 12

def nth_workday_after(n, date)
  target = date + n
  until workday?(target)
    target += 1
  end
  target
end

#nth_workday_before(n, date) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/timetress/workday.rb', line 20

def nth_workday_before(n, date)
  target = date - n
  until workday?(target)
    target -= 1
  end
  target
end

#workday?(date) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
# File 'lib/timetress/workday.rb', line 4

def workday?(date)
  !day_off?(date)
end