taskjuggler 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +1144 -2047
- data/README +1 -1
- data/Rakefile +6 -6
- data/data/css/tjmanual.css +20 -0
- data/data/css/tjreport.css +7 -6
- data/doc/AppConfig.html +136 -130
- data/doc/Arguments.html +46 -40
- data/doc/CHANGELOG.html +1162 -2057
- data/doc/COPYING.html +8 -2
- data/doc/Object.html +205 -199
- data/doc/README.html +9 -3
- data/doc/RuntimeConfig.html +75 -69
- data/doc/String.html +69 -63
- data/doc/TaskJuggler.html +350 -291
- data/doc/TaskJuggler/Account.html +26 -20
- data/doc/TaskJuggler/AccountAttribute.html +24 -18
- data/doc/TaskJuggler/AccountScenario.html +24 -18
- data/doc/TaskJuggler/Allocation.html +74 -68
- data/doc/TaskJuggler/AllocationAttribute.html +54 -48
- data/doc/TaskJuggler/AttributeBase.html +172 -93
- data/doc/TaskJuggler/AttributeDefinition.html +22 -16
- data/doc/TaskJuggler/AttributeOverwrite.html +586 -0
- data/doc/TaskJuggler/BatchProcessor.html +263 -257
- data/doc/TaskJuggler/Booking.html +44 -38
- data/doc/TaskJuggler/BookingListAttribute.html +25 -21
- data/doc/TaskJuggler/BooleanAttribute.html +24 -18
- data/doc/TaskJuggler/CSVFile.html +193 -187
- data/doc/TaskJuggler/CellSettingPattern.html +13 -7
- data/doc/TaskJuggler/CellSettingPatternList.html +25 -19
- data/doc/TaskJuggler/Charge.html +49 -43
- data/doc/TaskJuggler/ChargeListAttribute.html +21 -15
- data/doc/TaskJuggler/ChargeSet.html +94 -88
- data/doc/TaskJuggler/ChargeSetListAttribute.html +29 -25
- data/doc/TaskJuggler/CollisionDetector.html +142 -136
- data/doc/TaskJuggler/ColumnListAttribute.html +21 -17
- data/doc/TaskJuggler/ColumnTable.html +50 -44
- data/doc/TaskJuggler/Daemon.html +71 -50
- data/doc/TaskJuggler/DataCache.html +110 -58
- data/doc/TaskJuggler/DataCacheEntry.html +22 -16
- data/doc/TaskJuggler/DateAttribute.html +24 -18
- data/doc/TaskJuggler/DefinitionListAttribute.html +12 -6
- data/doc/TaskJuggler/DependencyListAttribute.html +29 -25
- data/doc/TaskJuggler/DurationAttribute.html +25 -19
- data/doc/TaskJuggler/FileList.html +25 -19
- data/doc/TaskJuggler/FileRecord.html +17 -11
- data/doc/TaskJuggler/FixnumAttribute.html +16 -10
- data/doc/TaskJuggler/FlagListAttribute.html +25 -21
- data/doc/TaskJuggler/FloatAttribute.html +20 -14
- data/doc/TaskJuggler/FormatListAttribute.html +17 -11
- data/doc/TaskJuggler/GanttChart.html +242 -236
- data/doc/TaskJuggler/GanttContainer.html +71 -67
- data/doc/TaskJuggler/GanttHeader.html +113 -107
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -20
- data/doc/TaskJuggler/GanttLine.html +217 -210
- data/doc/TaskJuggler/GanttLoadStack.html +89 -83
- data/doc/TaskJuggler/GanttMilestone.html +11 -6
- data/doc/TaskJuggler/GanttRouter.html +194 -186
- data/doc/TaskJuggler/GanttTaskBar.html +41 -34
- data/doc/TaskJuggler/HTMLDocument.html +52 -46
- data/doc/TaskJuggler/HTMLGraphics.html +58 -52
- data/doc/TaskJuggler/Interval.html +90 -84
- data/doc/TaskJuggler/IntervalList.html +777 -0
- data/doc/TaskJuggler/IntervalListAttribute.html +29 -25
- data/doc/TaskJuggler/JobInfo.html +36 -30
- data/doc/TaskJuggler/Journal.html +188 -177
- data/doc/TaskJuggler/JournalEntry.html +36 -30
- data/doc/TaskJuggler/JournalEntryList.html +88 -82
- data/doc/TaskJuggler/KeywordArray.html +12 -6
- data/doc/TaskJuggler/KeywordDocumentation.html +512 -503
- data/doc/TaskJuggler/Limits.html +111 -105
- data/doc/TaskJuggler/Limits/Limit.html +71 -65
- data/doc/TaskJuggler/LimitsAttribute.html +21 -15
- data/doc/TaskJuggler/ListAttributeBase.html +16 -10
- data/doc/TaskJuggler/Log.html +111 -105
- data/doc/TaskJuggler/LogFile.html +54 -48
- data/doc/TaskJuggler/LogicalAttribute.html +35 -29
- data/doc/TaskJuggler/LogicalExpression.html +32 -26
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +16 -10
- data/doc/TaskJuggler/LogicalExpressionListAttribute.html +671 -0
- data/doc/TaskJuggler/LogicalFlag.html +24 -18
- data/doc/TaskJuggler/LogicalFunction.html +164 -158
- data/doc/TaskJuggler/LogicalOperation.html +138 -132
- data/doc/TaskJuggler/Macro.html +14 -8
- data/doc/TaskJuggler/MacroTable.html +42 -36
- data/doc/TaskJuggler/ManagerResponsibilities.html +19 -13
- data/doc/TaskJuggler/ManagerStatusRecord.html +23 -17
- data/doc/TaskJuggler/Message.html +56 -50
- data/doc/TaskJuggler/MessageHandler.html +73 -67
- data/doc/TaskJuggler/Navigator.html +92 -86
- data/doc/TaskJuggler/NavigatorElement.html +88 -82
- data/doc/TaskJuggler/NikuProject.html +15 -9
- data/doc/TaskJuggler/NikuReport.html +405 -370
- data/doc/TaskJuggler/NikuResource.html +13 -7
- data/doc/TaskJuggler/NodeListAttribute.html +13 -9
- data/doc/TaskJuggler/PlaceHolderCell.html +22 -16
- data/doc/TaskJuggler/ProcessIntercom.html +116 -110
- data/doc/TaskJuggler/ProcessIntercomIface.html +39 -33
- data/doc/TaskJuggler/Project.html +1064 -895
- data/doc/TaskJuggler/ProjectBroker.html +439 -366
- data/doc/TaskJuggler/ProjectBrokerIface.html +63 -53
- data/doc/TaskJuggler/ProjectFileParser.html +329 -319
- data/doc/TaskJuggler/ProjectFileScanner.html +351 -345
- data/doc/TaskJuggler/ProjectRecord.html +66 -60
- data/doc/TaskJuggler/ProjectServer.html +287 -280
- data/doc/TaskJuggler/ProjectServerIface.html +43 -37
- data/doc/TaskJuggler/PropertyAttribute.html +16 -10
- data/doc/TaskJuggler/PropertyList.html +205 -199
- data/doc/TaskJuggler/PropertySet.html +264 -296
- data/doc/TaskJuggler/PropertyTreeNode.html +455 -505
- data/doc/TaskJuggler/Query.html +309 -524
- data/doc/TaskJuggler/RTFHandlers.html +17 -11
- data/doc/TaskJuggler/RTFNavigator.html +33 -27
- data/doc/TaskJuggler/RTFQuery.html +135 -129
- data/doc/TaskJuggler/RTFReport.html +63 -57
- data/doc/TaskJuggler/RTFReportLink.html +55 -49
- data/doc/TaskJuggler/RTFWithQuerySupport.html +17 -11
- data/doc/TaskJuggler/RealFormat.html +64 -58
- data/doc/TaskJuggler/RealFormatAttribute.html +12 -6
- data/doc/TaskJuggler/ReferenceAttribute.html +35 -29
- data/doc/TaskJuggler/Report.html +294 -249
- data/doc/TaskJuggler/ReportBase.html +229 -223
- data/doc/TaskJuggler/ReportContext.html +52 -46
- data/doc/TaskJuggler/ReportServer.html +143 -137
- data/doc/TaskJuggler/ReportServerIface.html +51 -43
- data/doc/TaskJuggler/ReportServerRecord.html +36 -30
- data/doc/TaskJuggler/ReportServlet.html +167 -140
- data/doc/TaskJuggler/ReportTable.html +137 -131
- data/doc/TaskJuggler/ReportTableCell.html +332 -292
- data/doc/TaskJuggler/ReportTableColumn.html +46 -40
- data/doc/TaskJuggler/ReportTableLegend.html +43 -38
- data/doc/TaskJuggler/ReportTableLine.html +66 -60
- data/doc/TaskJuggler/Resource.html +166 -160
- data/doc/TaskJuggler/ResourceListAttribute.html +54 -32
- data/doc/TaskJuggler/ResourceListRE.html +47 -41
- data/doc/TaskJuggler/ResourceScenario.html +671 -644
- data/doc/TaskJuggler/RichText.html +51 -45
- data/doc/TaskJuggler/RichTextAttribute.html +28 -22
- data/doc/TaskJuggler/RichTextDocument.html +96 -90
- data/doc/TaskJuggler/RichTextElement.html +503 -497
- data/doc/TaskJuggler/RichTextFunctionExample.html +41 -35
- data/doc/TaskJuggler/RichTextFunctionHandler.html +19 -13
- data/doc/TaskJuggler/RichTextImage.html +14 -8
- data/doc/TaskJuggler/RichTextIntermediate.html +86 -80
- data/doc/TaskJuggler/RichTextParser.html +59 -53
- data/doc/TaskJuggler/RichTextScanner.html +184 -178
- data/doc/TaskJuggler/RichTextSnip.html +69 -63
- data/doc/TaskJuggler/RichTextSyntaxRules.html +416 -410
- data/doc/TaskJuggler/Scenario.html +13 -7
- data/doc/TaskJuggler/ScenarioData.html +40 -34
- data/doc/TaskJuggler/ScenarioListAttribute.html +21 -15
- data/doc/TaskJuggler/Scoreboard.html +129 -107
- data/doc/TaskJuggler/SheetHandlerBase.html +245 -239
- data/doc/TaskJuggler/SheetReceiver.html +333 -327
- data/doc/TaskJuggler/SheetSender.html +227 -221
- data/doc/TaskJuggler/Shift.html +26 -20
- data/doc/TaskJuggler/ShiftAssignment.html +45 -39
- data/doc/TaskJuggler/ShiftAssignments.html +178 -172
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +21 -15
- data/doc/TaskJuggler/ShiftScenario.html +29 -23
- data/doc/TaskJuggler/SimpleQueryExpander.html +36 -30
- data/doc/TaskJuggler/SortListAttribute.html +17 -13
- data/doc/TaskJuggler/SourceFileInfo.html +19 -13
- data/doc/TaskJuggler/StatusSheetReceiver.html +31 -25
- data/doc/TaskJuggler/StatusSheetReport.html +166 -159
- data/doc/TaskJuggler/StatusSheetSender.html +80 -74
- data/doc/TaskJuggler/StringAttribute.html +20 -14
- data/doc/TaskJuggler/SymbolAttribute.html +16 -10
- data/doc/TaskJuggler/SyntaxReference.html +231 -225
- data/doc/TaskJuggler/TOCEntry.html +46 -40
- data/doc/TaskJuggler/TSResourceRecord.html +15 -9
- data/doc/TaskJuggler/TSTaskRecord.html +16 -10
- data/doc/TaskJuggler/TableColumnDefinition.html +84 -39
- data/doc/TaskJuggler/TableOfContents.html +28 -22
- data/doc/TaskJuggler/TableReport.html +906 -866
- data/doc/TaskJuggler/Task.html +99 -93
- data/doc/TaskJuggler/TaskDependency.html +24 -18
- data/doc/TaskJuggler/TaskListAttribute.html +29 -25
- data/doc/TaskJuggler/TaskListRE.html +46 -39
- data/doc/TaskJuggler/TaskScenario.html +2218 -1965
- data/doc/TaskJuggler/TextFormatter.html +154 -148
- data/doc/TaskJuggler/TextParser.html +362 -348
- data/doc/TaskJuggler/TextParser/Pattern.html +313 -307
- data/doc/TaskJuggler/TextParser/Rule.html +147 -141
- data/doc/TaskJuggler/TextParser/StackElement.html +58 -52
- data/doc/TaskJuggler/TextParser/State.html +88 -82
- data/doc/TaskJuggler/TextParser/StateTransition.html +42 -36
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +20 -14
- data/doc/TaskJuggler/TextParser/TokenDoc.html +19 -13
- data/doc/TaskJuggler/TextReport.html +80 -74
- data/doc/TaskJuggler/TextScanner.html +284 -272
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +14 -8
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +21 -15
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +15 -9
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
- data/doc/TaskJuggler/TimeSheet.html +123 -117
- data/doc/TaskJuggler/TimeSheetReceiver.html +28 -22
- data/doc/TaskJuggler/TimeSheetRecord.html +212 -206
- data/doc/TaskJuggler/TimeSheetReport.html +206 -199
- data/doc/TaskJuggler/TimeSheetSender.html +27 -21
- data/doc/TaskJuggler/TimeSheetSummary.html +140 -134
- data/doc/TaskJuggler/TimeSheets.html +20 -14
- data/doc/TaskJuggler/Tj3AppBase.html +100 -94
- data/doc/TaskJuggler/Tj3Client.html +407 -483
- data/doc/TaskJuggler/Tj3Daemon.html +116 -107
- data/doc/TaskJuggler/Tj3SheetAppBase.html +45 -39
- data/doc/TaskJuggler/Tj3SsReceiver.html +31 -25
- data/doc/TaskJuggler/Tj3SsSender.html +64 -58
- data/doc/TaskJuggler/Tj3TsReceiver.html +31 -25
- data/doc/TaskJuggler/Tj3TsSender.html +51 -45
- data/doc/TaskJuggler/Tj3TsSummary.html +59 -53
- data/doc/TaskJuggler/TjException.html +13 -7
- data/doc/TaskJuggler/TjTime.html +444 -438
- data/doc/TaskJuggler/TjpExample.html +84 -78
- data/doc/TaskJuggler/TjpExportRE.html +356 -349
- data/doc/TaskJuggler/TjpSyntaxRules.html +4279 -4151
- data/doc/TaskJuggler/URLParameter.html +16 -10
- data/doc/TaskJuggler/UserManual.html +185 -179
- data/doc/TaskJuggler/VimSyntax.html +144 -138
- data/doc/TaskJuggler/WebServer.html +46 -39
- data/doc/TaskJuggler/WelcomePage.html +769 -0
- data/doc/TaskJuggler/WorkingHours.html +185 -179
- data/doc/TaskJuggler/WorkingHoursAttribute.html +42 -36
- data/doc/TaskJuggler/XMLBlob.html +21 -15
- data/doc/TaskJuggler/XMLComment.html +17 -11
- data/doc/TaskJuggler/XMLDocument.html +33 -27
- data/doc/TaskJuggler/XMLElement.html +97 -91
- data/doc/TaskJuggler/XMLNamedText.html +13 -7
- data/doc/TaskJuggler/XMLText.html +32 -26
- data/doc/index.html +601 -563
- data/doc/lib/AccountScenario_rb.html +5 -3
- data/doc/lib/Account_rb.html +5 -3
- data/doc/lib/Allocation_rb.html +5 -3
- data/doc/lib/AppConfig_rb.html +5 -3
- data/doc/lib/AttributeBase_rb.html +5 -3
- data/doc/lib/AttributeDefinition_rb.html +5 -3
- data/doc/lib/Attributes_rb.html +5 -3
- data/doc/lib/BatchProcessor_rb.html +5 -3
- data/doc/lib/Booking_rb.html +5 -3
- data/doc/lib/ChargeSet_rb.html +5 -3
- data/doc/lib/Charge_rb.html +5 -3
- data/doc/lib/DataCache_rb.html +5 -3
- data/doc/lib/FileList_rb.html +5 -3
- data/doc/lib/HTMLDocument_rb.html +5 -3
- data/doc/lib/IntervalList_rb.html +69 -0
- data/doc/lib/Interval_rb.html +5 -3
- data/doc/lib/Journal_rb.html +5 -3
- data/doc/lib/KeywordArray_rb.html +5 -3
- data/doc/lib/KeywordDocumentation_rb.html +5 -3
- data/doc/lib/Limits_rb.html +5 -3
- data/doc/lib/LogFile_rb.html +5 -3
- data/doc/lib/Log_rb.html +5 -3
- data/doc/lib/LogicalExpression_rb.html +5 -3
- data/doc/lib/LogicalFunction_rb.html +5 -3
- data/doc/lib/LogicalOperation_rb.html +5 -3
- data/doc/lib/MacroTable_rb.html +5 -3
- data/doc/lib/MessageHandler_rb.html +5 -3
- data/doc/lib/ProjectFileParser_rb.html +5 -3
- data/doc/lib/ProjectFileScanner_rb.html +5 -3
- data/doc/lib/Project_rb.html +5 -3
- data/doc/lib/PropertyList_rb.html +5 -3
- data/doc/lib/PropertySet_rb.html +5 -3
- data/doc/lib/PropertyTreeNode_rb.html +5 -3
- data/doc/lib/Query_rb.html +5 -3
- data/doc/lib/RTFHandlers_rb.html +5 -3
- data/doc/lib/RTFNavigator_rb.html +5 -3
- data/doc/lib/RTFQuery_rb.html +5 -3
- data/doc/lib/RTFReportLink_rb.html +5 -3
- data/doc/lib/RTFReport_rb.html +5 -3
- data/doc/lib/RTFWithQuerySupport_rb.html +5 -3
- data/doc/lib/RealFormat_rb.html +5 -3
- data/doc/lib/ResourceScenario_rb.html +5 -3
- data/doc/lib/Resource_rb.html +5 -3
- data/doc/lib/RichTextDocument_rb.html +5 -3
- data/doc/lib/RichTextElement_rb.html +5 -3
- data/doc/lib/RichTextFunctionExample_rb.html +5 -3
- data/doc/lib/RichTextFunctionHandler_rb.html +5 -3
- data/doc/lib/RichTextParser_rb.html +5 -3
- data/doc/lib/RichTextScanner_rb.html +5 -3
- data/doc/lib/RichTextSnip_rb.html +5 -3
- data/doc/lib/RichTextSyntaxRules_rb.html +5 -3
- data/doc/lib/RichText_rb.html +5 -3
- data/doc/lib/RuntimeConfig_rb.html +5 -3
- data/doc/lib/ScenarioData_rb.html +5 -3
- data/doc/lib/Scenario_rb.html +5 -3
- data/doc/lib/Scoreboard_rb.html +7 -3
- data/doc/lib/SheetHandlerBase_rb.html +5 -3
- data/doc/lib/SheetReceiver_rb.html +5 -3
- data/doc/lib/SheetSender_rb.html +5 -3
- data/doc/lib/ShiftAssignments_rb.html +5 -3
- data/doc/lib/ShiftScenario_rb.html +5 -3
- data/doc/lib/Shift_rb.html +5 -3
- data/doc/lib/SimpleQueryExpander_rb.html +5 -3
- data/doc/lib/SourceFileInfo_rb.html +5 -3
- data/doc/lib/StatusSheetReceiver_rb.html +5 -3
- data/doc/lib/StatusSheetSender_rb.html +5 -3
- data/doc/lib/SyntaxReference_rb.html +5 -3
- data/doc/lib/TOCEntry_rb.html +5 -3
- data/doc/lib/TableColumnDefinition_rb.html +5 -3
- data/doc/lib/TableOfContents_rb.html +5 -3
- data/doc/lib/TaskDependency_rb.html +5 -3
- data/doc/lib/TaskJuggler_rb.html +5 -3
- data/doc/lib/TaskScenario_rb.html +5 -3
- data/doc/lib/Task_rb.html +5 -3
- data/doc/lib/TextFormatter_rb.html +6 -4
- data/doc/lib/TextParser/Pattern_rb.html +5 -3
- data/doc/lib/TextParser/Rule_rb.html +5 -3
- data/doc/lib/TextParser/StackElement_rb.html +5 -3
- data/doc/lib/TextParser/State_rb.html +6 -4
- data/doc/lib/TextParser/TokenDoc_rb.html +5 -3
- data/doc/lib/TextParser_rb.html +5 -3
- data/doc/lib/TextScanner_rb.html +5 -3
- data/doc/lib/TimeSheetReceiver_rb.html +5 -3
- data/doc/lib/TimeSheetSender_rb.html +5 -3
- data/doc/lib/TimeSheetSummary_rb.html +6 -4
- data/doc/lib/TimeSheets_rb.html +5 -3
- data/doc/lib/Tj3AppBase_rb.html +5 -3
- data/doc/lib/Tj3Config_rb.html +5 -3
- data/doc/lib/Tj3SheetAppBase_rb.html +5 -3
- data/doc/lib/TjException_rb.html +5 -3
- data/doc/lib/TjTime_rb.html +5 -3
- data/doc/lib/TjpExample_rb.html +5 -3
- data/doc/lib/TjpSyntaxRules_rb.html +5 -3
- data/doc/lib/URLParameter_rb.html +5 -3
- data/doc/lib/UTF8String_rb.html +5 -3
- data/doc/lib/UserManual_rb.html +5 -3
- data/doc/lib/VimSyntax_rb.html +6 -4
- data/doc/lib/WorkingHours_rb.html +5 -3
- data/doc/lib/XMLDocument_rb.html +5 -3
- data/doc/lib/XMLElement_rb.html +5 -3
- data/doc/lib/daemon/Daemon_rb.html +5 -3
- data/doc/lib/daemon/ProcessIntercom_rb.html +7 -3
- data/doc/lib/daemon/ProjectBroker_rb.html +5 -3
- data/doc/lib/daemon/ProjectServer_rb.html +5 -3
- data/doc/lib/daemon/ReportServer_rb.html +5 -3
- data/doc/lib/daemon/ReportServlet_rb.html +69 -0
- data/doc/lib/daemon/WebServer_rb.html +9 -3
- data/doc/lib/daemon/WelcomePage_rb.html +71 -0
- data/doc/lib/deep_copy_rb.html +5 -3
- data/doc/lib/reports/CSVFile_rb.html +5 -3
- data/doc/lib/reports/CollisionDetector_rb.html +5 -3
- data/doc/lib/reports/ColumnTable_rb.html +5 -3
- data/doc/lib/reports/GanttChart_rb.html +5 -3
- data/doc/lib/reports/GanttContainer_rb.html +5 -3
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +5 -3
- data/doc/lib/reports/GanttHeader_rb.html +5 -3
- data/doc/lib/reports/GanttLine_rb.html +5 -3
- data/doc/lib/reports/GanttLoadStack_rb.html +5 -3
- data/doc/lib/reports/GanttMilestone_rb.html +5 -3
- data/doc/lib/reports/GanttRouter_rb.html +5 -3
- data/doc/lib/reports/GanttTaskBar_rb.html +5 -3
- data/doc/lib/reports/HTMLGraphics_rb.html +5 -3
- data/doc/lib/reports/Navigator_rb.html +5 -3
- data/doc/lib/reports/NikuReport_rb.html +5 -3
- data/doc/lib/reports/ReportBase_rb.html +5 -3
- data/doc/lib/reports/ReportContext_rb.html +5 -3
- data/doc/lib/reports/ReportTableCell_rb.html +5 -3
- data/doc/lib/reports/ReportTableColumn_rb.html +5 -3
- data/doc/lib/reports/ReportTableLegend_rb.html +5 -3
- data/doc/lib/reports/ReportTableLine_rb.html +5 -3
- data/doc/lib/reports/ReportTable_rb.html +5 -3
- data/doc/lib/reports/Report_rb.html +5 -3
- data/doc/lib/reports/ResourceListRE_rb.html +5 -3
- data/doc/lib/reports/StatusSheetReport_rb.html +5 -3
- data/doc/lib/reports/TableReport_rb.html +5 -3
- data/doc/lib/reports/TaskListRE_rb.html +5 -3
- data/doc/lib/reports/TextReport_rb.html +5 -3
- data/doc/lib/reports/TimeSheetReport_rb.html +5 -3
- data/doc/lib/reports/TjpExportRE_rb.html +5 -3
- data/doc/lib/{taskjuggler3_rb.html → tj3_rb.html} +7 -5
- data/doc/lib/tj3client_rb.html +5 -3
- data/doc/lib/tj3d_rb.html +6 -4
- data/doc/lib/tj3man_rb.html +5 -3
- data/doc/lib/tj3ss_receiver_rb.html +5 -3
- data/doc/lib/tj3ss_sender_rb.html +5 -3
- data/doc/lib/tj3ts_receiver_rb.html +5 -3
- data/doc/lib/tj3ts_sender_rb.html +5 -3
- data/doc/lib/tj3ts_summary_rb.html +5 -3
- data/examples/tutorial.tjp +13 -5
- data/gem_spec.rb +3 -0
- data/lib/Account.rb +2 -1
- data/lib/AccountScenario.rb +2 -1
- data/lib/Allocation.rb +2 -1
- data/lib/AppConfig.rb +2 -1
- data/lib/AttributeBase.rb +19 -5
- data/lib/AttributeDefinition.rb +2 -1
- data/lib/Attributes.rb +49 -38
- data/lib/BatchProcessor.rb +2 -1
- data/lib/Booking.rb +2 -1
- data/lib/Charge.rb +2 -1
- data/lib/ChargeSet.rb +2 -1
- data/lib/DataCache.rb +15 -1
- data/lib/FileList.rb +2 -1
- data/lib/HTMLDocument.rb +2 -1
- data/lib/Interval.rb +2 -1
- data/lib/IntervalList.rb +100 -0
- data/lib/Journal.rb +8 -2
- data/lib/KeywordArray.rb +2 -1
- data/lib/KeywordDocumentation.rb +10 -6
- data/lib/Limits.rb +2 -1
- data/lib/Log.rb +3 -2
- data/lib/LogFile.rb +2 -1
- data/lib/LogicalExpression.rb +2 -1
- data/lib/LogicalFunction.rb +2 -1
- data/lib/LogicalOperation.rb +2 -1
- data/lib/MacroTable.rb +2 -1
- data/lib/MessageHandler.rb +2 -1
- data/lib/Project.rb +92 -25
- data/lib/ProjectFileParser.rb +7 -2
- data/lib/ProjectFileScanner.rb +2 -1
- data/lib/PropertyList.rb +2 -1
- data/lib/PropertySet.rb +2 -6
- data/lib/PropertyTreeNode.rb +22 -44
- data/lib/Query.rb +32 -13
- data/lib/RTFHandlers.rb +2 -1
- data/lib/RTFNavigator.rb +2 -1
- data/lib/RTFQuery.rb +3 -2
- data/lib/RTFReport.rb +2 -1
- data/lib/RTFReportLink.rb +2 -1
- data/lib/RTFWithQuerySupport.rb +2 -1
- data/lib/RealFormat.rb +2 -1
- data/lib/Resource.rb +2 -1
- data/lib/ResourceScenario.rb +35 -14
- data/lib/RichText.rb +2 -1
- data/lib/RichTextDocument.rb +2 -1
- data/lib/RichTextElement.rb +2 -1
- data/lib/RichTextFunctionExample.rb +2 -1
- data/lib/RichTextFunctionHandler.rb +2 -1
- data/lib/RichTextParser.rb +2 -1
- data/lib/RichTextScanner.rb +2 -1
- data/lib/RichTextSnip.rb +2 -1
- data/lib/RichTextSyntaxRules.rb +2 -1
- data/lib/RuntimeConfig.rb +2 -1
- data/lib/Scenario.rb +2 -1
- data/lib/ScenarioData.rb +2 -1
- data/lib/Scoreboard.rb +27 -8
- data/lib/SheetHandlerBase.rb +2 -1
- data/lib/SheetReceiver.rb +2 -1
- data/lib/SheetSender.rb +2 -1
- data/lib/Shift.rb +2 -1
- data/lib/ShiftAssignments.rb +2 -1
- data/lib/ShiftScenario.rb +2 -1
- data/lib/SimpleQueryExpander.rb +2 -1
- data/lib/SourceFileInfo.rb +2 -1
- data/lib/StatusSheetReceiver.rb +2 -1
- data/lib/StatusSheetSender.rb +2 -1
- data/lib/SyntaxReference.rb +2 -1
- data/lib/TOCEntry.rb +2 -1
- data/lib/TableColumnDefinition.rb +9 -2
- data/lib/TableOfContents.rb +2 -1
- data/lib/Task.rb +2 -1
- data/lib/TaskDependency.rb +2 -1
- data/lib/TaskJuggler.rb +8 -6
- data/lib/TaskScenario.rb +337 -153
- data/lib/TextFormatter.rb +3 -2
- data/lib/TextParser.rb +7 -2
- data/lib/TextParser/Pattern.rb +2 -1
- data/lib/TextParser/Rule.rb +2 -1
- data/lib/TextParser/StackElement.rb +2 -1
- data/lib/TextParser/State.rb +3 -2
- data/lib/TextParser/TokenDoc.rb +2 -1
- data/lib/TextScanner.rb +12 -5
- data/lib/TimeSheetReceiver.rb +2 -1
- data/lib/TimeSheetSender.rb +2 -1
- data/lib/TimeSheetSummary.rb +3 -2
- data/lib/TimeSheets.rb +2 -1
- data/lib/Tj3AppBase.rb +6 -5
- data/lib/Tj3Config.rb +5 -4
- data/lib/Tj3SheetAppBase.rb +2 -1
- data/lib/TjException.rb +2 -1
- data/lib/TjTime.rb +2 -1
- data/lib/TjpExample.rb +2 -1
- data/lib/TjpSyntaxRules.rb +264 -65
- data/lib/URLParameter.rb +2 -1
- data/lib/UTF8String.rb +2 -1
- data/lib/UserManual.rb +2 -1
- data/lib/VimSyntax.rb +3 -2
- data/lib/WorkingHours.rb +2 -1
- data/lib/XMLDocument.rb +2 -1
- data/lib/XMLElement.rb +2 -1
- data/lib/daemon/Daemon.rb +3 -1
- data/lib/daemon/ProcessIntercom.rb +3 -1
- data/lib/daemon/ProjectBroker.rb +84 -32
- data/lib/daemon/ProjectServer.rb +5 -3
- data/lib/daemon/ReportServer.rb +8 -5
- data/lib/daemon/ReportServlet.rb +166 -0
- data/lib/daemon/WebServer.rb +6 -150
- data/lib/daemon/WelcomePage.rb +80 -0
- data/lib/deep_copy.rb +2 -1
- data/lib/reports/CSVFile.rb +2 -1
- data/lib/reports/CollisionDetector.rb +2 -1
- data/lib/reports/ColumnTable.rb +2 -1
- data/lib/reports/GanttChart.rb +2 -1
- data/lib/reports/GanttContainer.rb +3 -4
- data/lib/reports/GanttHeader.rb +2 -1
- data/lib/reports/GanttHeaderScaleItem.rb +2 -1
- data/lib/reports/GanttLine.rb +12 -10
- data/lib/reports/GanttLoadStack.rb +2 -1
- data/lib/reports/GanttMilestone.rb +3 -3
- data/lib/reports/GanttRouter.rb +4 -1
- data/lib/reports/GanttTaskBar.rb +9 -7
- data/lib/reports/HTMLGraphics.rb +2 -1
- data/lib/reports/Navigator.rb +2 -1
- data/lib/reports/NikuReport.rb +79 -49
- data/lib/reports/Report.rb +42 -10
- data/lib/reports/ReportBase.rb +2 -1
- data/lib/reports/ReportContext.rb +2 -1
- data/lib/reports/ReportTable.rb +2 -1
- data/lib/reports/ReportTableCell.rb +63 -28
- data/lib/reports/ReportTableColumn.rb +2 -1
- data/lib/reports/ReportTableLegend.rb +5 -5
- data/lib/reports/ReportTableLine.rb +2 -1
- data/lib/reports/ResourceListRE.rb +2 -1
- data/lib/reports/StatusSheetReport.rb +4 -2
- data/lib/reports/TableReport.rb +42 -38
- data/lib/reports/TaskListRE.rb +4 -2
- data/lib/reports/TextReport.rb +2 -1
- data/lib/reports/TimeSheetReport.rb +4 -2
- data/lib/reports/TjpExportRE.rb +4 -2
- data/lib/{taskjuggler3.rb → tj3.rb} +6 -5
- data/lib/tj3client.rb +19 -36
- data/lib/tj3d.rb +6 -2
- data/lib/tj3man.rb +4 -3
- data/lib/tj3ss_receiver.rb +2 -1
- data/lib/tj3ss_sender.rb +2 -1
- data/lib/tj3ts_receiver.rb +2 -1
- data/lib/tj3ts_sender.rb +2 -1
- data/lib/tj3ts_summary.rb +2 -1
- data/manual/Day_To_Day_Juggling +36 -0
- data/manual/How_To_Contribute +9 -4
- data/manual/Installation +10 -3
- data/manual/TaskJuggler_Internals +0 -2
- data/manual/Tutorial +25 -3
- data/prj_cfg.rb +4 -2
- data/spec/IntervalList_spec.rb +138 -0
- data/spec/ProjectBroker_spec.rb +133 -0
- data/tasks/changelog.rake +41 -24
- data/tasks/csts.rake +1 -0
- data/tasks/gem.rake +1 -0
- data/tasks/rcov.rake +1 -1
- data/tasks/spec.rake +7 -0
- data/tasks/test.rake +1 -0
- data/test/MessageChecker.rb +2 -1
- data/test/TestSuite/CSV-Reports/niku.tjp +70 -0
- data/test/TestSuite/CSV-Reports/{celltext-Reference.csv → refs/celltext.csv} +0 -0
- data/test/TestSuite/CSV-Reports/refs/niku.csv +5 -0
- data/test/TestSuite/CSV-Reports/{resourcereport-Reference.csv → refs/resourcereport.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{resourcereport_with_tasks-Reference.csv → refs/resourcereport_with_tasks.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortByTree-Reference.csv → refs/sortByTree.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_duration.down-Reference.csv → refs/sortBy_duration.down.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_effort.up-Reference.csv → refs/sortBy_effort.up.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_plan.start.down-Reference.csv → refs/sortBy_plan.start.down.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{taskreport-Reference.csv → refs/taskreport.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{taskreport_with_resources-Reference.csv → refs/taskreport_with_resources.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{weekly-Reference.csv → refs/weekly.csv} +0 -0
- data/test/TestSuite/HTML-Reports/Alerts.tjp +12 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
- data/test/TestSuite/Scheduler/Correct/Container-2.tjp +1 -2
- data/test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp +77 -0
- data/test/TestSuite/Scheduler/Correct/WeakDeps.tjp +40 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +2 -2
- data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +3 -4
- data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +2 -2
- data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +8 -7
- data/test/TestSuite/Scheduler/Errors/onend_wrong_direction.tjp +19 -0
- data/test/TestSuite/Scheduler/Errors/onstart_wrong_direction.tjp +18 -0
- data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +1 -2
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/boss_2002-03-02.tji +46 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/dev2_2002-03-02.tji +22 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/resources.yml +11 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/acceptable_intervals +1 -0
- data/test/TestSuite/StatusSheets/sender.log +256 -0
- data/test/TestSuite/StatusSheets/statussheets.log +9 -0
- data/test/TestSuite/StatusSheets/tj3d.log +395 -0
- data/test/TestSuite/Syntax/Correct/Limits-1.tjp +2 -0
- data/test/TestSuite/Syntax/Correct/Niku.tjp +6 -1
- data/test/TestSuite/Syntax/Correct/Scenario.tjp +4 -1
- data/test/TestSuite/Syntax/Correct/Supplement.tjp +12 -5
- data/test/TestSuite/Syntax/Correct/TaskPrefix.tji +3 -0
- data/test/TestSuite/Syntax/Correct/TaskPrefix.tjp +24 -0
- data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -2
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +15 -5
- data/test/all.rb +2 -4
- data/test/test_BatchProcessor.rb +2 -1
- data/test/test_CSV-Reports.rb +34 -23
- data/test/test_CSVFile.rb +2 -1
- data/test/test_CollisionDetector.rb +3 -2
- data/test/test_Journal.rb +2 -1
- data/test/test_Limits.rb +2 -1
- data/test/test_LogicalExpression.rb +2 -1
- data/test/test_MacroTable.rb +2 -1
- data/test/test_Project.rb +3 -2
- data/test/test_ProjectFileScanner.rb +2 -1
- data/test/test_PropertySet.rb +2 -1
- data/test/test_Query.rb +2 -1
- data/test/test_RealFormat.rb +2 -1
- data/test/test_ReportGenerator.rb +2 -1
- data/test/test_RichText.rb +2 -1
- data/test/test_Scheduler.rb +2 -1
- data/test/test_ShiftAssignments.rb +2 -1
- data/test/test_SimpleQueryExpander.rb +2 -1
- data/test/test_Syntax.rb +2 -1
- data/test/test_TextFormatter.rb +3 -2
- data/test/test_TjTime.rb +2 -1
- data/test/test_TjpExample.rb +2 -1
- data/test/test_URLParameter.rb +2 -1
- data/test/test_UTF8String.rb +2 -1
- data/test/test_WorkingHours.rb +2 -1
- data/test/test_deep_copy.rb +2 -1
- metadata +74 -20
- data/doc/StringIO.html +0 -595
- data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +0 -46
- data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +0 -51
- data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +0 -11
|
@@ -143,6 +143,8 @@
|
|
|
143
143
|
|
|
144
144
|
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
145
145
|
|
|
146
|
+
<li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
|
|
147
|
+
|
|
146
148
|
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
147
149
|
|
|
148
150
|
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
@@ -221,6 +223,8 @@
|
|
|
221
223
|
|
|
222
224
|
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
223
225
|
|
|
226
|
+
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
227
|
+
|
|
224
228
|
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
225
229
|
|
|
226
230
|
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
@@ -253,6 +257,8 @@
|
|
|
253
257
|
|
|
254
258
|
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
255
259
|
|
|
260
|
+
<li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
|
|
261
|
+
|
|
256
262
|
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
257
263
|
|
|
258
264
|
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
@@ -533,6 +539,8 @@
|
|
|
533
539
|
|
|
534
540
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
535
541
|
|
|
542
|
+
<li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
|
|
543
|
+
|
|
536
544
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
537
545
|
|
|
538
546
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -559,8 +567,6 @@
|
|
|
559
567
|
|
|
560
568
|
<li><a href="../String.html">String</a></li>
|
|
561
569
|
|
|
562
|
-
<li><a href="../StringIO.html">StringIO</a></li>
|
|
563
|
-
|
|
564
570
|
</ul>
|
|
565
571
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
566
572
|
</div>
|
|
@@ -717,46 +723,46 @@ copied. It will be copied on write.
|
|
|
717
723
|
<div class="method-source-code"
|
|
718
724
|
id="new-source">
|
|
719
725
|
<pre>
|
|
720
|
-
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
726
|
+
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line 32</span>
|
|
727
|
+
32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">arg1</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">startDate</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">endDate</span> = <span class="ruby-keyword kw">nil</span>)
|
|
728
|
+
33: <span class="ruby-comment cmt"># One entry for every day of the week. Sunday === 0.</span>
|
|
729
|
+
34: <span class="ruby-ivar">@days</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">7</span>, [])
|
|
730
|
+
35: <span class="ruby-ivar">@scoreboard</span> = <span class="ruby-keyword kw">nil</span>
|
|
731
|
+
36:
|
|
732
|
+
37: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg1</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">WorkingHours</span>)
|
|
733
|
+
38: <span class="ruby-comment cmt"># Create a copy of the passed WorkingHours object.</span>
|
|
734
|
+
39: <span class="ruby-identifier">wh</span> = <span class="ruby-identifier">arg1</span>
|
|
735
|
+
40: <span class="ruby-ivar">@timezone</span> = <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">timezone</span>
|
|
736
|
+
41: <span class="ruby-value">7</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">day</span><span class="ruby-operator">|</span>
|
|
737
|
+
42: <span class="ruby-identifier">hours</span> = []
|
|
738
|
+
43: <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">days</span>[<span class="ruby-identifier">day</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">hrs</span><span class="ruby-operator">|</span>
|
|
739
|
+
44: <span class="ruby-identifier">hours</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">hrs</span>.<span class="ruby-identifier">dup</span>
|
|
740
|
+
45: <span class="ruby-keyword kw">end</span>
|
|
741
|
+
46: <span class="ruby-identifier">setWorkingHours</span>(<span class="ruby-identifier">day</span>, <span class="ruby-identifier">hours</span>)
|
|
742
|
+
47: <span class="ruby-keyword kw">end</span>
|
|
743
|
+
48: <span class="ruby-ivar">@startDate</span> = <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">startDate</span>
|
|
744
|
+
49: <span class="ruby-ivar">@endDate</span> = <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">endDate</span>
|
|
745
|
+
50: <span class="ruby-ivar">@slotDuration</span> = <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">slotDuration</span>
|
|
746
|
+
51: <span class="ruby-ivar">@scoreboard</span> = <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">scoreboard</span>
|
|
747
|
+
52: <span class="ruby-keyword kw">else</span>
|
|
748
|
+
53: <span class="ruby-identifier">slotDuration</span> = <span class="ruby-identifier">arg1</span>
|
|
749
|
+
54: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg1</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">startDate</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">endDate</span>.<span class="ruby-identifier">nil?</span>
|
|
750
|
+
55: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"You must supply values for slotDuration, start and end dates"</span>
|
|
751
|
+
56: <span class="ruby-keyword kw">end</span>
|
|
752
|
+
57: <span class="ruby-ivar">@startDate</span> = <span class="ruby-identifier">startDate</span>
|
|
753
|
+
58: <span class="ruby-ivar">@endDate</span> = <span class="ruby-identifier">endDate</span>
|
|
754
|
+
59: <span class="ruby-ivar">@slotDuration</span> = <span class="ruby-identifier">slotDuration</span>
|
|
755
|
+
60:
|
|
756
|
+
61: <span class="ruby-comment cmt"># Create a new object with default working hours.</span>
|
|
757
|
+
62: <span class="ruby-ivar">@timezone</span> = <span class="ruby-keyword kw">nil</span>
|
|
758
|
+
63: <span class="ruby-comment cmt"># Set the default working hours. Monday to Friday 9am - 12pm, 1pm - 6pm.</span>
|
|
759
|
+
64: <span class="ruby-comment cmt"># Saturday and Sunday are days off.</span>
|
|
760
|
+
65: <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">5</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">day</span><span class="ruby-operator">|</span>
|
|
761
|
+
66: <span class="ruby-ivar">@days</span>[<span class="ruby-identifier">day</span>] = [ [ <span class="ruby-value">9</span> * <span class="ruby-value">60</span> * <span class="ruby-value">60</span>, <span class="ruby-value">12</span> * <span class="ruby-value">60</span> * <span class="ruby-value">60</span> ],
|
|
762
|
+
67: [ <span class="ruby-value">13</span> * <span class="ruby-value">60</span> * <span class="ruby-value">60</span>, <span class="ruby-value">18</span> * <span class="ruby-value">60</span> * <span class="ruby-value">60</span> ] ]
|
|
763
|
+
68: <span class="ruby-keyword kw">end</span>
|
|
764
|
+
69: <span class="ruby-keyword kw">end</span>
|
|
765
|
+
70: <span class="ruby-keyword kw">end</span></pre>
|
|
760
766
|
</div>
|
|
761
767
|
|
|
762
768
|
</div>
|
|
@@ -796,23 +802,23 @@ object <tt>wh</tt> is identical to this object.
|
|
|
796
802
|
<div class="method-source-code"
|
|
797
803
|
id="--source">
|
|
798
804
|
<pre>
|
|
799
|
-
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
805
|
+
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line 74</span>
|
|
806
|
+
74: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">wh</span>)
|
|
807
|
+
75: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@timezone</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">timezone</span> <span class="ruby-operator">||</span>
|
|
808
|
+
76: <span class="ruby-ivar">@startDate</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">startDate</span> <span class="ruby-operator">||</span>
|
|
809
|
+
77: <span class="ruby-ivar">@endDate</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">endDate</span> <span class="ruby-operator">||</span>
|
|
810
|
+
78: <span class="ruby-ivar">@slotDuration</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">slotDuration</span>
|
|
811
|
+
79:
|
|
812
|
+
80: <span class="ruby-value">7</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span>
|
|
813
|
+
81: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@days</span>[<span class="ruby-identifier">d</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">days</span>[<span class="ruby-identifier">d</span>].<span class="ruby-identifier">length</span>
|
|
814
|
+
82: <span class="ruby-comment cmt"># Check all working hour intervals</span>
|
|
815
|
+
83: <span class="ruby-ivar">@days</span>[<span class="ruby-identifier">d</span>].<span class="ruby-identifier">length</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
816
|
+
84: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@days</span>[<span class="ruby-identifier">d</span>][<span class="ruby-identifier">i</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">days</span>[<span class="ruby-identifier">d</span>][<span class="ruby-identifier">i</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">||</span>
|
|
817
|
+
85: <span class="ruby-ivar">@days</span>[<span class="ruby-identifier">d</span>][<span class="ruby-identifier">i</span>][<span class="ruby-value">1</span>] <span class="ruby-operator">!=</span> <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">days</span>[<span class="ruby-identifier">d</span>][<span class="ruby-identifier">i</span>][<span class="ruby-value">1</span>]
|
|
818
|
+
86: <span class="ruby-keyword kw">end</span>
|
|
819
|
+
87: <span class="ruby-keyword kw">end</span>
|
|
820
|
+
88: <span class="ruby-keyword kw">true</span>
|
|
821
|
+
89: <span class="ruby-keyword kw">end</span></pre>
|
|
816
822
|
</div>
|
|
817
823
|
|
|
818
824
|
</div>
|
|
@@ -847,10 +853,10 @@ an Array that contains Arrays of 2 Fixnums.
|
|
|
847
853
|
<div class="method-source-code"
|
|
848
854
|
id="get-orking-ours-source">
|
|
849
855
|
<pre>
|
|
850
|
-
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
856
|
+
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line 126</span>
|
|
857
|
+
126: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getWorkingHours</span>(<span class="ruby-identifier">dayOfWeek</span>)
|
|
858
|
+
127: <span class="ruby-ivar">@days</span>[<span class="ruby-identifier">dayOfWeek</span>]
|
|
859
|
+
128: <span class="ruby-keyword kw">end</span></pre>
|
|
854
860
|
</div>
|
|
855
861
|
|
|
856
862
|
</div>
|
|
@@ -883,12 +889,12 @@ Return true if <em>date</em> is within the defined working hours.
|
|
|
883
889
|
<div class="method-source-code"
|
|
884
890
|
id="on-hift--source">
|
|
885
891
|
<pre>
|
|
886
|
-
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
+
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line 131</span>
|
|
893
|
+
131: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">onShift?</span>(<span class="ruby-identifier">date</span>)
|
|
894
|
+
132: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@scoreboard</span>
|
|
895
|
+
133:
|
|
896
|
+
134: <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">date</span>)
|
|
897
|
+
135: <span class="ruby-keyword kw">end</span></pre>
|
|
892
898
|
</div>
|
|
893
899
|
|
|
894
900
|
</div>
|
|
@@ -925,26 +931,26 @@ start time of the interval, the second the end time.
|
|
|
925
931
|
<div class="method-source-code"
|
|
926
932
|
id="set-orking-ours-source">
|
|
927
933
|
<pre>
|
|
928
|
-
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
934
|
+
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line 96</span>
|
|
935
|
+
96: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setWorkingHours</span>(<span class="ruby-identifier">dayOfWeek</span>, <span class="ruby-identifier">intervals</span>)
|
|
936
|
+
97: <span class="ruby-comment cmt"># Changing the working hours requires the score board to be regenerated.</span>
|
|
937
|
+
98: <span class="ruby-ivar">@scoreboard</span> = <span class="ruby-keyword kw">nil</span>
|
|
938
|
+
99:
|
|
939
|
+
100: <span class="ruby-comment cmt"># Legal values range from 0 Sunday to 6 Saturday.</span>
|
|
940
|
+
101: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dayOfWeek</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">dayOfWeek</span> <span class="ruby-operator">></span> <span class="ruby-value">6</span>
|
|
941
|
+
102: <span class="ruby-identifier">raise</span> <span class="ruby-node">"dayOfWeek out of range: #{dayOfWeek}"</span>
|
|
942
|
+
103: <span class="ruby-keyword kw">end</span>
|
|
943
|
+
104: <span class="ruby-identifier">intervals</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">iv</span><span class="ruby-operator">|</span>
|
|
944
|
+
105: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">iv</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">iv</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">>=</span> <span class="ruby-value">24</span> * <span class="ruby-value">60</span> * <span class="ruby-value">60</span> <span class="ruby-operator">||</span>
|
|
945
|
+
106: <span class="ruby-identifier">iv</span>[<span class="ruby-value">1</span>] <span class="ruby-operator"><</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">iv</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">>=</span> <span class="ruby-value">24</span> * <span class="ruby-value">60</span> * <span class="ruby-value">60</span>
|
|
946
|
+
107: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Time interval has illegal values: #{iv[0]} - #{iv[1]}"</span>
|
|
947
|
+
108: <span class="ruby-keyword kw">end</span>
|
|
948
|
+
109: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">iv</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">>=</span> <span class="ruby-identifier">iv</span>[<span class="ruby-value">1</span>]
|
|
949
|
+
110: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Interval end time must be larger than start time"</span>
|
|
950
|
+
111: <span class="ruby-keyword kw">end</span>
|
|
951
|
+
112: <span class="ruby-keyword kw">end</span>
|
|
952
|
+
113: <span class="ruby-ivar">@days</span>[<span class="ruby-identifier">dayOfWeek</span>] = <span class="ruby-identifier">intervals</span>
|
|
953
|
+
114: <span class="ruby-keyword kw">end</span></pre>
|
|
948
954
|
</div>
|
|
949
955
|
|
|
950
956
|
</div>
|
|
@@ -977,18 +983,18 @@ Return true only if all slots in the <em>interval</em> are offhour slots.
|
|
|
977
983
|
<div class="method-source-code"
|
|
978
984
|
id="time-ff--source">
|
|
979
985
|
<pre>
|
|
980
|
-
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
986
|
+
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line 138</span>
|
|
987
|
+
138: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timeOff?</span>(<span class="ruby-identifier">interval</span>)
|
|
988
|
+
139: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@scoreboard</span>
|
|
989
|
+
140:
|
|
990
|
+
141: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">true</span>)
|
|
991
|
+
142: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">interval</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">true</span>)
|
|
992
|
+
143:
|
|
993
|
+
144: <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">endIdx</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
994
|
+
145: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">i</span>]
|
|
995
|
+
146: <span class="ruby-keyword kw">end</span>
|
|
996
|
+
147: <span class="ruby-keyword kw">true</span>
|
|
997
|
+
148: <span class="ruby-keyword kw">end</span></pre>
|
|
992
998
|
</div>
|
|
993
999
|
|
|
994
1000
|
</div>
|
|
@@ -1022,11 +1028,11 @@ Set the time zone <em>zone</em> for the working hours. This will reset the
|
|
|
1022
1028
|
<div class="method-source-code"
|
|
1023
1029
|
id="timezone--source">
|
|
1024
1030
|
<pre>
|
|
1025
|
-
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1031
|
+
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line 118</span>
|
|
1032
|
+
118: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timezone=</span>(<span class="ruby-identifier">zone</span>)
|
|
1033
|
+
119: <span class="ruby-ivar">@scoreboard</span> = <span class="ruby-keyword kw">nil</span>
|
|
1034
|
+
120: <span class="ruby-ivar">@timezone</span> = <span class="ruby-identifier">zone</span>
|
|
1035
|
+
121: <span class="ruby-keyword kw">end</span></pre>
|
|
1030
1036
|
</div>
|
|
1031
1037
|
|
|
1032
1038
|
</div>
|
|
@@ -1059,32 +1065,32 @@ Returns the time interval settings for each day in a human readable form.
|
|
|
1059
1065
|
<div class="method-source-code"
|
|
1060
1066
|
id="to-s-source">
|
|
1061
1067
|
<pre>
|
|
1062
|
-
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1068
|
+
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line 151</span>
|
|
1069
|
+
151: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
|
1070
|
+
152: <span class="ruby-identifier">dayNames</span> = <span class="ruby-node">%( Sun Mon Tue Wed Thu Fri Sat )</span>
|
|
1071
|
+
153: <span class="ruby-identifier">str</span> = <span class="ruby-value str">''</span>
|
|
1072
|
+
154: <span class="ruby-value">7</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">day</span><span class="ruby-operator">|</span>
|
|
1073
|
+
155: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"#{dayNames[day]}: "</span>
|
|
1074
|
+
156: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@days</span>[<span class="ruby-identifier">day</span>].<span class="ruby-identifier">empty?</span>
|
|
1075
|
+
157: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"off"</span>
|
|
1076
|
+
158: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"\n"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">day</span> <span class="ruby-operator"><</span> <span class="ruby-value">6</span>
|
|
1077
|
+
159: <span class="ruby-keyword kw">next</span>
|
|
1078
|
+
160: <span class="ruby-keyword kw">end</span>
|
|
1079
|
+
161: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
|
|
1080
|
+
162: <span class="ruby-ivar">@days</span>[<span class="ruby-identifier">day</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">iv</span><span class="ruby-operator">|</span>
|
|
1081
|
+
163: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
|
|
1082
|
+
164: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
|
|
1083
|
+
165: <span class="ruby-keyword kw">else</span>
|
|
1084
|
+
166: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
|
|
1085
|
+
167: <span class="ruby-keyword kw">end</span>
|
|
1086
|
+
168: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"#{iv[0] / 3600}:"</span> <span class="ruby-operator">+</span>
|
|
1087
|
+
169: <span class="ruby-node">"#{iv[0] % 3600 == 0 ? '00' : iv[0] % 3600} - "</span> <span class="ruby-operator">+</span>
|
|
1088
|
+
170: <span class="ruby-node">"#{iv[1] / 3600}:#{iv[1] % 3600 == 0 ? '00' : iv[1] % 3600}"</span>
|
|
1089
|
+
171: <span class="ruby-keyword kw">end</span>
|
|
1090
|
+
172: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"\n"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">day</span> <span class="ruby-operator"><</span> <span class="ruby-value">6</span>
|
|
1091
|
+
173: <span class="ruby-keyword kw">end</span>
|
|
1092
|
+
174: <span class="ruby-identifier">str</span>
|
|
1093
|
+
175: <span class="ruby-keyword kw">end</span></pre>
|
|
1088
1094
|
</div>
|
|
1089
1095
|
|
|
1090
1096
|
</div>
|
|
@@ -1121,53 +1127,53 @@ Returns the time interval settings for each day in a human readable form.
|
|
|
1121
1127
|
<div class="method-source-code"
|
|
1122
1128
|
id="init-coreboard-source">
|
|
1123
1129
|
<pre>
|
|
1124
|
-
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1130
|
+
<span class="ruby-comment cmt"># File lib/WorkingHours.rb, line 179</span>
|
|
1131
|
+
179: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initScoreboard</span>
|
|
1132
|
+
180: <span class="ruby-comment cmt"># The scoreboard is an Array of True/False values. It spans a certain</span>
|
|
1133
|
+
181: <span class="ruby-comment cmt"># time period with one entry per time slot.</span>
|
|
1134
|
+
182: <span class="ruby-ivar">@scoreboard</span> = <span class="ruby-constant">Scoreboard</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@startDate</span>, <span class="ruby-ivar">@endDate</span>, <span class="ruby-ivar">@slotDuration</span>, <span class="ruby-keyword kw">false</span>)
|
|
1135
|
+
183:
|
|
1136
|
+
184: <span class="ruby-identifier">oldTimezone</span> = <span class="ruby-keyword kw">nil</span>
|
|
1137
|
+
185: <span class="ruby-comment cmt"># Set environment variable TZ to appropriate time zone</span>
|
|
1138
|
+
186: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@timezone</span>
|
|
1139
|
+
187: <span class="ruby-identifier">oldTimezone</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'TZ'</span>]
|
|
1140
|
+
188: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'TZ'</span>] = <span class="ruby-ivar">@timezone</span>
|
|
1141
|
+
189: <span class="ruby-keyword kw">end</span>
|
|
1142
|
+
190:
|
|
1143
|
+
191: <span class="ruby-identifier">date</span> = <span class="ruby-ivar">@startDate</span>
|
|
1144
|
+
192: <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">collect!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">slot</span><span class="ruby-operator">|</span>
|
|
1145
|
+
193: <span class="ruby-identifier">localDate</span> = <span class="ruby-identifier">date</span>.<span class="ruby-identifier">dup</span>
|
|
1146
|
+
194: <span class="ruby-identifier">localDate</span>.<span class="ruby-identifier">localtime</span>
|
|
1147
|
+
195:
|
|
1148
|
+
196: <span class="ruby-comment cmt"># The date is in UTC. The weekday needs to be calculated according to</span>
|
|
1149
|
+
197: <span class="ruby-comment cmt"># the local timezone.</span>
|
|
1150
|
+
198: <span class="ruby-identifier">weekday</span> = <span class="ruby-identifier">localDate</span>.<span class="ruby-identifier">wday</span>
|
|
1151
|
+
199: <span class="ruby-identifier">secondsOfDay</span> = <span class="ruby-identifier">localDate</span>.<span class="ruby-identifier">secondsOfDay</span>
|
|
1152
|
+
200:
|
|
1153
|
+
201: <span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">false</span>
|
|
1154
|
+
202: <span class="ruby-ivar">@days</span>[<span class="ruby-identifier">weekday</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">iv</span><span class="ruby-operator">|</span>
|
|
1155
|
+
203: <span class="ruby-comment cmt"># Check the working hours of that day if they overlap with +date+.</span>
|
|
1156
|
+
204: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">iv</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><=</span> <span class="ruby-identifier">secondsOfDay</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">secondsOfDay</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">iv</span>[<span class="ruby-value">1</span>]
|
|
1157
|
+
205: <span class="ruby-comment cmt"># The time slot is a working slot.</span>
|
|
1158
|
+
206: <span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">true</span>
|
|
1159
|
+
207: <span class="ruby-keyword kw">break</span>
|
|
1160
|
+
208: <span class="ruby-keyword kw">end</span>
|
|
1161
|
+
209: <span class="ruby-keyword kw">end</span>
|
|
1162
|
+
210: <span class="ruby-comment cmt"># Calculate date of next scoreboard slot</span>
|
|
1163
|
+
211: <span class="ruby-identifier">date</span> <span class="ruby-operator">+=</span> <span class="ruby-ivar">@slotDuration</span>
|
|
1164
|
+
212:
|
|
1165
|
+
213: <span class="ruby-identifier">result</span>
|
|
1166
|
+
214: <span class="ruby-keyword kw">end</span>
|
|
1167
|
+
215:
|
|
1168
|
+
216: <span class="ruby-comment cmt"># Restore environment</span>
|
|
1169
|
+
217: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@timezone</span>
|
|
1170
|
+
218: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">oldTimezone</span>
|
|
1171
|
+
219: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'TZ'</span>] = <span class="ruby-identifier">oldTimezone</span>
|
|
1172
|
+
220: <span class="ruby-keyword kw">else</span>
|
|
1173
|
+
221: <span class="ruby-constant">ENV</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">'TZ'</span>)
|
|
1174
|
+
222: <span class="ruby-keyword kw">end</span>
|
|
1175
|
+
223: <span class="ruby-keyword kw">end</span>
|
|
1176
|
+
224: <span class="ruby-keyword kw">end</span></pre>
|
|
1171
1177
|
</div>
|
|
1172
1178
|
|
|
1173
1179
|
</div>
|