Sha256: e69581d0d3fe3294b60e6cfbc5fbdae6c76f2ebb21d602c2c8049ab170725005
Contents?: true
Size: 1.4 KB
Versions: 2
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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gb_work_day-0.0.3 | lib/gb_work_day/core_ext/date.rb |
gb_work_day-0.0.2 | lib/gb_work_day/core_ext/date.rb |