Sha256: 900e1fd8bd54c2309e3431b3f74739319d5999d56d51edd0bd73874a1a0a425c
Contents?: true
Size: 1.4 KB
Versions: 1
Compression:
Stored size: 1.4 KB
Contents
require 'gb_work_day/duration' require 'gb_work_day/helpers/date' class Date def plus_with_work_duration(other) if GBWorkDay::Duration === other other.since(self) else plus_without_work_duration(other) end end alias_method :plus_without_work_duration, :+ alias_method :+, :plus_with_work_duration 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 alias_method :minus_without_work_duration, :- alias_method :-, :minus_with_work_duration # Check if it is a work day. # @return [boolean] def work? default_week.work_day? self end # Check if it is a work day. # @return [boolean] def free? default_week.free_day? self end # Return next working day # @return [Time] def next_work_day self + GBWorkDay::Duration.new(1, default_week) end # 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} def work_date(week=nil) GBWorkDay::Date.from_date self, week end alias_method :to_work, :work_date alias_method :to_work_date, :work_date private # @return [GBWorkDay::WorkWeek] def default_week GBWorkDay::WorkWeek.current end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gb_work_day-0.0.1 | lib/gb_work_day/core_ext/date.rb |