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
|
@@ -246,12 +246,24 @@
|
|
|
246
246
|
|
|
247
247
|
<li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
|
|
248
248
|
|
|
249
|
+
<li><a href="../TaskJuggler/ICalReport.html">TaskJuggler::ICalReport</a></li>
|
|
250
|
+
|
|
251
|
+
<li><a href="../TaskJuggler/ICalendar.html">TaskJuggler::ICalendar</a></li>
|
|
252
|
+
|
|
253
|
+
<li><a href="../TaskJuggler/ICalendar/Component.html">TaskJuggler::ICalendar::Component</a></li>
|
|
254
|
+
|
|
255
|
+
<li><a href="../TaskJuggler/ICalendar/Event.html">TaskJuggler::ICalendar::Event</a></li>
|
|
256
|
+
|
|
257
|
+
<li><a href="../TaskJuggler/ICalendar/Journal.html">TaskJuggler::ICalendar::Journal</a></li>
|
|
258
|
+
|
|
259
|
+
<li><a href="../TaskJuggler/ICalendar/Person.html">TaskJuggler::ICalendar::Person</a></li>
|
|
260
|
+
|
|
261
|
+
<li><a href="../TaskJuggler/ICalendar/Todo.html">TaskJuggler::ICalendar::Todo</a></li>
|
|
262
|
+
|
|
249
263
|
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
250
264
|
|
|
251
265
|
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
252
266
|
|
|
253
|
-
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
254
|
-
|
|
255
267
|
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
256
268
|
|
|
257
269
|
<li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
|
|
@@ -366,6 +378,8 @@
|
|
|
366
378
|
|
|
367
379
|
<li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
|
|
368
380
|
|
|
381
|
+
<li><a href="../TaskJuggler/ReportScenario.html">TaskJuggler::ReportScenario</a></li>
|
|
382
|
+
|
|
369
383
|
<li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
|
|
370
384
|
|
|
371
385
|
<li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
|
|
@@ -424,6 +438,8 @@
|
|
|
424
438
|
|
|
425
439
|
<li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
|
|
426
440
|
|
|
441
|
+
<li><a href="../TaskJuggler/ScoreboardInterval.html">TaskJuggler::ScoreboardInterval</a></li>
|
|
442
|
+
|
|
427
443
|
<li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
|
|
428
444
|
|
|
429
445
|
<li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
|
|
@@ -470,6 +486,10 @@
|
|
|
470
486
|
|
|
471
487
|
<li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
|
|
472
488
|
|
|
489
|
+
<li><a href="../TaskJuggler/TagFile.html">TaskJuggler::TagFile</a></li>
|
|
490
|
+
|
|
491
|
+
<li><a href="../TaskJuggler/TagFile/TagFileEntry.html">TaskJuggler::TagFile::TagFileEntry</a></li>
|
|
492
|
+
|
|
473
493
|
<li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
|
|
474
494
|
|
|
475
495
|
<li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
|
|
@@ -520,6 +540,10 @@
|
|
|
520
540
|
|
|
521
541
|
<li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
|
|
522
542
|
|
|
543
|
+
<li><a href="../TaskJuggler/TimeInterval.html">TaskJuggler::TimeInterval</a></li>
|
|
544
|
+
|
|
545
|
+
<li><a href="../TaskJuggler/TimeIntervalListAttribute.html">TaskJuggler::TimeIntervalListAttribute</a></li>
|
|
546
|
+
|
|
523
547
|
<li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
|
524
548
|
|
|
525
549
|
<li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
|
|
@@ -792,10 +816,10 @@ Bit 6: Reserved Bit 7: 0: No global override
|
|
|
792
816
|
<div class="method-source-code"
|
|
793
817
|
id="sb-lear-source">
|
|
794
818
|
<pre>
|
|
795
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
819
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line 215</span>
|
|
820
|
+
215: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ShiftAssignments</span>.<span class="ruby-identifier">sbClear</span>
|
|
821
|
+
216: <span class="ruby-identifier">@@scoreboards</span> = {}
|
|
822
|
+
217: <span class="ruby-keyword kw">end</span></pre>
|
|
799
823
|
</div>
|
|
800
824
|
|
|
801
825
|
</div>
|
|
@@ -826,10 +850,10 @@ Bit 6: Reserved Bit 7: 0: No global override
|
|
|
826
850
|
<div class="method-source-code"
|
|
827
851
|
id="scoreboards-source">
|
|
828
852
|
<pre>
|
|
829
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
853
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line 211</span>
|
|
854
|
+
211: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ShiftAssignments</span>.<span class="ruby-identifier">scoreboards</span>
|
|
855
|
+
212: <span class="ruby-identifier">@@scoreboards</span>
|
|
856
|
+
213: <span class="ruby-keyword kw">end</span></pre>
|
|
833
857
|
</div>
|
|
834
858
|
|
|
835
859
|
</div>
|
|
@@ -870,28 +894,28 @@ the GC.
|
|
|
870
894
|
<div class="method-source-code"
|
|
871
895
|
id="delete-coreboard-source">
|
|
872
896
|
<pre>
|
|
873
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
897
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line 273</span>
|
|
898
|
+
273: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ShiftAssignments</span>.<span class="ruby-identifier">deleteScoreboard</span>(<span class="ruby-identifier">objId</span>)
|
|
899
|
+
274: <span class="ruby-comment cmt"># Attention: Due to the way this class is called, there will be no</span>
|
|
900
|
+
275: <span class="ruby-comment cmt"># visible exceptions here. All runtime errors will go unnoticed!</span>
|
|
901
|
+
276: <span class="ruby-comment cmt">#</span>
|
|
902
|
+
277: <span class="ruby-comment cmt"># We'll search the @@scoreboards for an entry that holds a reference to</span>
|
|
903
|
+
278: <span class="ruby-comment cmt"># the deleted ShiftAssignments object. If it's the last in the record,</span>
|
|
904
|
+
279: <span class="ruby-comment cmt"># we delete the whole record. If not, we'll just remove the reference</span>
|
|
905
|
+
280: <span class="ruby-comment cmt"># form the record.</span>
|
|
906
|
+
281: <span class="ruby-identifier">@@scoreboards</span>.<span class="ruby-identifier">each_value</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">record</span><span class="ruby-operator">|</span>
|
|
907
|
+
282: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">record</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">objId</span>)
|
|
908
|
+
283: <span class="ruby-comment cmt"># Remove the ShiftAssignments object as user of this Scoreboard</span>
|
|
909
|
+
284: <span class="ruby-comment cmt"># object.</span>
|
|
910
|
+
285: <span class="ruby-identifier">record</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">objId</span>)
|
|
911
|
+
286: <span class="ruby-comment cmt"># We've found what we were looking for.</span>
|
|
912
|
+
287: <span class="ruby-keyword kw">break</span>
|
|
913
|
+
288: <span class="ruby-keyword kw">end</span>
|
|
914
|
+
289: <span class="ruby-keyword kw">end</span>
|
|
915
|
+
290:
|
|
916
|
+
291: <span class="ruby-comment cmt"># Delete all entries which have empty reference lists.</span>
|
|
917
|
+
292: <span class="ruby-identifier">@@scoreboards</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">record</span><span class="ruby-operator">|</span> <span class="ruby-identifier">record</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">empty?</span> }
|
|
918
|
+
293: <span class="ruby-keyword kw">end</span></pre>
|
|
895
919
|
</div>
|
|
896
920
|
|
|
897
921
|
</div>
|
|
@@ -956,7 +980,7 @@ returns true. Otherwise false.
|
|
|
956
980
|
<div class="method-heading">
|
|
957
981
|
|
|
958
982
|
<span class="method-name">assigned?</span><span
|
|
959
|
-
class="method-args">(
|
|
983
|
+
class="method-args">(idx)</span>
|
|
960
984
|
<span class="method-click-advice">click to toggle source</span>
|
|
961
985
|
|
|
962
986
|
</div>
|
|
@@ -965,7 +989,7 @@ returns true. Otherwise false.
|
|
|
965
989
|
|
|
966
990
|
<p>
|
|
967
991
|
Returns true if any of the defined shift periods overlaps with the date or
|
|
968
|
-
interval specified by <em>
|
|
992
|
+
interval specified by <em>idx</em>.
|
|
969
993
|
</p>
|
|
970
994
|
|
|
971
995
|
|
|
@@ -973,10 +997,10 @@ interval specified by <em>date</em>.
|
|
|
973
997
|
<div class="method-source-code"
|
|
974
998
|
id="assigned--source">
|
|
975
999
|
<pre>
|
|
976
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
1000
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line 178</span>
|
|
1001
|
+
178: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">assigned?</span>(<span class="ruby-identifier">idx</span>)
|
|
1002
|
+
179: (<span class="ruby-identifier">getSbSlot</span>(<span class="ruby-identifier">idx</span>) & <span class="ruby-value">1</span>) <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
|
|
1003
|
+
180: <span class="ruby-keyword kw">end</span></pre>
|
|
980
1004
|
</div>
|
|
981
1005
|
|
|
982
1006
|
</div>
|
|
@@ -1010,12 +1034,12 @@ minDuration long and contain no working time.
|
|
|
1010
1034
|
<div class="method-source-code"
|
|
1011
1035
|
id="collect-ime-ff-ntervals-source">
|
|
1012
1036
|
<pre>
|
|
1013
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1037
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line 205</span>
|
|
1038
|
+
205: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collectTimeOffIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>)
|
|
1039
|
+
206: <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">collectIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
|
|
1040
|
+
207: (<span class="ruby-identifier">val</span> & <span class="ruby-value">0x3E</span>) <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
|
|
1041
|
+
208: <span class="ruby-keyword kw">end</span>
|
|
1042
|
+
209: <span class="ruby-keyword kw">end</span></pre>
|
|
1019
1043
|
</div>
|
|
1020
1044
|
|
|
1021
1045
|
</div>
|
|
@@ -1032,7 +1056,7 @@ minDuration long and contain no working time.
|
|
|
1032
1056
|
<div class="method-heading">
|
|
1033
1057
|
|
|
1034
1058
|
<span class="method-name">getSbSlot</span><span
|
|
1035
|
-
class="method-args">(
|
|
1059
|
+
class="method-args">(idx)</span>
|
|
1036
1060
|
<span class="method-click-advice">click to toggle source</span>
|
|
1037
1061
|
|
|
1038
1062
|
</div>
|
|
@@ -1041,7 +1065,7 @@ minDuration long and contain no working time.
|
|
|
1041
1065
|
|
|
1042
1066
|
<p>
|
|
1043
1067
|
This function returns the entry in the scoreboard that corresponds to
|
|
1044
|
-
<em>
|
|
1068
|
+
<em>idx</em>. If the slot has not yet been determined, it’s
|
|
1045
1069
|
calculated first.
|
|
1046
1070
|
</p>
|
|
1047
1071
|
|
|
@@ -1051,35 +1075,34 @@ calculated first.
|
|
|
1051
1075
|
id="get-b-lot-source">
|
|
1052
1076
|
<pre>
|
|
1053
1077
|
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line 147</span>
|
|
1054
|
-
147: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getSbSlot</span>(<span class="ruby-identifier">
|
|
1055
|
-
148: <span class="ruby-
|
|
1056
|
-
149: <span class="ruby-
|
|
1057
|
-
150:
|
|
1058
|
-
151:
|
|
1059
|
-
152:
|
|
1060
|
-
153: <span class="ruby-
|
|
1061
|
-
154:
|
|
1062
|
-
155:
|
|
1063
|
-
156:
|
|
1064
|
-
157: <span class="ruby-comment cmt">#
|
|
1065
|
-
158: <span class="ruby-
|
|
1066
|
-
159:
|
|
1067
|
-
160:
|
|
1068
|
-
161: <span class="ruby-
|
|
1069
|
-
162:
|
|
1070
|
-
163:
|
|
1071
|
-
164: <span class="ruby-
|
|
1072
|
-
165:
|
|
1073
|
-
166:
|
|
1074
|
-
167: <span class="ruby-
|
|
1075
|
-
168:
|
|
1076
|
-
169:
|
|
1077
|
-
170:
|
|
1078
|
-
171:
|
|
1079
|
-
172:
|
|
1080
|
-
173: <span class="ruby-
|
|
1081
|
-
174:
|
|
1082
|
-
175: <span class="ruby-keyword kw">end</span></pre>
|
|
1078
|
+
147: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getSbSlot</span>(<span class="ruby-identifier">idx</span>)
|
|
1079
|
+
148: <span class="ruby-comment cmt"># Check if we have a value already for this slot.</span>
|
|
1080
|
+
149: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>].<span class="ruby-identifier">nil?</span>
|
|
1081
|
+
150:
|
|
1082
|
+
151: <span class="ruby-identifier">date</span> = <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>)
|
|
1083
|
+
152: <span class="ruby-comment cmt"># If not, compute it.</span>
|
|
1084
|
+
153: <span class="ruby-ivar">@assignments</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sa</span><span class="ruby-operator">|</span>
|
|
1085
|
+
154: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">sa</span>.<span class="ruby-identifier">assigned?</span>(<span class="ruby-identifier">date</span>)
|
|
1086
|
+
155:
|
|
1087
|
+
156: <span class="ruby-comment cmt"># Mark the slot as 'assigned'. Meaning, the rest of the bits are valid</span>
|
|
1088
|
+
157: <span class="ruby-comment cmt"># for this time slot.</span>
|
|
1089
|
+
158: <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-value">1</span>
|
|
1090
|
+
159:
|
|
1091
|
+
160: <span class="ruby-comment cmt"># Set bit 1 if the shift is not active</span>
|
|
1092
|
+
161: <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>] <span class="ruby-operator">|=</span> <span class="ruby-value">1</span> <span class="ruby-operator"><<</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">sa</span>.<span class="ruby-identifier">onShift?</span>(<span class="ruby-identifier">date</span>)
|
|
1093
|
+
162:
|
|
1094
|
+
163: <span class="ruby-comment cmt"># Set bits 2 - 5 to 1 if it's a vacation slot.</span>
|
|
1095
|
+
164: <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>] <span class="ruby-operator">|=</span> <span class="ruby-value">1</span> <span class="ruby-operator"><<</span> <span class="ruby-value">3</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sa</span>.<span class="ruby-identifier">onVacation?</span>(<span class="ruby-identifier">date</span>)
|
|
1096
|
+
165:
|
|
1097
|
+
166: <span class="ruby-comment cmt"># Set the 8th bit if the shift replaces global vacations.</span>
|
|
1098
|
+
167: <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>] <span class="ruby-operator">|=</span> <span class="ruby-value">1</span> <span class="ruby-operator"><<</span> <span class="ruby-value">8</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sa</span>.<span class="ruby-identifier">replace?</span>(<span class="ruby-identifier">date</span>)
|
|
1099
|
+
168:
|
|
1100
|
+
169: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>]
|
|
1101
|
+
170: <span class="ruby-keyword kw">end</span>
|
|
1102
|
+
171:
|
|
1103
|
+
172: <span class="ruby-comment cmt"># The slot is not covered by any assignment.</span>
|
|
1104
|
+
173: <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-value">0</span>
|
|
1105
|
+
174: <span class="ruby-keyword kw">end</span></pre>
|
|
1083
1106
|
</div>
|
|
1084
1107
|
|
|
1085
1108
|
</div>
|
|
@@ -1110,15 +1133,15 @@ calculated first.
|
|
|
1110
1133
|
<div class="method-source-code"
|
|
1111
1134
|
id="hash-ey-source">
|
|
1112
1135
|
<pre>
|
|
1113
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1136
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line 236</span>
|
|
1137
|
+
236: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hashKey</span>
|
|
1138
|
+
237: <span class="ruby-ivar">@hashKey</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@hashKey</span>
|
|
1139
|
+
238:
|
|
1140
|
+
239: <span class="ruby-ivar">@hashKey</span> = <span class="ruby-node">"#{@project.object_id}|"</span>
|
|
1141
|
+
240: <span class="ruby-ivar">@assignments</span>.<span class="ruby-identifier">sort!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator"><=></span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">interval</span>.<span class="ruby-identifier">start</span> }
|
|
1142
|
+
241: <span class="ruby-ivar">@assignments</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@hashKey</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">hashKey</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'||'</span> }
|
|
1143
|
+
242: <span class="ruby-ivar">@hashKey</span>
|
|
1144
|
+
243: <span class="ruby-keyword kw">end</span></pre>
|
|
1122
1145
|
</div>
|
|
1123
1146
|
|
|
1124
1147
|
</div>
|
|
@@ -1135,7 +1158,7 @@ calculated first.
|
|
|
1135
1158
|
<div class="method-heading">
|
|
1136
1159
|
|
|
1137
1160
|
<span class="method-name">onShift?</span><span
|
|
1138
|
-
class="method-args">(
|
|
1161
|
+
class="method-args">(idx)</span>
|
|
1139
1162
|
<span class="method-click-advice">click to toggle source</span>
|
|
1140
1163
|
|
|
1141
1164
|
</div>
|
|
@@ -1143,8 +1166,9 @@ calculated first.
|
|
|
1143
1166
|
<div class="method-description">
|
|
1144
1167
|
|
|
1145
1168
|
<p>
|
|
1146
|
-
Returns true if any of the defined shift periods contains the
|
|
1147
|
-
|
|
1169
|
+
Returns true if any of the defined shift periods contains the date
|
|
1170
|
+
specified by the scoreboard index <em>idx</em> and the shift has working
|
|
1171
|
+
hours defined for that date.
|
|
1148
1172
|
</p>
|
|
1149
1173
|
|
|
1150
1174
|
|
|
@@ -1153,8 +1177,8 @@ and the shift has working hours defined for that <em>date</em>.
|
|
|
1153
1177
|
id="on-hift--source">
|
|
1154
1178
|
<pre>
|
|
1155
1179
|
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line 185</span>
|
|
1156
|
-
185: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">onShift?</span>(<span class="ruby-identifier">
|
|
1157
|
-
186: (<span class="ruby-identifier">getSbSlot</span>(<span class="ruby-identifier">
|
|
1180
|
+
185: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">onShift?</span>(<span class="ruby-identifier">idx</span>)
|
|
1181
|
+
186: (<span class="ruby-identifier">getSbSlot</span>(<span class="ruby-identifier">idx</span>) & (<span class="ruby-value">1</span> <span class="ruby-operator"><<</span> <span class="ruby-value">1</span>)) <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
1158
1182
|
187: <span class="ruby-keyword kw">end</span></pre>
|
|
1159
1183
|
</div>
|
|
1160
1184
|
|
|
@@ -1172,7 +1196,7 @@ and the shift has working hours defined for that <em>date</em>.
|
|
|
1172
1196
|
<div class="method-heading">
|
|
1173
1197
|
|
|
1174
1198
|
<span class="method-name">onVacation?</span><span
|
|
1175
|
-
class="method-args">(
|
|
1199
|
+
class="method-args">(idx)</span>
|
|
1176
1200
|
<span class="method-click-advice">click to toggle source</span>
|
|
1177
1201
|
|
|
1178
1202
|
</div>
|
|
@@ -1180,8 +1204,9 @@ and the shift has working hours defined for that <em>date</em>.
|
|
|
1180
1204
|
<div class="method-description">
|
|
1181
1205
|
|
|
1182
1206
|
<p>
|
|
1183
|
-
Returns true if any of the defined shift periods contains the
|
|
1184
|
-
and if the shift has a
|
|
1207
|
+
Returns true if any of the defined shift periods contains the date
|
|
1208
|
+
specified by the scoreboard index <em>idx</em> and if the shift has a
|
|
1209
|
+
vacation defined for the date.
|
|
1185
1210
|
</p>
|
|
1186
1211
|
|
|
1187
1212
|
|
|
@@ -1189,10 +1214,10 @@ and if the shift has a vacation defined for the <em>date</em>.
|
|
|
1189
1214
|
<div class="method-source-code"
|
|
1190
1215
|
id="on-acation--source">
|
|
1191
1216
|
<pre>
|
|
1192
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1217
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line 199</span>
|
|
1218
|
+
199: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">onVacation?</span>(<span class="ruby-identifier">idx</span>)
|
|
1219
|
+
200: (<span class="ruby-identifier">getSbSlot</span>(<span class="ruby-identifier">idx</span>) & <span class="ruby-value">0x3C</span>) <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
|
|
1220
|
+
201: <span class="ruby-keyword kw">end</span></pre>
|
|
1196
1221
|
</div>
|
|
1197
1222
|
|
|
1198
1223
|
</div>
|
|
@@ -1209,7 +1234,7 @@ and if the shift has a vacation defined for the <em>date</em>.
|
|
|
1209
1234
|
<div class="method-heading">
|
|
1210
1235
|
|
|
1211
1236
|
<span class="method-name">timeOff?</span><span
|
|
1212
|
-
class="method-args">(
|
|
1237
|
+
class="method-args">(idx)</span>
|
|
1213
1238
|
<span class="method-click-advice">click to toggle source</span>
|
|
1214
1239
|
|
|
1215
1240
|
</div>
|
|
@@ -1217,9 +1242,9 @@ and if the shift has a vacation defined for the <em>date</em>.
|
|
|
1217
1242
|
<div class="method-description">
|
|
1218
1243
|
|
|
1219
1244
|
<p>
|
|
1220
|
-
Returns true if any of the defined shift periods contains the
|
|
1221
|
-
and the shift has a vacation
|
|
1222
|
-
|
|
1245
|
+
Returns true if any of the defined shift periods contains the date
|
|
1246
|
+
specified by the scoreboard index <em>idx</em> and the shift has a vacation
|
|
1247
|
+
defined or all off hours defined for that date.
|
|
1223
1248
|
</p>
|
|
1224
1249
|
|
|
1225
1250
|
|
|
@@ -1227,10 +1252,10 @@ and the shift has a vacation defined or all off hours defined for that
|
|
|
1227
1252
|
<div class="method-source-code"
|
|
1228
1253
|
id="time-ff--source">
|
|
1229
1254
|
<pre>
|
|
1230
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1255
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line 192</span>
|
|
1256
|
+
192: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timeOff?</span>(<span class="ruby-identifier">idx</span>)
|
|
1257
|
+
193: (<span class="ruby-identifier">getSbSlot</span>(<span class="ruby-identifier">idx</span>) & <span class="ruby-value">0x3E</span>) <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
|
|
1258
|
+
194: <span class="ruby-keyword kw">end</span></pre>
|
|
1234
1259
|
</div>
|
|
1235
1260
|
|
|
1236
1261
|
</div>
|
|
@@ -1263,22 +1288,22 @@ This function is primarily used for debugging purposes.
|
|
|
1263
1288
|
<div class="method-source-code"
|
|
1264
1289
|
id="to-s-source">
|
|
1265
1290
|
<pre>
|
|
1266
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1291
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line 220</span>
|
|
1292
|
+
220: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
|
1293
|
+
221: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">''</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@assignments</span>.<span class="ruby-identifier">empty?</span>
|
|
1294
|
+
222:
|
|
1295
|
+
223: <span class="ruby-identifier">out</span> = <span class="ruby-value str">"shifts "</span>
|
|
1296
|
+
224: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
|
|
1297
|
+
225: <span class="ruby-ivar">@assignments</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sa</span><span class="ruby-operator">|</span>
|
|
1298
|
+
226: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
|
|
1299
|
+
227: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
|
|
1300
|
+
228: <span class="ruby-keyword kw">else</span>
|
|
1301
|
+
229: <span class="ruby-identifier">out</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
|
|
1302
|
+
230: <span class="ruby-keyword kw">end</span>
|
|
1303
|
+
231: <span class="ruby-identifier">out</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">sa</span>.<span class="ruby-identifier">to_s</span>
|
|
1304
|
+
232: <span class="ruby-keyword kw">end</span>
|
|
1305
|
+
233: <span class="ruby-identifier">out</span>
|
|
1306
|
+
234: <span class="ruby-keyword kw">end</span></pre>
|
|
1282
1307
|
</div>
|
|
1283
1308
|
|
|
1284
1309
|
</div>
|
|
@@ -1319,28 +1344,28 @@ assigment patterns.
|
|
|
1319
1344
|
<div class="method-source-code"
|
|
1320
1345
|
id="new-coreboard-source">
|
|
1321
1346
|
<pre>
|
|
1322
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1347
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line 249</span>
|
|
1348
|
+
249: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newScoreboard</span>
|
|
1349
|
+
250: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">record</span> = <span class="ruby-identifier">@@scoreboards</span>[<span class="ruby-identifier">hashKey</span>])
|
|
1350
|
+
251: <span class="ruby-comment cmt"># If we already have a Scoreboard object for the hashKey of this</span>
|
|
1351
|
+
252: <span class="ruby-comment cmt"># ShiftAssignments object, we can re-use this. We just need to</span>
|
|
1352
|
+
253: <span class="ruby-comment cmt"># register the object as a user of it.</span>
|
|
1353
|
+
254: <span class="ruby-identifier">record</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">object_id</span>
|
|
1354
|
+
255:
|
|
1355
|
+
256: <span class="ruby-comment cmt"># Return the re-used Scoreboard object.</span>
|
|
1356
|
+
257: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">record</span>[<span class="ruby-value">1</span>]
|
|
1357
|
+
258: <span class="ruby-keyword kw">end</span>
|
|
1358
|
+
259:
|
|
1359
|
+
260: <span class="ruby-comment cmt"># We have not found a matching scoreboard, so we have to create a new one.</span>
|
|
1360
|
+
261: <span class="ruby-identifier">newSb</span> = <span class="ruby-constant">Scoreboard</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>], <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>],
|
|
1361
|
+
262: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>])
|
|
1362
|
+
263: <span class="ruby-comment cmt"># Create a new record for it and register the ShiftAssignments object as</span>
|
|
1363
|
+
264: <span class="ruby-comment cmt"># first user. Add the record to the @@scoreboards list.</span>
|
|
1364
|
+
265: <span class="ruby-identifier">@@scoreboards</span>[<span class="ruby-identifier">hashKey</span>] = [ [ <span class="ruby-identifier">object_id</span> ], <span class="ruby-identifier">newSb</span> ]
|
|
1365
|
+
266:
|
|
1366
|
+
267: <span class="ruby-comment cmt"># Append the new record to the list.</span>
|
|
1367
|
+
268: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">newSb</span>
|
|
1368
|
+
269: <span class="ruby-keyword kw">end</span></pre>
|
|
1344
1369
|
</div>
|
|
1345
1370
|
|
|
1346
1371
|
</div>
|
|
@@ -1373,13 +1398,13 @@ Returns true if the interval overlaps with any of the assignment periods.
|
|
|
1373
1398
|
<div class="method-source-code"
|
|
1374
1399
|
id="overlaps--source">
|
|
1375
1400
|
<pre>
|
|
1376
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1401
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler/ShiftAssignments.rb, line 296</span>
|
|
1402
|
+
296: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">iv</span>)
|
|
1403
|
+
297: <span class="ruby-ivar">@assignments</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sa</span><span class="ruby-operator">|</span>
|
|
1404
|
+
298: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sa</span>.<span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">iv</span>)
|
|
1405
|
+
299: <span class="ruby-keyword kw">end</span>
|
|
1406
|
+
300: <span class="ruby-keyword kw">false</span>
|
|
1407
|
+
301: <span class="ruby-keyword kw">end</span></pre>
|
|
1383
1408
|
</div>
|
|
1384
1409
|
|
|
1385
1410
|
</div>
|