Class: Date

Inherits:
Object
  • Object
show all
Includes:
Holidays::CoreExtensions::Date
Defined in:
lib/extensions/date.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.mondayObject



14
15
16
# File 'lib/extensions/date.rb', line 14

def self.monday 
  1
end

.next_business_day(buffer = 0) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/extensions/date.rb', line 6

def self.next_business_day buffer=0
  day = Date.today+buffer
  begin
    day += 1
  end while(day.is_bc_time_off?)
  day
end

.weekendObject



22
23
24
# File 'lib/extensions/date.rb', line 22

def self.weekend 
  [0,6]
end

Instance Method Details

#is_bc_time_off?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/extensions/date.rb', line 18

def is_bc_time_off?
  self.holiday?(:ca_bc) || Date.weekend.include?(self.wday) || self.sub_day?
end

#sub_day?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/extensions/date.rb', line 26

def sub_day? 
  self.wday == self.class.monday && ( (self-1.day).holiday?(:ca_bc) || (self-2.day).holiday?(:ca_bc) )
end