taskjuggler 0.1.1 → 0.2.0
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 +37 -5
- data/README.rdoc +4 -2
- data/benchmarks/UTF-8-Strings.rb +58 -0
- data/benchmarks/css/tjmanual.css +0 -1
- data/benchmarks/htmltaskreport-1.html +47702 -0
- data/benchmarks/htmltaskreport-2.html +23345 -0
- data/benchmarks/htmltaskreport-3.html +23265 -0
- data/benchmarks/htmltaskreport-4.html +22135 -0
- data/benchmarks/profile.clt +36082 -0
- data/benchmarks/tj3.profile +0 -0
- data/benchmarks/tj3.profile.grind +6185 -0
- data/benchmarks/tj3.profile.symbols +432 -0
- data/benchmarks/tj3.profile.txt +448 -0
- data/data/tjp.vim +689 -0
- data/doc/AppConfig.html +26 -2
- data/doc/CHANGELOG.html +60 -8
- data/doc/COPYING.html +26 -2
- data/doc/Diff/Hunk.html +26 -2
- data/doc/Diff.html +26 -2
- data/doc/Diffable.html +26 -2
- data/doc/DiffableString.html +26 -2
- data/doc/Object.html +26 -104
- data/doc/README_rdoc.html +39 -7
- data/doc/RuntimeConfig.html +26 -2
- data/doc/String.html +26 -2
- data/doc/TaskJuggler/Account.html +27 -3
- data/doc/TaskJuggler/AccountAttribute.html +30 -6
- data/doc/TaskJuggler/AccountScenario.html +28 -4
- data/doc/TaskJuggler/Allocation.html +33 -9
- data/doc/TaskJuggler/AllocationAttribute.html +31 -7
- data/doc/TaskJuggler/AttributeBase.html +162 -111
- data/doc/TaskJuggler/AttributeDefinition.html +26 -2
- data/doc/TaskJuggler/AttributeOverwrite.html +26 -2
- data/doc/TaskJuggler/BatchProcessor.html +26 -2
- data/doc/TaskJuggler/Booking.html +29 -5
- data/doc/TaskJuggler/BookingListAttribute.html +29 -5
- data/doc/TaskJuggler/BooleanAttribute.html +30 -6
- data/doc/TaskJuggler/CSVFile.html +26 -2
- data/doc/TaskJuggler/CellSettingPattern.html +26 -2
- data/doc/TaskJuggler/CellSettingPatternList.html +26 -2
- data/doc/TaskJuggler/Charge.html +30 -6
- data/doc/TaskJuggler/ChargeListAttribute.html +29 -5
- data/doc/TaskJuggler/ChargeSet.html +26 -2
- data/doc/TaskJuggler/ChargeSetListAttribute.html +30 -6
- data/doc/TaskJuggler/CollisionDetector.html +26 -2
- data/doc/TaskJuggler/ColumnListAttribute.html +28 -4
- data/doc/TaskJuggler/ColumnTable.html +26 -2
- data/doc/TaskJuggler/Daemon.html +26 -2
- data/doc/TaskJuggler/DataCache.html +26 -2
- data/doc/TaskJuggler/DataCacheEntry.html +26 -2
- data/doc/TaskJuggler/DateAttribute.html +30 -6
- data/doc/TaskJuggler/DefinitionListAttribute.html +28 -4
- data/doc/TaskJuggler/DependencyListAttribute.html +30 -6
- data/doc/TaskJuggler/DurationAttribute.html +31 -7
- data/doc/TaskJuggler/FileList.html +26 -2
- data/doc/TaskJuggler/FileRecord.html +26 -2
- data/doc/TaskJuggler/FixnumAttribute.html +28 -4
- data/doc/TaskJuggler/FlagListAttribute.html +30 -6
- data/doc/TaskJuggler/FloatAttribute.html +29 -5
- data/doc/TaskJuggler/FormatListAttribute.html +29 -5
- data/doc/TaskJuggler/GanttChart.html +26 -2
- data/doc/TaskJuggler/GanttContainer.html +26 -2
- data/doc/TaskJuggler/GanttHeader.html +26 -2
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -2
- data/doc/TaskJuggler/GanttLine.html +27 -3
- data/doc/TaskJuggler/GanttLoadStack.html +26 -2
- data/doc/TaskJuggler/GanttMilestone.html +26 -2
- data/doc/TaskJuggler/GanttRouter.html +26 -2
- data/doc/TaskJuggler/GanttTaskBar.html +26 -2
- data/doc/TaskJuggler/HTMLDocument.html +26 -2
- data/doc/TaskJuggler/HTMLElements.html +623 -0
- data/doc/TaskJuggler/HTMLGraphics.html +26 -2
- data/doc/TaskJuggler/ICalReport.html +864 -0
- data/doc/TaskJuggler/ICalendar/Component.html +969 -0
- data/doc/TaskJuggler/ICalendar/Event.html +742 -0
- data/doc/TaskJuggler/ICalendar/Journal.html +722 -0
- data/doc/TaskJuggler/ICalendar/Person.html +633 -0
- data/doc/TaskJuggler/ICalendar/Todo.html +789 -0
- data/doc/TaskJuggler/ICalendar.html +1035 -0
- data/doc/TaskJuggler/Interval.html +99 -172
- data/doc/TaskJuggler/IntervalList.html +31 -7
- data/doc/TaskJuggler/JobInfo.html +26 -2
- data/doc/TaskJuggler/Journal.html +26 -2
- data/doc/TaskJuggler/JournalEntry.html +26 -2
- data/doc/TaskJuggler/JournalEntryList.html +26 -2
- data/doc/TaskJuggler/KeywordArray.html +26 -2
- data/doc/TaskJuggler/KeywordDocumentation.html +26 -2
- data/doc/TaskJuggler/Limits/Limit.html +124 -49
- data/doc/TaskJuggler/Limits.html +139 -156
- data/doc/TaskJuggler/LimitsAttribute.html +39 -14
- data/doc/TaskJuggler/ListAttributeBase.html +35 -11
- data/doc/TaskJuggler/Log.html +26 -2
- data/doc/TaskJuggler/LogFile.html +26 -2
- data/doc/TaskJuggler/LogicalAttribute.html +26 -2
- data/doc/TaskJuggler/LogicalExpression.html +26 -2
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +35 -11
- data/doc/TaskJuggler/LogicalExpressionListAttribute.html +35 -11
- data/doc/TaskJuggler/LogicalFlag.html +26 -2
- data/doc/TaskJuggler/LogicalFunction.html +28 -4
- data/doc/TaskJuggler/LogicalOperation.html +26 -2
- data/doc/TaskJuggler/ManagerResponsibilities.html +26 -2
- data/doc/TaskJuggler/ManagerStatusRecord.html +26 -2
- data/doc/TaskJuggler/Message.html +26 -2
- data/doc/TaskJuggler/MessageHandler.html +108 -62
- data/doc/TaskJuggler/Navigator.html +26 -2
- data/doc/TaskJuggler/NavigatorElement.html +26 -2
- data/doc/TaskJuggler/NikuProject.html +26 -2
- data/doc/TaskJuggler/NikuReport.html +27 -3
- data/doc/TaskJuggler/NikuResource.html +26 -2
- data/doc/TaskJuggler/NodeListAttribute.html +31 -7
- data/doc/TaskJuggler/PlaceHolderCell.html +26 -2
- data/doc/TaskJuggler/ProcessIntercom.html +26 -2
- data/doc/TaskJuggler/ProcessIntercomIface.html +26 -2
- data/doc/TaskJuggler/Project.html +1236 -973
- data/doc/TaskJuggler/ProjectBroker.html +26 -2
- data/doc/TaskJuggler/ProjectBrokerIface.html +26 -2
- data/doc/TaskJuggler/ProjectFileParser.html +29 -4
- data/doc/TaskJuggler/ProjectFileScanner.html +56 -31
- data/doc/TaskJuggler/ProjectRecord.html +26 -2
- data/doc/TaskJuggler/ProjectServer.html +26 -2
- data/doc/TaskJuggler/ProjectServerIface.html +26 -2
- data/doc/TaskJuggler/PropertyAttribute.html +35 -11
- data/doc/TaskJuggler/PropertyList.html +26 -2
- data/doc/TaskJuggler/PropertySet.html +126 -106
- data/doc/TaskJuggler/PropertyTreeNode.html +595 -551
- data/doc/TaskJuggler/Query.html +127 -100
- data/doc/TaskJuggler/RTFHandlers.html +26 -2
- data/doc/TaskJuggler/RTFNavigator.html +26 -2
- data/doc/TaskJuggler/RTFQuery.html +28 -4
- data/doc/TaskJuggler/RTFReport.html +26 -2
- data/doc/TaskJuggler/RTFReportLink.html +26 -2
- data/doc/TaskJuggler/RTFWithQuerySupport.html +26 -2
- data/doc/TaskJuggler/RealFormat.html +26 -2
- data/doc/TaskJuggler/RealFormatAttribute.html +31 -7
- data/doc/TaskJuggler/ReferenceAttribute.html +58 -34
- data/doc/TaskJuggler/Report.html +427 -284
- data/doc/TaskJuggler/ReportBase.html +28 -102
- data/doc/TaskJuggler/ReportContext.html +26 -2
- data/doc/TaskJuggler/ReportScenario.html +633 -0
- data/doc/TaskJuggler/ReportServer.html +26 -2
- data/doc/TaskJuggler/ReportServerIface.html +26 -2
- data/doc/TaskJuggler/ReportServerRecord.html +26 -2
- data/doc/TaskJuggler/ReportServlet.html +26 -2
- data/doc/TaskJuggler/ReportTable.html +26 -2
- data/doc/TaskJuggler/ReportTableCell.html +26 -2
- data/doc/TaskJuggler/ReportTableColumn.html +26 -2
- data/doc/TaskJuggler/ReportTableLegend.html +26 -2
- data/doc/TaskJuggler/ReportTableLine.html +26 -2
- data/doc/TaskJuggler/Resource.html +225 -163
- data/doc/TaskJuggler/ResourceListAttribute.html +71 -47
- data/doc/TaskJuggler/ResourceListRE.html +26 -2
- data/doc/TaskJuggler/ResourceScenario.html +645 -603
- data/doc/TaskJuggler/RichText.html +26 -2
- data/doc/TaskJuggler/RichTextAttribute.html +53 -29
- data/doc/TaskJuggler/RichTextDocument.html +26 -2
- data/doc/TaskJuggler/RichTextElement.html +26 -2
- data/doc/TaskJuggler/RichTextFunctionExample.html +26 -2
- data/doc/TaskJuggler/RichTextFunctionHandler.html +26 -2
- data/doc/TaskJuggler/RichTextImage.html +26 -2
- data/doc/TaskJuggler/RichTextIntermediate.html +29 -5
- data/doc/TaskJuggler/RichTextParser.html +26 -2
- data/doc/TaskJuggler/RichTextScanner.html +26 -2
- data/doc/TaskJuggler/RichTextSnip.html +26 -2
- data/doc/TaskJuggler/RichTextSyntaxRules.html +26 -2
- data/doc/TaskJuggler/Scenario.html +26 -2
- data/doc/TaskJuggler/ScenarioData.html +95 -28
- data/doc/TaskJuggler/ScenarioListAttribute.html +39 -15
- data/doc/TaskJuggler/Scoreboard.html +137 -73
- data/doc/TaskJuggler/ScoreboardInterval.html +1116 -0
- data/doc/TaskJuggler/SheetHandlerBase.html +26 -2
- data/doc/TaskJuggler/SheetReceiver.html +26 -2
- data/doc/TaskJuggler/SheetSender.html +26 -2
- data/doc/TaskJuggler/Shift.html +27 -3
- data/doc/TaskJuggler/ShiftAssignment.html +27 -3
- data/doc/TaskJuggler/ShiftAssignments.html +174 -149
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +41 -16
- data/doc/TaskJuggler/ShiftScenario.html +26 -2
- data/doc/TaskJuggler/SimpleQueryExpander.html +26 -2
- data/doc/TaskJuggler/SortListAttribute.html +35 -11
- data/doc/TaskJuggler/StatusSheetReceiver.html +26 -2
- data/doc/TaskJuggler/StatusSheetReport.html +26 -2
- data/doc/TaskJuggler/StatusSheetSender.html +26 -2
- data/doc/TaskJuggler/StdIoWrapper.html +26 -2
- data/doc/TaskJuggler/StringAttribute.html +39 -15
- data/doc/TaskJuggler/SymbolAttribute.html +35 -11
- data/doc/TaskJuggler/SyntaxReference.html +26 -2
- data/doc/TaskJuggler/TOCEntry.html +26 -2
- data/doc/TaskJuggler/TSResourceRecord.html +26 -2
- data/doc/TaskJuggler/TSTaskRecord.html +26 -2
- data/doc/TaskJuggler/TableColumnDefinition.html +26 -2
- data/doc/TaskJuggler/TableOfContents.html +26 -2
- data/doc/TaskJuggler/TableReport.html +239 -214
- data/doc/TaskJuggler/TagFile/TagFileEntry.html +841 -0
- data/doc/TaskJuggler/TagFile.html +817 -0
- data/doc/TaskJuggler/Task.html +27 -3
- data/doc/TaskJuggler/TaskDepListAttribute.html +47 -23
- data/doc/TaskJuggler/TaskDependency.html +26 -2
- data/doc/TaskJuggler/TaskListAttribute.html +47 -23
- data/doc/TaskJuggler/TaskListRE.html +26 -2
- data/doc/TaskJuggler/TaskScenario.html +2235 -2178
- data/doc/TaskJuggler/TernarySearchTree.html +26 -2
- data/doc/TaskJuggler/TextFormatter.html +26 -2
- data/doc/TaskJuggler/TextParser/Macro.html +26 -2
- data/doc/TaskJuggler/TextParser/MacroTable.html +26 -2
- data/doc/TaskJuggler/TextParser/Pattern.html +26 -2
- data/doc/TaskJuggler/TextParser/Rule.html +26 -2
- data/doc/TaskJuggler/TextParser/Scanner/BufferStreamHandle.html +32 -8
- data/doc/TaskJuggler/TextParser/Scanner/FileStreamHandle.html +39 -15
- data/doc/TaskJuggler/TextParser/Scanner/MacroStackEntry.html +26 -2
- data/doc/TaskJuggler/TextParser/Scanner/StreamHandle.html +119 -86
- data/doc/TaskJuggler/TextParser/Scanner.html +317 -291
- data/doc/TaskJuggler/TextParser/SourceFileInfo.html +26 -2
- data/doc/TaskJuggler/TextParser/StackElement.html +26 -2
- data/doc/TaskJuggler/TextParser/State.html +26 -2
- data/doc/TaskJuggler/TextParser/StateTransition.html +26 -2
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +26 -2
- data/doc/TaskJuggler/TextParser/TokenDoc.html +26 -2
- data/doc/TaskJuggler/TextParser.html +85 -61
- data/doc/TaskJuggler/TextReport.html +26 -2
- data/doc/TaskJuggler/TimeInterval.html +841 -0
- data/doc/TaskJuggler/{IntervalListAttribute.html → TimeIntervalListAttribute.html} +33 -9
- data/doc/TaskJuggler/TimeSheet.html +26 -2
- data/doc/TaskJuggler/TimeSheetReceiver.html +26 -2
- data/doc/TaskJuggler/TimeSheetRecord.html +27 -3
- data/doc/TaskJuggler/TimeSheetReport.html +29 -5
- data/doc/TaskJuggler/TimeSheetSender.html +26 -2
- data/doc/TaskJuggler/TimeSheetSummary.html +26 -2
- data/doc/TaskJuggler/TimeSheets.html +26 -2
- data/doc/TaskJuggler/Tj3.html +150 -111
- data/doc/TaskJuggler/Tj3AppBase.html +26 -2
- data/doc/TaskJuggler/Tj3Client.html +26 -2
- data/doc/TaskJuggler/Tj3Daemon.html +26 -2
- data/doc/TaskJuggler/Tj3Man.html +26 -2
- data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -2
- data/doc/TaskJuggler/Tj3SsReceiver.html +26 -2
- data/doc/TaskJuggler/Tj3SsSender.html +26 -2
- data/doc/TaskJuggler/Tj3TsReceiver.html +26 -2
- data/doc/TaskJuggler/Tj3TsSender.html +26 -2
- data/doc/TaskJuggler/Tj3TsSummary.html +26 -2
- data/doc/TaskJuggler/TjException.html +26 -2
- data/doc/TaskJuggler/TjRuntimeError.html +26 -2
- data/doc/TaskJuggler/TjTime.html +539 -477
- data/doc/TaskJuggler/TjpExample.html +26 -2
- data/doc/TaskJuggler/TjpExportRE.html +240 -161
- data/doc/TaskJuggler/TjpSyntaxRules.html +4236 -3844
- data/doc/TaskJuggler/URLParameter.html +26 -2
- data/doc/TaskJuggler/UserManual.html +26 -2
- data/doc/TaskJuggler/VimSyntax.html +31 -7
- data/doc/TaskJuggler/WebServer.html +26 -2
- data/doc/TaskJuggler/WelcomePage.html +26 -2
- data/doc/TaskJuggler/WorkingHours.html +227 -152
- data/doc/TaskJuggler/WorkingHoursAttribute.html +62 -38
- data/doc/TaskJuggler/XMLBlob.html +26 -2
- data/doc/TaskJuggler/XMLComment.html +26 -2
- data/doc/TaskJuggler/XMLDocument.html +26 -2
- data/doc/TaskJuggler/XMLElement.html +26 -2
- data/doc/TaskJuggler/XMLNamedText.html +26 -2
- data/doc/TaskJuggler/XMLText.html +26 -2
- data/doc/TaskJuggler.html +486 -427
- data/doc/index.html +801 -659
- data/doc/lib/taskjuggler/AccountScenario_rb.html +1 -1
- data/doc/lib/taskjuggler/Account_rb.html +1 -1
- data/doc/lib/taskjuggler/AlgorithmDiff_rb.html +1 -1
- data/doc/lib/taskjuggler/Allocation_rb.html +1 -1
- data/doc/lib/taskjuggler/AppConfig_rb.html +1 -1
- data/doc/lib/taskjuggler/AttributeBase_rb.html +1 -1
- data/doc/lib/taskjuggler/AttributeDefinition_rb.html +1 -1
- data/doc/lib/taskjuggler/Attributes_rb.html +1 -1
- data/doc/lib/taskjuggler/BatchProcessor_rb.html +1 -1
- data/doc/lib/taskjuggler/Booking_rb.html +1 -1
- data/doc/lib/taskjuggler/ChargeSet_rb.html +1 -1
- data/doc/lib/taskjuggler/Charge_rb.html +1 -1
- data/doc/lib/taskjuggler/DataCache_rb.html +1 -1
- data/doc/lib/taskjuggler/FileList_rb.html +1 -1
- data/doc/lib/taskjuggler/HTMLDocument_rb.html +1 -1
- data/doc/lib/{ruby-signal-bug_rb.html → taskjuggler/HTMLElements_rb.html} +9 -9
- data/doc/lib/{exchangebug_rb.html → taskjuggler/ICalendar_rb.html} +9 -9
- data/doc/lib/taskjuggler/IntervalList_rb.html +1 -1
- data/doc/lib/taskjuggler/Interval_rb.html +1 -1
- data/doc/lib/taskjuggler/Journal_rb.html +1 -1
- data/doc/lib/taskjuggler/KeywordArray_rb.html +1 -1
- data/doc/lib/taskjuggler/KeywordDocumentation_rb.html +1 -1
- data/doc/lib/taskjuggler/Limits_rb.html +1 -1
- data/doc/lib/taskjuggler/LogFile_rb.html +1 -1
- data/doc/lib/taskjuggler/Log_rb.html +1 -1
- data/doc/lib/taskjuggler/LogicalExpression_rb.html +1 -1
- data/doc/lib/taskjuggler/LogicalFunction_rb.html +1 -1
- data/doc/lib/taskjuggler/LogicalOperation_rb.html +1 -1
- data/doc/lib/taskjuggler/MessageHandler_rb.html +1 -1
- data/doc/lib/taskjuggler/ProjectFileParser_rb.html +1 -1
- data/doc/lib/taskjuggler/ProjectFileScanner_rb.html +1 -1
- data/doc/lib/taskjuggler/Project_rb.html +1 -1
- data/doc/lib/taskjuggler/PropertyList_rb.html +1 -1
- data/doc/lib/taskjuggler/PropertySet_rb.html +1 -1
- data/doc/lib/taskjuggler/PropertyTreeNode_rb.html +1 -1
- data/doc/lib/taskjuggler/Query_rb.html +1 -1
- data/doc/lib/taskjuggler/RealFormat_rb.html +1 -1
- data/doc/lib/taskjuggler/ResourceScenario_rb.html +1 -1
- data/doc/lib/taskjuggler/Resource_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/Document_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/Element_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/FunctionExample_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/FunctionHandler_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/Parser_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/RTFHandlers_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/RTFNavigator_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/RTFQuery_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/RTFReportLink_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/RTFReport_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/RTFWithQuerySupport_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/Scanner_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/Snip_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/SyntaxRules_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/TOCEntry_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText/TableOfContents_rb.html +1 -1
- data/doc/lib/taskjuggler/RichText_rb.html +1 -1
- data/doc/lib/taskjuggler/RuntimeConfig_rb.html +1 -1
- data/doc/lib/taskjuggler/ScenarioData_rb.html +1 -1
- data/doc/lib/taskjuggler/Scenario_rb.html +1 -1
- data/doc/lib/taskjuggler/Scoreboard_rb.html +1 -1
- data/doc/lib/taskjuggler/SheetHandlerBase_rb.html +1 -1
- data/doc/lib/taskjuggler/SheetReceiver_rb.html +1 -1
- data/doc/lib/taskjuggler/SheetSender_rb.html +1 -1
- data/doc/lib/taskjuggler/ShiftAssignments_rb.html +1 -1
- data/doc/lib/taskjuggler/ShiftScenario_rb.html +1 -1
- data/doc/lib/taskjuggler/Shift_rb.html +1 -1
- data/doc/lib/taskjuggler/SimpleQueryExpander_rb.html +1 -1
- data/doc/lib/taskjuggler/StatusSheetReceiver_rb.html +1 -1
- data/doc/lib/taskjuggler/StatusSheetSender_rb.html +1 -1
- data/doc/lib/taskjuggler/StdIoWrapper_rb.html +1 -1
- data/doc/lib/taskjuggler/SyntaxReference_rb.html +1 -1
- data/doc/lib/taskjuggler/TableColumnDefinition_rb.html +1 -1
- data/doc/lib/taskjuggler/TaskDependency_rb.html +1 -1
- data/doc/lib/taskjuggler/TaskJuggler_rb.html +1 -1
- data/doc/lib/taskjuggler/TaskScenario_rb.html +1 -1
- data/doc/lib/taskjuggler/Task_rb.html +1 -1
- data/doc/lib/taskjuggler/TernarySearchTree_rb.html +1 -1
- data/doc/lib/taskjuggler/TextFormatter_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/MacroTable_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/Pattern_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/Rule_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/Scanner_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/SourceFileInfo_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/StackElement_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/State_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser/TokenDoc_rb.html +1 -1
- data/doc/lib/taskjuggler/TextParser_rb.html +1 -1
- data/doc/lib/taskjuggler/TimeSheetReceiver_rb.html +1 -1
- data/doc/lib/taskjuggler/TimeSheetSender_rb.html +1 -1
- data/doc/lib/taskjuggler/TimeSheetSummary_rb.html +1 -1
- data/doc/lib/taskjuggler/TimeSheets_rb.html +1 -1
- data/doc/lib/taskjuggler/Tj3AppBase_rb.html +1 -1
- data/doc/lib/taskjuggler/Tj3Config_rb.html +1 -1
- data/doc/lib/taskjuggler/Tj3SheetAppBase_rb.html +1 -1
- data/doc/lib/taskjuggler/TjException_rb.html +1 -1
- data/doc/lib/taskjuggler/TjTime_rb.html +1 -1
- data/doc/lib/taskjuggler/TjpExample_rb.html +1 -1
- data/doc/lib/taskjuggler/TjpSyntaxRules_rb.html +1 -1
- data/doc/lib/taskjuggler/URLParameter_rb.html +1 -1
- data/doc/lib/taskjuggler/UTF8String_rb.html +1 -1
- data/doc/lib/taskjuggler/UserManual_rb.html +1 -1
- data/doc/lib/taskjuggler/VimSyntax_rb.html +1 -1
- data/doc/lib/taskjuggler/WorkingHours_rb.html +1 -1
- data/doc/lib/taskjuggler/XMLDocument_rb.html +1 -1
- data/doc/lib/taskjuggler/XMLElement_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3Client_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3Daemon_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3Man_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3SsReceiver_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3SsSender_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3TsReceiver_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3TsSender_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3TsSummary_rb.html +1 -1
- data/doc/lib/taskjuggler/apps/Tj3_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/Daemon_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/ProcessIntercom_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/ProjectBroker_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/ProjectServer_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/ReportServer_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/ReportServlet_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/WebServer_rb.html +1 -1
- data/doc/lib/taskjuggler/daemon/WelcomePage_rb.html +1 -1
- data/doc/lib/taskjuggler/deep_copy_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/CSVFile_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/CollisionDetector_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ColumnTable_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttChart_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttContainer_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttHeaderScaleItem_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttHeader_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttLine_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttLoadStack_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttMilestone_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttRouter_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/GanttTaskBar_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/HTMLGraphics_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ICalReport_rb.html +71 -0
- data/doc/lib/taskjuggler/reports/Navigator_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/NikuReport_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ReportBase_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ReportContext_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ReportTableCell_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ReportTableColumn_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ReportTableLegend_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ReportTableLine_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/ReportTable_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/Report_rb.html +5 -1
- data/doc/lib/taskjuggler/reports/ResourceListRE_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/StatusSheetReport_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/TableReport_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/TagFile_rb.html +71 -0
- data/doc/lib/taskjuggler/reports/TaskListRE_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/TextReport_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/TimeSheetReport_rb.html +1 -1
- data/doc/lib/taskjuggler/reports/TjpExportRE_rb.html +1 -1
- data/doc/lib/tj3_rb.html +1 -1
- data/doc/lib/tj3client_rb.html +1 -1
- data/doc/lib/tj3d_rb.html +1 -1
- data/doc/lib/tj3man_rb.html +1 -1
- data/doc/lib/tj3ss_receiver_rb.html +1 -1
- data/doc/lib/tj3ss_sender_rb.html +1 -1
- data/doc/lib/tj3ts_receiver_rb.html +1 -1
- data/doc/lib/tj3ts_sender_rb.html +1 -1
- data/doc/lib/tj3ts_summary_rb.html +1 -1
- data/lib/taskjuggler/Account.rb +1 -1
- data/lib/taskjuggler/AccountScenario.rb +1 -1
- data/lib/taskjuggler/Allocation.rb +5 -5
- data/lib/taskjuggler/AttributeBase.rb +30 -22
- data/lib/taskjuggler/Attributes.rb +80 -78
- data/lib/taskjuggler/Booking.rb +2 -2
- data/lib/taskjuggler/Charge.rb +3 -3
- data/lib/taskjuggler/ICalendar.rb +251 -0
- data/lib/taskjuggler/Interval.rb +215 -53
- data/lib/taskjuggler/IntervalList.rb +5 -5
- data/lib/taskjuggler/Limits.rb +79 -69
- data/lib/taskjuggler/LogicalFunction.rb +2 -2
- data/lib/taskjuggler/MessageHandler.rb +11 -6
- data/lib/taskjuggler/Project.rb +208 -95
- data/lib/taskjuggler/ProjectFileParser.rb +2 -2
- data/lib/taskjuggler/ProjectFileScanner.rb +7 -6
- data/lib/taskjuggler/PropertySet.rb +1 -5
- data/lib/taskjuggler/PropertyTreeNode.rb +21 -16
- data/lib/taskjuggler/Query.rb +10 -7
- data/lib/taskjuggler/Resource.rb +6 -1
- data/lib/taskjuggler/ResourceScenario.rb +85 -69
- data/lib/taskjuggler/RichText/RTFQuery.rb +2 -2
- data/lib/taskjuggler/ScenarioData.rb +11 -1
- data/lib/taskjuggler/Scoreboard.rb +8 -1
- data/lib/taskjuggler/Shift.rb +1 -1
- data/lib/taskjuggler/ShiftAssignments.rb +22 -20
- data/lib/taskjuggler/Task.rb +1 -1
- data/lib/taskjuggler/TaskJuggler.rb +65 -51
- data/lib/taskjuggler/TaskScenario.rb +486 -419
- data/lib/taskjuggler/TextParser/Scanner.rb +22 -11
- data/lib/taskjuggler/TimeSheets.rb +1 -1
- data/lib/taskjuggler/Tj3Config.rb +1 -1
- data/lib/taskjuggler/TjTime.rb +7 -3
- data/lib/taskjuggler/TjpSyntaxRules.rb +157 -23
- data/lib/taskjuggler/VimSyntax.rb +18 -0
- data/lib/taskjuggler/WorkingHours.rb +20 -4
- data/lib/taskjuggler/apps/Tj3.rb +16 -1
- data/lib/taskjuggler/reports/GanttLine.rb +1 -1
- data/lib/taskjuggler/reports/ICalReport.rb +136 -0
- data/lib/taskjuggler/reports/NikuReport.rb +1 -1
- data/lib/taskjuggler/reports/Report.rb +59 -0
- data/lib/taskjuggler/reports/ReportBase.rb +2 -67
- data/lib/taskjuggler/reports/TableReport.rb +9 -8
- data/lib/taskjuggler/reports/TagFile.rb +120 -0
- data/lib/taskjuggler/reports/TimeSheetReport.rb +3 -3
- data/lib/taskjuggler/reports/TjpExportRE.rb +33 -9
- data/manual/Installation +126 -0
- data/spec/ICalendar_spec.rb +45 -0
- data/spec/IntervalList_spec.rb +11 -11
- data/tasks/changelog.rake +150 -60
- data/tasks/gem.rake +1 -0
- data/tasks/vim.rake +2 -2
- data/test/TestSuite/Export-Reports/refs/Booking.tjp +1 -1
- data/test/TestSuite/Export-Reports/refs/CompletedWork.tji.tjp +40 -0
- data/test/TestSuite/Export-Reports/refs/Macro-2.tjp +10 -1
- data/test/TestSuite/Export-Reports/refs/TaskPrefix.tjp +1 -1
- data/test/TestSuite/HTML-Reports/Alerts.html +160 -412
- data/test/TestSuite/HTML-Reports/CellText.html +758 -0
- data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
- data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
- data/test/TestSuite/HTML-Reports/LogicalFunctions.html +245 -0
- data/test/TestSuite/HTML-Reports/Query.html +31 -0
- data/test/TestSuite/HTML-Reports/css/tjmanual.css +0 -20
- data/test/TestSuite/HTML-Reports/css/tjreport.css +6 -7
- data/test/TestSuite/HTML-Reports/depArrows.html +851 -0
- data/test/TestSuite/HTML-Reports/profile.html +37581 -0
- data/test/TestSuite/{Scheduler/Correct → HTML-Reports/scripts}/scripts/wz_tooltip.js +20 -20
- data/test/TestSuite/Scheduler/Correct/Booking.tjp +3 -3
- data/test/TestSuite/Scheduler/Correct/Duration.tjp +3 -3
- data/test/TestSuite/Scheduler/Errors/R.html +113 -0
- data/test/TestSuite/Scheduler/Errors/allocate_no_assigned.tjp +15 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/css/tjmanual.css +0 -1
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/css/tjreport.css +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/details.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/flag-green.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/flag-red.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/flag-yellow.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/resource.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/resourcegroup.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/task.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/taskgroup.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/trend-down.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/trend-flat.png +0 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/trend-up.png +0 -0
- data/test/TestSuite/Scheduler/Errors/overbooked_duration.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/overbooked_effort.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/overbooked_length.tjp +13 -0
- data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/scripts/wz_tooltip.js +0 -0
- data/test/TestSuite/StatusSheets/dev2.tji +22 -0
- data/test/TestSuite/Syntax/Correct/CompletedWork.tji.tjp +38 -0
- data/test/TestSuite/Syntax/Correct/Macro-2.tjp +5 -2
- data/test/TestSuite/Syntax/Errors/scenario_after_tracking.tjp +8 -0
- data/test/TestSuite/TimeSheets/resrep.tji +7 -0
- data/test/TestSuite/TimeSheets/ts.tji +351 -0
- data/test/TestSuite/TimeSheets/tsdef.tji +2 -0
- data/test/test_Limits.rb +38 -30
- data/test/test_Scheduler.rb +2 -2
- data/test/test_ShiftAssignments.rb +8 -8
- data/test/test_WorkingHours.rb +4 -4
- metadata +1015 -1005
- data/lib/exchangebug.rb +0 -42
- data/lib/ruby-signal-bug.rb +0 -55
- data/test/TestSuite/Export-Reports/refs/DST.tjp +0 -60
- data/test/TestSuite/Export-Reports/refs/ReleasePlan.tjp +0 -80
- data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
- data/test/TestSuite/HTML-Reports/reference.html +0 -51
- data/test/TestSuite/ReportGenerator/Correct/Alerts-1.csv +0 -412
- data/test/TestSuite/ReportGenerator/Correct/Alerts-1.html +0 -680
- data/test/TestSuite/ReportGenerator/Correct/DependencyList.csv +0 -4
- data/test/TestSuite/ReportGenerator/Correct/DependencyList.tjp +0 -25
- data/test/TestSuite/ReportGenerator/Correct/Journal-1.csv +0 -8
- data/test/TestSuite/ReportGenerator/Correct/Journal-2.csv +0 -8
- data/test/TestSuite/ReportGenerator/Correct/Journal-3.html +0 -28
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +0 -3
- data/test/TestSuite/ReportGenerator/Correct/opennodes-1.csv +0 -2
- data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +0 -2
- data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
- data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
- data/test/TestSuite/Scheduler/' +0 -23
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -86
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +0 -413
- data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
- data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
- data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/resource1_2002-03-01.tji +0 -0
- data/test/TestSuite/Syntax/Correct/DST.tjp +0 -11
- data/test/TestSuite/Syntax/Correct/ReleasePlan.tjp +0 -32
- data/test/TestSuite/TimeSheets/receiver.log.mod +0 -1056
- data/test/TestSuite/TimeSheets/uu.txt +0 -29
|
@@ -73,6 +73,8 @@
|
|
|
73
73
|
|
|
74
74
|
<li><a href="#method-i-%3D%3D">#==</a></li>
|
|
75
75
|
|
|
76
|
+
<li><a href="#method-i-deep_clone">#deep_clone</a></li>
|
|
77
|
+
|
|
76
78
|
<li><a href="#method-i-getWorkingHours">#getWorkingHours</a></li>
|
|
77
79
|
|
|
78
80
|
<li><a href="#method-i-initScoreboard">#initScoreboard</a></li>
|
|
@@ -223,12 +225,24 @@
|
|
|
223
225
|
|
|
224
226
|
<li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
|
|
225
227
|
|
|
228
|
+
<li><a href="../TaskJuggler/ICalReport.html">TaskJuggler::ICalReport</a></li>
|
|
229
|
+
|
|
230
|
+
<li><a href="../TaskJuggler/ICalendar.html">TaskJuggler::ICalendar</a></li>
|
|
231
|
+
|
|
232
|
+
<li><a href="../TaskJuggler/ICalendar/Component.html">TaskJuggler::ICalendar::Component</a></li>
|
|
233
|
+
|
|
234
|
+
<li><a href="../TaskJuggler/ICalendar/Event.html">TaskJuggler::ICalendar::Event</a></li>
|
|
235
|
+
|
|
236
|
+
<li><a href="../TaskJuggler/ICalendar/Journal.html">TaskJuggler::ICalendar::Journal</a></li>
|
|
237
|
+
|
|
238
|
+
<li><a href="../TaskJuggler/ICalendar/Person.html">TaskJuggler::ICalendar::Person</a></li>
|
|
239
|
+
|
|
240
|
+
<li><a href="../TaskJuggler/ICalendar/Todo.html">TaskJuggler::ICalendar::Todo</a></li>
|
|
241
|
+
|
|
226
242
|
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
227
243
|
|
|
228
244
|
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
229
245
|
|
|
230
|
-
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
231
|
-
|
|
232
246
|
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
233
247
|
|
|
234
248
|
<li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
|
|
@@ -343,6 +357,8 @@
|
|
|
343
357
|
|
|
344
358
|
<li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
|
|
345
359
|
|
|
360
|
+
<li><a href="../TaskJuggler/ReportScenario.html">TaskJuggler::ReportScenario</a></li>
|
|
361
|
+
|
|
346
362
|
<li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
|
|
347
363
|
|
|
348
364
|
<li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
|
|
@@ -401,6 +417,8 @@
|
|
|
401
417
|
|
|
402
418
|
<li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
|
|
403
419
|
|
|
420
|
+
<li><a href="../TaskJuggler/ScoreboardInterval.html">TaskJuggler::ScoreboardInterval</a></li>
|
|
421
|
+
|
|
404
422
|
<li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
|
|
405
423
|
|
|
406
424
|
<li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
|
|
@@ -447,6 +465,10 @@
|
|
|
447
465
|
|
|
448
466
|
<li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
|
|
449
467
|
|
|
468
|
+
<li><a href="../TaskJuggler/TagFile.html">TaskJuggler::TagFile</a></li>
|
|
469
|
+
|
|
470
|
+
<li><a href="../TaskJuggler/TagFile/TagFileEntry.html">TaskJuggler::TagFile::TagFileEntry</a></li>
|
|
471
|
+
|
|
450
472
|
<li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
|
|
451
473
|
|
|
452
474
|
<li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
|
|
@@ -497,6 +519,10 @@
|
|
|
497
519
|
|
|
498
520
|
<li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
|
|
499
521
|
|
|
522
|
+
<li><a href="../TaskJuggler/TimeInterval.html">TaskJuggler::TimeInterval</a></li>
|
|
523
|
+
|
|
524
|
+
<li><a href="../TaskJuggler/TimeIntervalListAttribute.html">TaskJuggler::TimeIntervalListAttribute</a></li>
|
|
525
|
+
|
|
500
526
|
<li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
|
501
527
|
|
|
502
528
|
<li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
|
|
@@ -763,25 +789,28 @@ copied. It will be copied on write.
|
|
|
763
789
|
48: <span class="ruby-ivar">@startDate</span> = <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">startDate</span>
|
|
764
790
|
49: <span class="ruby-ivar">@endDate</span> = <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">endDate</span>
|
|
765
791
|
50: <span class="ruby-ivar">@slotDuration</span> = <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">slotDuration</span>
|
|
766
|
-
51: <span class="ruby-
|
|
767
|
-
52:
|
|
768
|
-
53: <span class="ruby-identifier">
|
|
769
|
-
54: <span class="ruby-
|
|
770
|
-
55:
|
|
771
|
-
56: <span class="ruby-
|
|
772
|
-
57: <span class="ruby-
|
|
773
|
-
58:
|
|
774
|
-
59: <span class="ruby-
|
|
775
|
-
60:
|
|
776
|
-
61: <span class="ruby-
|
|
777
|
-
62: <span class="ruby-ivar">@
|
|
778
|
-
63:
|
|
779
|
-
64: <span class="ruby-comment cmt">#
|
|
780
|
-
65: <span class="ruby-
|
|
781
|
-
66:
|
|
782
|
-
67: <span class="ruby-
|
|
783
|
-
68:
|
|
784
|
-
69:
|
|
792
|
+
51: <span class="ruby-comment cmt"># Make sure the copied scoreboard has been created, so we can share it</span>
|
|
793
|
+
52: <span class="ruby-comment cmt"># copy-on-write.</span>
|
|
794
|
+
53: <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">onShift?</span>(<span class="ruby-value">0</span>)
|
|
795
|
+
54: <span class="ruby-ivar">@scoreboard</span> = <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">scoreboard</span>
|
|
796
|
+
55: <span class="ruby-keyword kw">else</span>
|
|
797
|
+
56: <span class="ruby-identifier">slotDuration</span> = <span class="ruby-identifier">arg1</span>
|
|
798
|
+
57: <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>
|
|
799
|
+
58: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"You must supply values for slotDuration, start and end dates"</span>
|
|
800
|
+
59: <span class="ruby-keyword kw">end</span>
|
|
801
|
+
60: <span class="ruby-ivar">@startDate</span> = <span class="ruby-identifier">startDate</span>
|
|
802
|
+
61: <span class="ruby-ivar">@endDate</span> = <span class="ruby-identifier">endDate</span>
|
|
803
|
+
62: <span class="ruby-ivar">@slotDuration</span> = <span class="ruby-identifier">slotDuration</span>
|
|
804
|
+
63:
|
|
805
|
+
64: <span class="ruby-comment cmt"># Create a new object with default working hours.</span>
|
|
806
|
+
65: <span class="ruby-ivar">@timezone</span> = <span class="ruby-identifier">timeZone</span>
|
|
807
|
+
66: <span class="ruby-comment cmt"># Set the default working hours. Monday to Friday 9am - 5pm.</span>
|
|
808
|
+
67: <span class="ruby-comment cmt"># Saturday and Sunday are days off.</span>
|
|
809
|
+
68: <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>
|
|
810
|
+
69: <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">17</span> * <span class="ruby-value">60</span> * <span class="ruby-value">60</span> ] ]
|
|
811
|
+
70: <span class="ruby-keyword kw">end</span>
|
|
812
|
+
71: <span class="ruby-keyword kw">end</span>
|
|
813
|
+
72: <span class="ruby-keyword kw">end</span></pre>
|
|
785
814
|
</div>
|
|
786
815
|
|
|
787
816
|
</div>
|
|
@@ -821,23 +850,63 @@ object <tt>wh</tt> is identical to this object.
|
|
|
821
850
|
<div class="method-source-code"
|
|
822
851
|
id="--source">
|
|
823
852
|
<pre>
|
|
824
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
853
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line 84</span>
|
|
854
|
+
84: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">wh</span>)
|
|
855
|
+
85: <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>
|
|
856
|
+
86: <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>
|
|
857
|
+
87: <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>
|
|
858
|
+
88: <span class="ruby-ivar">@slotDuration</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">wh</span>.<span class="ruby-identifier">slotDuration</span>
|
|
859
|
+
89:
|
|
860
|
+
90: <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>
|
|
861
|
+
91: <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>
|
|
862
|
+
92: <span class="ruby-comment cmt"># Check all working hour intervals</span>
|
|
863
|
+
93: <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>
|
|
864
|
+
94: <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>
|
|
865
|
+
95: <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>]
|
|
866
|
+
96: <span class="ruby-keyword kw">end</span>
|
|
867
|
+
97: <span class="ruby-keyword kw">end</span>
|
|
868
|
+
98: <span class="ruby-keyword kw">true</span>
|
|
869
|
+
99: <span class="ruby-keyword kw">end</span></pre>
|
|
870
|
+
</div>
|
|
871
|
+
|
|
872
|
+
</div>
|
|
873
|
+
|
|
874
|
+
|
|
875
|
+
|
|
876
|
+
|
|
877
|
+
</div>
|
|
878
|
+
|
|
879
|
+
|
|
880
|
+
<div id="deep-clone-method" class="method-detail ">
|
|
881
|
+
<a name="method-i-deep_clone"></a>
|
|
882
|
+
|
|
883
|
+
<div class="method-heading">
|
|
884
|
+
|
|
885
|
+
<span class="method-name">deep_clone</span><span
|
|
886
|
+
class="method-args">()</span>
|
|
887
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
888
|
+
|
|
889
|
+
</div>
|
|
890
|
+
|
|
891
|
+
<div class="method-description">
|
|
892
|
+
|
|
893
|
+
<p>
|
|
894
|
+
Since we want to share the scoreboard among instances with identical
|
|
895
|
+
working hours, we need to prevent the scoreboard from being deep cloned.
|
|
896
|
+
Calling the constructor with self in a re-defined <a
|
|
897
|
+
href="WorkingHours.html#method-i-deep_clone">deep_clone</a> method will do
|
|
898
|
+
just that.
|
|
899
|
+
</p>
|
|
900
|
+
|
|
901
|
+
|
|
902
|
+
|
|
903
|
+
<div class="method-source-code"
|
|
904
|
+
id="deep-clone-source">
|
|
905
|
+
<pre>
|
|
906
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line 78</span>
|
|
907
|
+
78: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deep_clone</span>
|
|
908
|
+
79: <span class="ruby-constant">WorkingHours</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
|
|
909
|
+
80: <span class="ruby-keyword kw">end</span></pre>
|
|
841
910
|
</div>
|
|
842
911
|
|
|
843
912
|
</div>
|
|
@@ -872,10 +941,10 @@ an Array that contains Arrays of 2 Fixnums.
|
|
|
872
941
|
<div class="method-source-code"
|
|
873
942
|
id="get-orking-ours-source">
|
|
874
943
|
<pre>
|
|
875
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
944
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line 136</span>
|
|
945
|
+
136: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getWorkingHours</span>(<span class="ruby-identifier">dayOfWeek</span>)
|
|
946
|
+
137: <span class="ruby-ivar">@days</span>[<span class="ruby-identifier">dayOfWeek</span>]
|
|
947
|
+
138: <span class="ruby-keyword kw">end</span></pre>
|
|
879
948
|
</div>
|
|
880
949
|
|
|
881
950
|
</div>
|
|
@@ -892,7 +961,7 @@ an Array that contains Arrays of 2 Fixnums.
|
|
|
892
961
|
<div class="method-heading">
|
|
893
962
|
|
|
894
963
|
<span class="method-name">onShift?</span><span
|
|
895
|
-
class="method-args">(
|
|
964
|
+
class="method-args">(arg)</span>
|
|
896
965
|
<span class="method-click-advice">click to toggle source</span>
|
|
897
966
|
|
|
898
967
|
</div>
|
|
@@ -900,7 +969,9 @@ an Array that contains Arrays of 2 Fixnums.
|
|
|
900
969
|
<div class="method-description">
|
|
901
970
|
|
|
902
971
|
<p>
|
|
903
|
-
Return true if <em>
|
|
972
|
+
Return true if <em>arg</em> is within the defined working hours.
|
|
973
|
+
<em>arg</em> can be a <a href="TjTime.html">TjTime</a> object or a global
|
|
974
|
+
scoreboard index.
|
|
904
975
|
</p>
|
|
905
976
|
|
|
906
977
|
|
|
@@ -908,12 +979,16 @@ Return true if <em>date</em> is within the defined working hours.
|
|
|
908
979
|
<div class="method-source-code"
|
|
909
980
|
id="on-hift--source">
|
|
910
981
|
<pre>
|
|
911
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
982
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line 142</span>
|
|
983
|
+
142: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">onShift?</span>(<span class="ruby-identifier">arg</span>)
|
|
984
|
+
143: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@scoreboard</span>
|
|
985
|
+
144:
|
|
986
|
+
145: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
|
|
987
|
+
146: <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">arg</span>)
|
|
988
|
+
147: <span class="ruby-keyword kw">else</span>
|
|
989
|
+
148: <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">arg</span>]
|
|
990
|
+
149: <span class="ruby-keyword kw">end</span>
|
|
991
|
+
150: <span class="ruby-keyword kw">end</span></pre>
|
|
917
992
|
</div>
|
|
918
993
|
|
|
919
994
|
</div>
|
|
@@ -950,26 +1025,26 @@ start time of the interval, the second the end time.
|
|
|
950
1025
|
<div class="method-source-code"
|
|
951
1026
|
id="set-orking-ours-source">
|
|
952
1027
|
<pre>
|
|
953
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
1028
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line 106</span>
|
|
1029
|
+
106: <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>)
|
|
1030
|
+
107: <span class="ruby-comment cmt"># Changing the working hours requires the score board to be regenerated.</span>
|
|
1031
|
+
108: <span class="ruby-ivar">@scoreboard</span> = <span class="ruby-keyword kw">nil</span>
|
|
1032
|
+
109:
|
|
1033
|
+
110: <span class="ruby-comment cmt"># Legal values range from 0 Sunday to 6 Saturday.</span>
|
|
1034
|
+
111: <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>
|
|
1035
|
+
112: <span class="ruby-identifier">raise</span> <span class="ruby-node">"dayOfWeek out of range: #{dayOfWeek}"</span>
|
|
1036
|
+
113: <span class="ruby-keyword kw">end</span>
|
|
1037
|
+
114: <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>
|
|
1038
|
+
115: <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>
|
|
1039
|
+
116: <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>
|
|
1040
|
+
117: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Time interval has illegal values: #{iv[0]} - #{iv[1]}"</span>
|
|
1041
|
+
118: <span class="ruby-keyword kw">end</span>
|
|
1042
|
+
119: <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>]
|
|
1043
|
+
120: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Interval end time must be larger than start time"</span>
|
|
1044
|
+
121: <span class="ruby-keyword kw">end</span>
|
|
1045
|
+
122: <span class="ruby-keyword kw">end</span>
|
|
1046
|
+
123: <span class="ruby-ivar">@days</span>[<span class="ruby-identifier">dayOfWeek</span>] = <span class="ruby-identifier">intervals</span>
|
|
1047
|
+
124: <span class="ruby-keyword kw">end</span></pre>
|
|
973
1048
|
</div>
|
|
974
1049
|
|
|
975
1050
|
</div>
|
|
@@ -1002,18 +1077,18 @@ Return true only if all slots in the <em>interval</em> are offhour slots.
|
|
|
1002
1077
|
<div class="method-source-code"
|
|
1003
1078
|
id="time-ff--source">
|
|
1004
1079
|
<pre>
|
|
1005
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1080
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line 153</span>
|
|
1081
|
+
153: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timeOff?</span>(<span class="ruby-identifier">interval</span>)
|
|
1082
|
+
154: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@scoreboard</span>
|
|
1083
|
+
155:
|
|
1084
|
+
156: <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>)
|
|
1085
|
+
157: <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>)
|
|
1086
|
+
158:
|
|
1087
|
+
159: <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>
|
|
1088
|
+
160: <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>]
|
|
1089
|
+
161: <span class="ruby-keyword kw">end</span>
|
|
1090
|
+
162: <span class="ruby-keyword kw">true</span>
|
|
1091
|
+
163: <span class="ruby-keyword kw">end</span></pre>
|
|
1017
1092
|
</div>
|
|
1018
1093
|
|
|
1019
1094
|
</div>
|
|
@@ -1047,11 +1122,11 @@ Set the time zone <em>zone</em> for the working hours. This will reset the
|
|
|
1047
1122
|
<div class="method-source-code"
|
|
1048
1123
|
id="timezone--source">
|
|
1049
1124
|
<pre>
|
|
1050
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1125
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line 128</span>
|
|
1126
|
+
128: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timezone=</span>(<span class="ruby-identifier">zone</span>)
|
|
1127
|
+
129: <span class="ruby-ivar">@scoreboard</span> = <span class="ruby-keyword kw">nil</span>
|
|
1128
|
+
130: <span class="ruby-ivar">@timezone</span> = <span class="ruby-identifier">zone</span>
|
|
1129
|
+
131: <span class="ruby-keyword kw">end</span></pre>
|
|
1055
1130
|
</div>
|
|
1056
1131
|
|
|
1057
1132
|
</div>
|
|
@@ -1084,32 +1159,32 @@ Returns the time interval settings for each day in a human readable form.
|
|
|
1084
1159
|
<div class="method-source-code"
|
|
1085
1160
|
id="to-s-source">
|
|
1086
1161
|
<pre>
|
|
1087
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1162
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line 166</span>
|
|
1163
|
+
166: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
|
1164
|
+
167: <span class="ruby-identifier">dayNames</span> = <span class="ruby-node">%( Sun Mon Tue Wed Thu Fri Sat )</span>
|
|
1165
|
+
168: <span class="ruby-identifier">str</span> = <span class="ruby-value str">''</span>
|
|
1166
|
+
169: <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>
|
|
1167
|
+
170: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"#{dayNames[day]}: "</span>
|
|
1168
|
+
171: <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>
|
|
1169
|
+
172: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"off"</span>
|
|
1170
|
+
173: <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>
|
|
1171
|
+
174: <span class="ruby-keyword kw">next</span>
|
|
1172
|
+
175: <span class="ruby-keyword kw">end</span>
|
|
1173
|
+
176: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
|
|
1174
|
+
177: <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>
|
|
1175
|
+
178: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
|
|
1176
|
+
179: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
|
|
1177
|
+
180: <span class="ruby-keyword kw">else</span>
|
|
1178
|
+
181: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
|
|
1179
|
+
182: <span class="ruby-keyword kw">end</span>
|
|
1180
|
+
183: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"#{iv[0] / 3600}:"</span> <span class="ruby-operator">+</span>
|
|
1181
|
+
184: <span class="ruby-node">"#{iv[0] % 3600 == 0 ? '00' : iv[0] % 3600} - "</span> <span class="ruby-operator">+</span>
|
|
1182
|
+
185: <span class="ruby-node">"#{iv[1] / 3600}:#{iv[1] % 3600 == 0 ? '00' : iv[1] % 3600}"</span>
|
|
1183
|
+
186: <span class="ruby-keyword kw">end</span>
|
|
1184
|
+
187: <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>
|
|
1185
|
+
188: <span class="ruby-keyword kw">end</span>
|
|
1186
|
+
189: <span class="ruby-identifier">str</span>
|
|
1187
|
+
190: <span class="ruby-keyword kw">end</span></pre>
|
|
1113
1188
|
</div>
|
|
1114
1189
|
|
|
1115
1190
|
</div>
|
|
@@ -1146,45 +1221,45 @@ Returns the time interval settings for each day in a human readable form.
|
|
|
1146
1221
|
<div class="method-source-code"
|
|
1147
1222
|
id="init-coreboard-source">
|
|
1148
1223
|
<pre>
|
|
1149
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1224
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/WorkingHours.rb, line 194</span>
|
|
1225
|
+
194: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initScoreboard</span>
|
|
1226
|
+
195: <span class="ruby-comment cmt"># The scoreboard is an Array of True/False values. It spans a certain</span>
|
|
1227
|
+
196: <span class="ruby-comment cmt"># time period with one entry per time slot.</span>
|
|
1228
|
+
197: <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>)
|
|
1229
|
+
198:
|
|
1230
|
+
199: <span class="ruby-identifier">oldTimezone</span> = <span class="ruby-keyword kw">nil</span>
|
|
1231
|
+
200: <span class="ruby-comment cmt"># Active the appropriate time zone for the working hours.</span>
|
|
1232
|
+
201: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@timezone</span>
|
|
1233
|
+
202: <span class="ruby-identifier">oldTimezone</span> = <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">setTimeZone</span>(<span class="ruby-ivar">@timezone</span>)
|
|
1234
|
+
203: <span class="ruby-keyword kw">end</span>
|
|
1235
|
+
204:
|
|
1236
|
+
205: <span class="ruby-identifier">date</span> = <span class="ruby-ivar">@startDate</span>
|
|
1237
|
+
206: <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>
|
|
1238
|
+
207: <span class="ruby-comment cmt"># The weekday and seconds of the day needs to be calculated according</span>
|
|
1239
|
+
208: <span class="ruby-comment cmt"># to the local timezone.</span>
|
|
1240
|
+
209: <span class="ruby-identifier">weekday</span> = <span class="ruby-identifier">date</span>.<span class="ruby-identifier">wday</span>
|
|
1241
|
+
210: <span class="ruby-identifier">secondsOfDay</span> = <span class="ruby-identifier">date</span>.<span class="ruby-identifier">secondsOfDay</span>
|
|
1242
|
+
211:
|
|
1243
|
+
212: <span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">false</span>
|
|
1244
|
+
213: <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>
|
|
1245
|
+
214: <span class="ruby-comment cmt"># Check the working hours of that day if they overlap with +date+.</span>
|
|
1246
|
+
215: <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>]
|
|
1247
|
+
216: <span class="ruby-comment cmt"># The time slot is a working slot.</span>
|
|
1248
|
+
217: <span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">true</span>
|
|
1249
|
+
218: <span class="ruby-keyword kw">break</span>
|
|
1250
|
+
219: <span class="ruby-keyword kw">end</span>
|
|
1251
|
+
220: <span class="ruby-keyword kw">end</span>
|
|
1252
|
+
221: <span class="ruby-comment cmt"># Calculate date of next scoreboard slot</span>
|
|
1253
|
+
222: <span class="ruby-identifier">date</span> <span class="ruby-operator">+=</span> <span class="ruby-ivar">@slotDuration</span>
|
|
1254
|
+
223:
|
|
1255
|
+
224: <span class="ruby-identifier">result</span>
|
|
1256
|
+
225: <span class="ruby-keyword kw">end</span>
|
|
1257
|
+
226:
|
|
1258
|
+
227: <span class="ruby-comment cmt"># Restore old time zone setting.</span>
|
|
1259
|
+
228: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@timezone</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">oldTimezone</span>
|
|
1260
|
+
229: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">setTimeZone</span>(<span class="ruby-identifier">oldTimezone</span>)
|
|
1261
|
+
230: <span class="ruby-keyword kw">end</span>
|
|
1262
|
+
231: <span class="ruby-keyword kw">end</span></pre>
|
|
1188
1263
|
</div>
|
|
1189
1264
|
|
|
1190
1265
|
</div>
|