Class: WorkingTime::Date

Inherits:
Date
  • Object
show all
Defined in:
lib/working_time/date.rb

Instance Method Summary collapse

Instance Method Details

#+(n) ⇒ Object

Raises:

  • (TypeError)


14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/working_time/date.rb', line 14

def + (n)
  case n
  when Numeric; 
    new_date = self.class.new!(@ajd + n, @of, @sg)
    if new_date.is_work_day?
      return new_date
    else
      until new_date.is_work_day?
        #puts "incrementing days! #{new_date}"
        n += 1
        new_date = self.class.new!(@ajd + n, @of, @sg)
      end
      return new_date
    end
  end
  raise TypeError, 'expected numeric'
end

#is_work_day?Boolean

Returns:

  • (Boolean)


32
33
34
35
# File 'lib/working_time/date.rb', line 32

def is_work_day?
  # check the day of week
  WORKING_DAYS.include? self.cwday
end