Class: Time

Inherits:
Object
  • Object
show all
Defined in:
lib/shiftly/core_ext/time.rb

Instance Method Summary collapse

Instance Method Details

#shiftObject



2
3
4
5
6
7
8
9
10
11
12
# File 'lib/shiftly/core_ext/time.rb', line 2

def shift
  if self.hour < Shiftly::Config.day_start_hour
    3
  elsif self.hour < Shiftly::Config.day_start_hour + Shiftly::Config.shift_hours
    1
  elsif self.hour < Shiftly::Config.day_start_hour + 2 * Shiftly::Config.shift_hours
    2
  else
    3
  end
end

#shift_begObject



14
15
16
# File 'lib/shiftly/core_ext/time.rb', line 14

def shift_beg
  Time.new(self.year, self.month, self.day, Shiftly::Config.day_start_hour + ((shift - 1) * Shiftly::Config.shift_hours), 0, 0)
end

#shift_endObject



18
19
20
# File 'lib/shiftly/core_ext/time.rb', line 18

def shift_end
  shift_beg + Shiftly::Config.shift_hours.hours - 1.second
end

#to_factory_dateObject



22
23
24
# File 'lib/shiftly/core_ext/time.rb', line 22

def to_factory_date
  self.hour < Shiftly::Config.day_start_hour ? 1.business_day.before(self.to_date).to_date : self.to_date
end