class Date
Public Instance Methods
free?(week = default_week)
click to toggle source
Check if it is a work day. @return [boolean]
# File lib/gb_work_day/core_ext/date.rb, line 34 def free?(week = default_week) week.free_day? self end
minus_with_work_duration(other)
click to toggle source
# File lib/gb_work_day/core_ext/date.rb, line 14 def minus_with_work_duration(other) if GBWorkDay::Duration === other plus_with_work_duration(- other) elsif GBWorkDay::Date === other - (other - self) else minus_without_work_duration(other) end end
Also aliased as: -
next_work_day(week = default_week)
click to toggle source
Return next working day @return [Time]
# File lib/gb_work_day/core_ext/date.rb, line 40 def next_work_day(week = default_week) if week.free_day? self self.beginning_of_week + 7.days else self + GBWorkDay::Duration.new(1, week) end end
plus_with_work_duration(other)
click to toggle source
# File lib/gb_work_day/core_ext/date.rb, line 4 def plus_with_work_duration(other) if GBWorkDay::Duration === other other.since(self) else plus_without_work_duration(other) end end
Also aliased as: +
previous_work_day(week = default_week)
click to toggle source
Return previous working day @return [Time]
# File lib/gb_work_day/core_ext/date.rb, line 50 def previous_work_day(week = default_week) if week.free_day? self next_work_day(week) - (week.free_days_per_week + 1).days else self - GBWorkDay::Duration.new(1, week) end end
work?(week = default_week)
click to toggle source
Check if it is a work day. @return [boolean]
# File lib/gb_work_day/core_ext/date.rb, line 28 def work?(week = default_week) week.work_day? self end
work_date(week = nil)
click to toggle source
Get date object for calculating working days
@param week [GBWorkDay::WorkWeek] if not set, it will use week set globally. For more check {GBWorkingDay::WorkWeek#current}
# File lib/gb_work_day/core_ext/date.rb, line 61 def work_date(week = nil) GBWorkDay::Date.from_date self, week end
Also aliased as: to_work, to_work_date
Private Instance Methods
default_week()
click to toggle source
@return [GBWorkDay::WorkWeek]
# File lib/gb_work_day/core_ext/date.rb, line 70 def default_week GBWorkDay::WorkWeek.current end