module Workpattern
workpattern.rb - date calculation library that takes into account patterns of working and resting time and is aimed at supporting scheduling applications such as critical path analysis.
Author: Barrie Callender 2011
Documentation: Barrie Callender <barrie@callenb.org>
Constants
- DAY
Seconds in a day
- DAYNAMES
- DEFAULT_BASE_YEAR
default base year for a new workpattern
- DEFAULT_SPAN
default span of years for a new
Workpattern
- DEFAULT_WORKPATTERN_NAME
default name of a new
Workpattern
- FIRST_DAY_OF_WEEK
first and last day of week
- FIRST_TIME_IN_DAY
Earliest or first time in the day
- FRIDAY
- HOUR
60 minutes in an hour
- HOURS_IN_DAY
24 hours in a day
- LAST_DAY_OF_WEEK
- LAST_TIME_IN_DAY
Latest or last time in the day
- MINUTE
60 seconds in a minute
- MONDAY
- NEXT_DAY
- PREVIOUS_DAY
Flags for calculations
- RESTING_HOUR
0 minutes in a working hour as binary bits per minute
- REST_TYPE
Specifies a resting pattern
- SAME_DAY
- SATURDAY
- SUNDAY
All the days of the week
- THURSDAY
- TUESDAY
- VERSION
- WEDNESDAY
- WORKING_HOUR
60 minutes in a working hour as binary bit per minute
- WORK_TYPE
Specifies a working pattern
Public Class Methods
Convenience method to delete all Workpatterns.
# File lib/workpattern.rb, line 74 def self.clear Workpattern.clear end
Convenience method to create a Clock
object. This can be used for specifying times if you don't want to create a DateTime
object
@param [Integer] hour the number of hours. @param [Integer] min the number of minutes @return [Clock] @see Clock
# File lib/workpattern.rb, line 86 def self.clock(hour, min) Clock.new(hour, min) end
Convenience method to delete the named Workpattern
@param [String] name The name of the Workpattern
to be deleted.
# File lib/workpattern.rb, line 68 def self.delete(name) Workpattern.delete(name) end
Covenience method to obtain an existing Workpattern
@param [String] name The name of the Workpattern
to retrieve. @return [Workpattern]
# File lib/workpattern.rb, line 60 def self.get(name) Workpattern.get(name) end
Covenience method to obtain a new Workpattern
A negative span
counts back from the base
year
@param [String] name Every workpattern has a unique name. @param [Integer] base Workpattern
starts on the 1st January of this year. @param [Integer] number of years ending on 31st December. @return [Workpattern] @raise [NameError] creating a Workpattern
with a name that already exists
# File lib/workpattern.rb, line 40 def self.new(name = DEFAULT_WORKPATTERN_NAME, base = DEFAULT_BASE_YEAR, span = DEFAULT_SPAN) Workpattern.new(name, base, span) end
Covenience method to obtain an Array of all the known Workpattern
objects
@return [Array] all Workpattern
objects
# File lib/workpattern.rb, line 51 def self.to_a Workpattern.to_a end