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
|
@@ -23,7 +23,7 @@ require 'taskjuggler/WorkingHours'
|
|
|
23
23
|
class TaskJuggler
|
|
24
24
|
|
|
25
25
|
class AccountAttribute < AttributeBase
|
|
26
|
-
def initialize(property, type)
|
|
26
|
+
def initialize(property, type, container)
|
|
27
27
|
super
|
|
28
28
|
end
|
|
29
29
|
|
|
@@ -32,20 +32,20 @@ class TaskJuggler
|
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
def to_s(query = nil)
|
|
35
|
-
|
|
35
|
+
(v = get) ? v.id : ''
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
def to_tjp
|
|
39
|
-
|
|
39
|
+
(v = get)? v.id : ''
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
class AllocationAttribute < AttributeBase
|
|
45
|
-
def initialize(property, type)
|
|
45
|
+
def initialize(property, type, container)
|
|
46
46
|
super
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
set(Array.new)
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
def AllocationAttribute::tjpId
|
|
@@ -54,7 +54,7 @@ class TaskJuggler
|
|
|
54
54
|
|
|
55
55
|
def to_tjp
|
|
56
56
|
out = []
|
|
57
|
-
|
|
57
|
+
get.each do |allocation|
|
|
58
58
|
out.push("allocate #{allocation.to_tjp}\n")
|
|
59
59
|
# TODO: incomplete
|
|
60
60
|
end
|
|
@@ -64,7 +64,7 @@ class TaskJuggler
|
|
|
64
64
|
def to_s(query = nil)
|
|
65
65
|
out = ''
|
|
66
66
|
first = true
|
|
67
|
-
|
|
67
|
+
get.each do |allocation|
|
|
68
68
|
if first
|
|
69
69
|
first = false
|
|
70
70
|
else
|
|
@@ -91,7 +91,7 @@ class TaskJuggler
|
|
|
91
91
|
end
|
|
92
92
|
|
|
93
93
|
class BookingListAttribute < ListAttributeBase
|
|
94
|
-
def initialize(property, type)
|
|
94
|
+
def initialize(property, type, container)
|
|
95
95
|
super
|
|
96
96
|
end
|
|
97
97
|
|
|
@@ -100,7 +100,7 @@ class TaskJuggler
|
|
|
100
100
|
end
|
|
101
101
|
|
|
102
102
|
def to_s(query = nil)
|
|
103
|
-
|
|
103
|
+
get.collect{ |x| x.to_s }.join(', ')
|
|
104
104
|
end
|
|
105
105
|
|
|
106
106
|
def to_tjp
|
|
@@ -110,7 +110,7 @@ class TaskJuggler
|
|
|
110
110
|
end
|
|
111
111
|
|
|
112
112
|
class BooleanAttribute < AttributeBase
|
|
113
|
-
def initialize(property, type)
|
|
113
|
+
def initialize(property, type, container)
|
|
114
114
|
super
|
|
115
115
|
end
|
|
116
116
|
|
|
@@ -119,17 +119,17 @@ class TaskJuggler
|
|
|
119
119
|
end
|
|
120
120
|
|
|
121
121
|
def to_s(query = nil)
|
|
122
|
-
|
|
122
|
+
get ? 'true' : 'false'
|
|
123
123
|
end
|
|
124
124
|
|
|
125
125
|
def to_tjp
|
|
126
|
-
@type.id + ' ' + (
|
|
126
|
+
@type.id + ' ' + (get ? 'yes' : 'no')
|
|
127
127
|
end
|
|
128
128
|
|
|
129
129
|
end
|
|
130
130
|
|
|
131
131
|
class ChargeListAttribute < ListAttributeBase
|
|
132
|
-
def initialize(property, type)
|
|
132
|
+
def initialize(property, type, container)
|
|
133
133
|
super
|
|
134
134
|
end
|
|
135
135
|
|
|
@@ -138,7 +138,7 @@ class TaskJuggler
|
|
|
138
138
|
end
|
|
139
139
|
|
|
140
140
|
def to_s(query = nil)
|
|
141
|
-
|
|
141
|
+
get.join(', ')
|
|
142
142
|
end
|
|
143
143
|
|
|
144
144
|
end
|
|
@@ -147,7 +147,7 @@ class TaskJuggler
|
|
|
147
147
|
# PropertyTreeNode attributes.
|
|
148
148
|
class ChargeSetListAttribute < ListAttributeBase
|
|
149
149
|
|
|
150
|
-
def initialize(property, type)
|
|
150
|
+
def initialize(property, type, container)
|
|
151
151
|
super
|
|
152
152
|
end
|
|
153
153
|
|
|
@@ -157,13 +157,13 @@ class TaskJuggler
|
|
|
157
157
|
|
|
158
158
|
def to_s(query = nil)
|
|
159
159
|
out = []
|
|
160
|
-
|
|
160
|
+
get.each { |i| out << i.to_s }
|
|
161
161
|
out.join(", ")
|
|
162
162
|
end
|
|
163
163
|
|
|
164
164
|
def to_tjp
|
|
165
165
|
out = []
|
|
166
|
-
|
|
166
|
+
get.each { |i| out << i.to_s }
|
|
167
167
|
@type.id + " " + out.join(', ')
|
|
168
168
|
end
|
|
169
169
|
|
|
@@ -171,7 +171,7 @@ class TaskJuggler
|
|
|
171
171
|
|
|
172
172
|
class ColumnListAttribute < ListAttributeBase
|
|
173
173
|
|
|
174
|
-
def initialize(property, type)
|
|
174
|
+
def initialize(property, type, container)
|
|
175
175
|
super
|
|
176
176
|
end
|
|
177
177
|
|
|
@@ -185,13 +185,13 @@ class TaskJuggler
|
|
|
185
185
|
end
|
|
186
186
|
|
|
187
187
|
class DateAttribute < AttributeBase
|
|
188
|
-
def initialize(property, type)
|
|
188
|
+
def initialize(property, type, container)
|
|
189
189
|
super
|
|
190
190
|
end
|
|
191
191
|
|
|
192
192
|
def to_s(query = nil)
|
|
193
|
-
if
|
|
194
|
-
|
|
193
|
+
if (v = get)
|
|
194
|
+
v.to_s(query ? query.timeFormat : '%Y-%m-%d')
|
|
195
195
|
else
|
|
196
196
|
'Error'
|
|
197
197
|
end
|
|
@@ -203,13 +203,13 @@ class TaskJuggler
|
|
|
203
203
|
end
|
|
204
204
|
|
|
205
205
|
class DefinitionListAttribute < ListAttributeBase
|
|
206
|
-
def initialize(property, type)
|
|
206
|
+
def initialize(property, type, container)
|
|
207
207
|
super
|
|
208
208
|
end
|
|
209
209
|
end
|
|
210
210
|
|
|
211
211
|
class DependencyListAttribute < ListAttributeBase
|
|
212
|
-
def initialize(property, type)
|
|
212
|
+
def initialize(property, type, container)
|
|
213
213
|
super
|
|
214
214
|
end
|
|
215
215
|
|
|
@@ -219,20 +219,20 @@ class TaskJuggler
|
|
|
219
219
|
|
|
220
220
|
def to_s(query = nil)
|
|
221
221
|
out = []
|
|
222
|
-
|
|
222
|
+
get.each { |t| out << t.task.fullId if t.task }
|
|
223
223
|
out.join(', ')
|
|
224
224
|
end
|
|
225
225
|
|
|
226
226
|
def to_tjp
|
|
227
227
|
out = []
|
|
228
|
-
|
|
228
|
+
get.each { |taskDep| out << taskDep.task.fullId }
|
|
229
229
|
@type.id + " " + out.join(', ')
|
|
230
230
|
end
|
|
231
231
|
|
|
232
232
|
end
|
|
233
233
|
|
|
234
234
|
class DurationAttribute < AttributeBase
|
|
235
|
-
def initialize(property, type)
|
|
235
|
+
def initialize(property, type, container)
|
|
236
236
|
super
|
|
237
237
|
end
|
|
238
238
|
|
|
@@ -241,18 +241,18 @@ class TaskJuggler
|
|
|
241
241
|
end
|
|
242
242
|
|
|
243
243
|
def to_tjp
|
|
244
|
-
@type.id + ' ' +
|
|
244
|
+
@type.id + ' ' + get.to_s + 'h'
|
|
245
245
|
end
|
|
246
246
|
|
|
247
247
|
def to_s(query = nil)
|
|
248
|
-
query ? query.scaleDuration(query.project.slotsToDays(
|
|
249
|
-
|
|
248
|
+
query ? query.scaleDuration(query.project.slotsToDays(get)) :
|
|
249
|
+
get.to_s
|
|
250
250
|
end
|
|
251
251
|
|
|
252
252
|
end
|
|
253
253
|
|
|
254
254
|
class FixnumAttribute < AttributeBase
|
|
255
|
-
def initialize(property, type)
|
|
255
|
+
def initialize(property, type, container)
|
|
256
256
|
super
|
|
257
257
|
end
|
|
258
258
|
|
|
@@ -262,7 +262,7 @@ class TaskJuggler
|
|
|
262
262
|
end
|
|
263
263
|
|
|
264
264
|
class FlagListAttribute < ListAttributeBase
|
|
265
|
-
def initialize(property, type)
|
|
265
|
+
def initialize(property, type, container)
|
|
266
266
|
super
|
|
267
267
|
end
|
|
268
268
|
|
|
@@ -271,17 +271,17 @@ class TaskJuggler
|
|
|
271
271
|
end
|
|
272
272
|
|
|
273
273
|
def to_s(query = nil)
|
|
274
|
-
|
|
274
|
+
get.join(', ')
|
|
275
275
|
end
|
|
276
276
|
|
|
277
277
|
def to_tjp
|
|
278
|
-
"flags #{
|
|
278
|
+
"flags #{get.join(', ')}"
|
|
279
279
|
end
|
|
280
280
|
|
|
281
281
|
end
|
|
282
282
|
|
|
283
283
|
class FloatAttribute < AttributeBase
|
|
284
|
-
def initialize(property, type)
|
|
284
|
+
def initialize(property, type, container)
|
|
285
285
|
super
|
|
286
286
|
end
|
|
287
287
|
|
|
@@ -290,41 +290,41 @@ class TaskJuggler
|
|
|
290
290
|
end
|
|
291
291
|
|
|
292
292
|
def to_tjp
|
|
293
|
-
id + ' ' +
|
|
293
|
+
id + ' ' + get.to_s
|
|
294
294
|
end
|
|
295
295
|
|
|
296
296
|
end
|
|
297
297
|
|
|
298
298
|
class FormatListAttribute < ListAttributeBase
|
|
299
299
|
|
|
300
|
-
def initialize(property, type)
|
|
300
|
+
def initialize(property, type, container)
|
|
301
301
|
super
|
|
302
302
|
end
|
|
303
303
|
|
|
304
304
|
def to_s(query = nil)
|
|
305
|
-
|
|
305
|
+
get.join(', ')
|
|
306
306
|
end
|
|
307
307
|
|
|
308
308
|
end
|
|
309
309
|
|
|
310
|
-
class
|
|
311
|
-
def initialize(property, type)
|
|
310
|
+
class TimeIntervalListAttribute < ListAttributeBase
|
|
311
|
+
def initialize(property, type, container)
|
|
312
312
|
super
|
|
313
313
|
end
|
|
314
314
|
|
|
315
|
-
def
|
|
315
|
+
def TimeIntervalListAttribute::tjpId
|
|
316
316
|
'intervallist'
|
|
317
317
|
end
|
|
318
318
|
|
|
319
319
|
def to_s(query = nil)
|
|
320
320
|
out = []
|
|
321
|
-
|
|
321
|
+
get.each { |i| out << i.to_s }
|
|
322
322
|
out.join(", ")
|
|
323
323
|
end
|
|
324
324
|
|
|
325
325
|
def to_tjp
|
|
326
326
|
out = []
|
|
327
|
-
|
|
327
|
+
get.each { |i| out << i.to_s }
|
|
328
328
|
@type.id + " " + out.join(', ')
|
|
329
329
|
end
|
|
330
330
|
|
|
@@ -332,9 +332,10 @@ class TaskJuggler
|
|
|
332
332
|
|
|
333
333
|
class LimitsAttribute < AttributeBase
|
|
334
334
|
|
|
335
|
-
def initialize(property, type)
|
|
335
|
+
def initialize(property, type, container)
|
|
336
336
|
super
|
|
337
|
-
|
|
337
|
+
v = get
|
|
338
|
+
v.setProject(property.project) if v
|
|
338
339
|
end
|
|
339
340
|
|
|
340
341
|
def LimitsAttribute::tjpId
|
|
@@ -349,7 +350,7 @@ class TaskJuggler
|
|
|
349
350
|
|
|
350
351
|
class LogicalExpressionAttribute < AttributeBase
|
|
351
352
|
|
|
352
|
-
def initialize(property, type)
|
|
353
|
+
def initialize(property, type, container)
|
|
353
354
|
super
|
|
354
355
|
end
|
|
355
356
|
|
|
@@ -361,7 +362,7 @@ class TaskJuggler
|
|
|
361
362
|
|
|
362
363
|
class LogicalExpressionListAttribute < ListAttributeBase
|
|
363
364
|
|
|
364
|
-
def initialize(property, type)
|
|
365
|
+
def initialize(property, type, container)
|
|
365
366
|
super
|
|
366
367
|
end
|
|
367
368
|
|
|
@@ -372,13 +373,13 @@ class TaskJuggler
|
|
|
372
373
|
end
|
|
373
374
|
|
|
374
375
|
class NodeListAttribute < ListAttributeBase
|
|
375
|
-
def initialize(
|
|
376
|
+
def initialize(property, type, container)
|
|
376
377
|
super
|
|
377
378
|
end
|
|
378
379
|
end
|
|
379
380
|
|
|
380
381
|
class PropertyAttribute < AttributeBase
|
|
381
|
-
def initialize(property, type)
|
|
382
|
+
def initialize(property, type, container)
|
|
382
383
|
super
|
|
383
384
|
end
|
|
384
385
|
|
|
@@ -389,14 +390,14 @@ class TaskJuggler
|
|
|
389
390
|
|
|
390
391
|
class RealFormatAttribute < AttributeBase
|
|
391
392
|
|
|
392
|
-
def initialize(property, type)
|
|
393
|
+
def initialize(property, type, container)
|
|
393
394
|
super
|
|
394
395
|
end
|
|
395
396
|
|
|
396
397
|
end
|
|
397
398
|
|
|
398
399
|
class ReferenceAttribute < AttributeBase
|
|
399
|
-
def initialize(property, type)
|
|
400
|
+
def initialize(property, type, container)
|
|
400
401
|
super
|
|
401
402
|
end
|
|
402
403
|
|
|
@@ -409,7 +410,7 @@ class TaskJuggler
|
|
|
409
410
|
end
|
|
410
411
|
|
|
411
412
|
def to_rti(query)
|
|
412
|
-
return nil unless
|
|
413
|
+
return nil unless get
|
|
413
414
|
|
|
414
415
|
rText = RichText.new("[#{url} #{label}]")
|
|
415
416
|
rText.generateIntermediateFormat
|
|
@@ -420,17 +421,17 @@ class TaskJuggler
|
|
|
420
421
|
end
|
|
421
422
|
|
|
422
423
|
def url
|
|
423
|
-
|
|
424
|
+
(v = get) ? v[0] : nil
|
|
424
425
|
end
|
|
425
426
|
|
|
426
427
|
def label
|
|
427
|
-
|
|
428
|
+
(v = get) ? (v[1] ? v[1][0] : v[0]) : nil
|
|
428
429
|
end
|
|
429
430
|
|
|
430
431
|
end
|
|
431
432
|
|
|
432
433
|
class ResourceListAttribute < ListAttributeBase
|
|
433
|
-
def initialize(property, type)
|
|
434
|
+
def initialize(property, type, container)
|
|
434
435
|
super
|
|
435
436
|
end
|
|
436
437
|
|
|
@@ -440,14 +441,14 @@ class TaskJuggler
|
|
|
440
441
|
|
|
441
442
|
def to_s(query = nil)
|
|
442
443
|
out = []
|
|
443
|
-
|
|
444
|
+
get.each { |r| out << r.fullId }
|
|
444
445
|
out.join(", ")
|
|
445
446
|
end
|
|
446
447
|
|
|
447
448
|
def to_rti(query = nil)
|
|
448
449
|
out = []
|
|
449
450
|
if query
|
|
450
|
-
|
|
451
|
+
get.each do |r|
|
|
451
452
|
if query.listItem
|
|
452
453
|
rti = RichText.new(query.listItem, RTFHandlers.create(r.project),
|
|
453
454
|
r.project.messageHandler).
|
|
@@ -462,7 +463,7 @@ class TaskJuggler
|
|
|
462
463
|
end
|
|
463
464
|
query.assignList(out)
|
|
464
465
|
else
|
|
465
|
-
|
|
466
|
+
get.each { |r| out << r.name }
|
|
466
467
|
rText = RichText.new(out.join(', '))
|
|
467
468
|
rText.generateIntermediateFormat
|
|
468
469
|
end
|
|
@@ -470,19 +471,19 @@ class TaskJuggler
|
|
|
470
471
|
|
|
471
472
|
def to_tjp
|
|
472
473
|
out = []
|
|
473
|
-
|
|
474
|
+
get.each { |r| out << r.fullId }
|
|
474
475
|
@type.id + " " + out.join(', ')
|
|
475
476
|
end
|
|
476
477
|
|
|
477
478
|
end
|
|
478
479
|
|
|
479
480
|
class RichTextAttribute < AttributeBase
|
|
480
|
-
def initialize(property, type)
|
|
481
|
+
def initialize(property, type, container)
|
|
481
482
|
super
|
|
482
483
|
end
|
|
483
484
|
|
|
484
485
|
def inputText
|
|
485
|
-
|
|
486
|
+
(v = get) ? v.richText.inputText : ''
|
|
486
487
|
end
|
|
487
488
|
|
|
488
489
|
def RichTextAttribute::tjpId
|
|
@@ -490,11 +491,11 @@ class TaskJuggler
|
|
|
490
491
|
end
|
|
491
492
|
|
|
492
493
|
def to_s(query = nil)
|
|
493
|
-
|
|
494
|
+
(v = get) ? v.to_s : ''
|
|
494
495
|
end
|
|
495
496
|
|
|
496
497
|
def to_tjp
|
|
497
|
-
inputText =
|
|
498
|
+
inputText = get.richText.inputText
|
|
498
499
|
if inputText[-1] == ?\n
|
|
499
500
|
"#{@type.id} -8<-\n#{inputText}\n->8-"
|
|
500
501
|
else
|
|
@@ -506,7 +507,7 @@ class TaskJuggler
|
|
|
506
507
|
end
|
|
507
508
|
|
|
508
509
|
class ScenarioListAttribute < ListAttributeBase
|
|
509
|
-
def initialize(property, type)
|
|
510
|
+
def initialize(property, type, container)
|
|
510
511
|
super
|
|
511
512
|
end
|
|
512
513
|
|
|
@@ -515,7 +516,7 @@ class TaskJuggler
|
|
|
515
516
|
end
|
|
516
517
|
|
|
517
518
|
def to_s(query = nil)
|
|
518
|
-
|
|
519
|
+
get.join(', ')
|
|
519
520
|
end
|
|
520
521
|
|
|
521
522
|
end
|
|
@@ -523,9 +524,10 @@ class TaskJuggler
|
|
|
523
524
|
|
|
524
525
|
class ShiftAssignmentsAttribute < AttributeBase
|
|
525
526
|
|
|
526
|
-
def initialize(property, type)
|
|
527
|
+
def initialize(property, type, container)
|
|
527
528
|
super
|
|
528
|
-
|
|
529
|
+
v = get
|
|
530
|
+
v.project = property.project if v
|
|
529
531
|
end
|
|
530
532
|
|
|
531
533
|
def ShiftAssignmentsAttribute::tjpId
|
|
@@ -540,7 +542,7 @@ class TaskJuggler
|
|
|
540
542
|
|
|
541
543
|
class SortListAttribute < ListAttributeBase
|
|
542
544
|
|
|
543
|
-
def initialize(property, type)
|
|
545
|
+
def initialize(property, type, container)
|
|
544
546
|
super
|
|
545
547
|
end
|
|
546
548
|
|
|
@@ -551,7 +553,7 @@ class TaskJuggler
|
|
|
551
553
|
end
|
|
552
554
|
|
|
553
555
|
class StringAttribute < AttributeBase
|
|
554
|
-
def initialize(property, type)
|
|
556
|
+
def initialize(property, type, container)
|
|
555
557
|
super
|
|
556
558
|
end
|
|
557
559
|
|
|
@@ -560,13 +562,13 @@ class TaskJuggler
|
|
|
560
562
|
end
|
|
561
563
|
|
|
562
564
|
def to_tjp
|
|
563
|
-
"#{@type.id} \"#{
|
|
565
|
+
"#{@type.id} \"#{get}\""
|
|
564
566
|
end
|
|
565
567
|
|
|
566
568
|
end
|
|
567
569
|
|
|
568
570
|
class SymbolAttribute < AttributeBase
|
|
569
|
-
def initialize(property, type)
|
|
571
|
+
def initialize(property, type, container)
|
|
570
572
|
super
|
|
571
573
|
end
|
|
572
574
|
|
|
@@ -576,7 +578,7 @@ class TaskJuggler
|
|
|
576
578
|
end
|
|
577
579
|
|
|
578
580
|
class TaskDepListAttribute < ListAttributeBase
|
|
579
|
-
def initialize(property, type)
|
|
581
|
+
def initialize(property, type, container)
|
|
580
582
|
super
|
|
581
583
|
end
|
|
582
584
|
|
|
@@ -586,19 +588,19 @@ class TaskJuggler
|
|
|
586
588
|
|
|
587
589
|
def to_s(query = nil)
|
|
588
590
|
out = []
|
|
589
|
-
|
|
591
|
+
get.each { |t, onEnd| out << t.fullId }
|
|
590
592
|
out.join(", ")
|
|
591
593
|
end
|
|
592
594
|
|
|
593
595
|
def to_tjp
|
|
594
596
|
out = []
|
|
595
|
-
|
|
597
|
+
get.each { |t, onEnd| out << t.fullId }
|
|
596
598
|
@type.id + " " + out.join(', ')
|
|
597
599
|
end
|
|
598
600
|
end
|
|
599
601
|
|
|
600
602
|
class TaskListAttribute < ListAttributeBase
|
|
601
|
-
def initialize(property, type)
|
|
603
|
+
def initialize(property, type, container)
|
|
602
604
|
super
|
|
603
605
|
end
|
|
604
606
|
|
|
@@ -608,19 +610,19 @@ class TaskJuggler
|
|
|
608
610
|
|
|
609
611
|
def to_s(query = nil)
|
|
610
612
|
out = []
|
|
611
|
-
|
|
613
|
+
get.each { |t| out << t.fullId }
|
|
612
614
|
out.join(", ")
|
|
613
615
|
end
|
|
614
616
|
|
|
615
617
|
def to_tjp
|
|
616
618
|
out = []
|
|
617
|
-
|
|
619
|
+
get.each { |t| out << t.fullId }
|
|
618
620
|
@type.id + " " + out.join(', ')
|
|
619
621
|
end
|
|
620
622
|
end
|
|
621
623
|
|
|
622
624
|
class WorkingHoursAttribute < AttributeBase
|
|
623
|
-
def initialize(property, type)
|
|
625
|
+
def initialize(property, type, container)
|
|
624
626
|
super
|
|
625
627
|
end
|
|
626
628
|
|
|
@@ -633,7 +635,7 @@ class TaskJuggler
|
|
|
633
635
|
str = ''
|
|
634
636
|
7.times do |day|
|
|
635
637
|
str += "workinghours #{dayNames[day]} "
|
|
636
|
-
whs =
|
|
638
|
+
whs = get.getWorkingHours(day)
|
|
637
639
|
if whs.empty?
|
|
638
640
|
str += "off"
|
|
639
641
|
str += "\n" if day < 6
|
data/lib/taskjuggler/Booking.rb
CHANGED
data/lib/taskjuggler/Charge.rb
CHANGED
|
@@ -33,7 +33,7 @@ class TaskJuggler
|
|
|
33
33
|
@scenarioIdx = scenarioIdx
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
-
# Compute the total charge for the
|
|
36
|
+
# Compute the total charge for the TimeInterval described by _period_.
|
|
37
37
|
def turnover(period)
|
|
38
38
|
case @mode
|
|
39
39
|
when :onStart
|
|
@@ -41,8 +41,8 @@ class TaskJuggler
|
|
|
41
41
|
when :onEnd
|
|
42
42
|
return period.contains?(@task['end', @scenarioIdx]) ? @amount : 0.0
|
|
43
43
|
else
|
|
44
|
-
iv = period.intersection(
|
|
45
|
-
|
|
44
|
+
iv = period.intersection(TimeInterval.new(@task['start', @scenarioIdx],
|
|
45
|
+
@task['end', @scenarioIdx]))
|
|
46
46
|
if iv
|
|
47
47
|
return (iv.duration / (60 * 60 * 24)) * @amount
|
|
48
48
|
else
|