taskjuggler 0.0.5 → 0.0.6
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 +2086 -0
- data/benchmarks/666tasks.tjp +3183 -0
- data/benchmarks/booking.tjp +14 -10
- data/doc/AppConfig.html +95 -73
- data/doc/Arguments.html +22 -2
- data/doc/CHANGELOG.html +2587 -0
- data/doc/COPYING.html +21 -1
- data/doc/Object.html +161 -122
- data/doc/README.html +21 -1
- data/doc/RuntimeConfig.html +26 -6
- data/doc/String.html +38 -18
- data/doc/StringIO.html +579 -0
- data/doc/TaskJuggler.html +251 -143
- data/doc/TaskJuggler/Account.html +26 -6
- data/doc/TaskJuggler/AccountAttribute.html +28 -8
- data/doc/TaskJuggler/AccountScenario.html +24 -4
- data/doc/TaskJuggler/Allocation.html +30 -10
- data/doc/TaskJuggler/AllocationAttribute.html +28 -8
- data/doc/TaskJuggler/AttributeBase.html +46 -26
- data/doc/TaskJuggler/AttributeDefinition.html +22 -2
- data/doc/TaskJuggler/BatchProcessor.html +40 -20
- data/doc/TaskJuggler/Booking.html +26 -6
- data/doc/TaskJuggler/BookingListAttribute.html +28 -8
- data/doc/TaskJuggler/BooleanAttribute.html +28 -8
- data/doc/TaskJuggler/CSVFile.html +308 -146
- data/doc/TaskJuggler/CellSettingPattern.html +22 -2
- data/doc/TaskJuggler/CellSettingPatternList.html +26 -6
- data/doc/TaskJuggler/Charge.html +26 -6
- data/doc/TaskJuggler/ChargeListAttribute.html +26 -6
- data/doc/TaskJuggler/ChargeSet.html +33 -13
- data/doc/TaskJuggler/ChargeSetListAttribute.html +28 -8
- data/doc/TaskJuggler/ColumnListAttribute.html +26 -6
- data/doc/TaskJuggler/ColumnTable.html +24 -4
- data/doc/TaskJuggler/Daemon.html +26 -6
- data/doc/TaskJuggler/DateAttribute.html +26 -6
- data/doc/TaskJuggler/DefinitionListAttribute.html +22 -2
- data/doc/TaskJuggler/DependencyListAttribute.html +28 -8
- data/doc/TaskJuggler/DurationAttribute.html +28 -8
- data/doc/TaskJuggler/FixnumAttribute.html +24 -4
- data/doc/TaskJuggler/FlagListAttribute.html +28 -8
- data/doc/TaskJuggler/FloatAttribute.html +26 -6
- data/doc/TaskJuggler/FormatListAttribute.html +24 -4
- data/doc/TaskJuggler/GanttChart.html +147 -126
- data/doc/TaskJuggler/GanttContainer.html +34 -14
- data/doc/TaskJuggler/GanttHeader.html +28 -8
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +24 -4
- data/doc/TaskJuggler/GanttLine.html +38 -18
- data/doc/TaskJuggler/GanttLoadStack.html +26 -6
- data/doc/TaskJuggler/GanttMilestone.html +34 -14
- data/doc/TaskJuggler/GanttRouter.html +50 -30
- data/doc/TaskJuggler/GanttTaskBar.html +34 -14
- data/doc/TaskJuggler/HTMLDocument.html +26 -6
- data/doc/TaskJuggler/HTMLGraphics.html +30 -10
- data/doc/TaskJuggler/Interval.html +40 -22
- data/doc/TaskJuggler/IntervalListAttribute.html +28 -8
- data/doc/TaskJuggler/JobInfo.html +24 -4
- data/doc/TaskJuggler/Journal.html +226 -147
- data/doc/TaskJuggler/JournalEntry.html +22 -2
- data/doc/TaskJuggler/JournalEntryList.html +129 -112
- data/doc/TaskJuggler/KeywordArray.html +26 -6
- data/doc/TaskJuggler/KeywordDocumentation.html +46 -26
- data/doc/TaskJuggler/Limits.html +152 -123
- data/doc/TaskJuggler/Limits/Limit.html +149 -70
- data/doc/TaskJuggler/LimitsAttribute.html +36 -51
- data/doc/TaskJuggler/ListAttributeBase.html +24 -4
- data/doc/TaskJuggler/Log.html +50 -32
- data/doc/TaskJuggler/LogFile.html +37 -17
- data/doc/TaskJuggler/LogicalAttribute.html +53 -33
- data/doc/TaskJuggler/LogicalExpression.html +26 -6
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +32 -12
- data/doc/TaskJuggler/LogicalFlag.html +42 -22
- data/doc/TaskJuggler/LogicalFunction.html +204 -140
- data/doc/TaskJuggler/LogicalOperation.html +135 -111
- data/doc/TaskJuggler/Macro.html +22 -2
- data/doc/TaskJuggler/MacroParser.html +32 -12
- data/doc/TaskJuggler/MacroTable.html +32 -12
- data/doc/TaskJuggler/ManagerResponsibilities.html +24 -4
- data/doc/TaskJuggler/ManagerStatusRecord.html +24 -4
- data/doc/TaskJuggler/Message.html +24 -4
- data/doc/TaskJuggler/MessageHandler.html +24 -4
- data/doc/TaskJuggler/Navigator.html +104 -71
- data/doc/TaskJuggler/NavigatorElement.html +32 -12
- data/doc/TaskJuggler/NikuProject.html +22 -2
- data/doc/TaskJuggler/NikuReport.html +310 -228
- data/doc/TaskJuggler/NikuResource.html +22 -2
- data/doc/TaskJuggler/NodeListAttribute.html +615 -0
- data/doc/TaskJuggler/OnShiftCache.html +32 -12
- data/doc/TaskJuggler/ProcessIntercom.html +205 -78
- data/doc/TaskJuggler/ProcessIntercomIface.html +26 -6
- data/doc/TaskJuggler/Project.html +708 -660
- data/doc/TaskJuggler/ProjectBroker.html +506 -304
- data/doc/TaskJuggler/ProjectBrokerIface.html +61 -41
- data/doc/TaskJuggler/ProjectFileParser.html +429 -373
- data/doc/TaskJuggler/ProjectFileScanner.html +1790 -0
- data/doc/TaskJuggler/ProjectRecord.html +80 -60
- data/doc/TaskJuggler/ProjectServer.html +312 -237
- data/doc/TaskJuggler/ProjectServerIface.html +101 -43
- data/doc/TaskJuggler/PropertyAttribute.html +32 -12
- data/doc/TaskJuggler/PropertyList.html +166 -145
- data/doc/TaskJuggler/PropertySet.html +254 -224
- data/doc/TaskJuggler/PropertyTreeNode.html +670 -536
- data/doc/TaskJuggler/Query.html +169 -148
- data/doc/TaskJuggler/RTFHandlers.html +622 -0
- data/doc/TaskJuggler/RTFNavigator.html +28 -8
- data/doc/TaskJuggler/RTFQuery.html +40 -20
- data/doc/TaskJuggler/RTFReport.html +62 -25
- data/doc/TaskJuggler/RTFReportLink.html +765 -0
- data/doc/TaskJuggler/RealFormat.html +26 -6
- data/doc/TaskJuggler/RealFormatAttribute.html +26 -6
- data/doc/TaskJuggler/ReferenceAttribute.html +59 -39
- data/doc/TaskJuggler/Report.html +402 -251
- data/doc/TaskJuggler/ReportBase.html +162 -137
- data/doc/TaskJuggler/ReportContext.html +112 -29
- data/doc/TaskJuggler/ReportServer.html +89 -64
- data/doc/TaskJuggler/ReportServerIface.html +75 -55
- data/doc/TaskJuggler/ReportServerRecord.html +54 -31
- data/doc/TaskJuggler/ReportServlet.html +980 -0
- data/doc/TaskJuggler/ReportTable.html +41 -21
- data/doc/TaskJuggler/ReportTableCell.html +214 -170
- data/doc/TaskJuggler/ReportTableColumn.html +30 -10
- data/doc/TaskJuggler/ReportTableLegend.html +36 -16
- data/doc/TaskJuggler/ReportTableLine.html +32 -12
- data/doc/TaskJuggler/Resource.html +99 -87
- data/doc/TaskJuggler/ResourceListAttribute.html +59 -39
- data/doc/TaskJuggler/ResourceListRE.html +47 -26
- data/doc/TaskJuggler/ResourceScenario.html +403 -437
- data/doc/TaskJuggler/RichText.html +26 -6
- data/doc/TaskJuggler/RichTextAttribute.html +50 -30
- data/doc/TaskJuggler/RichTextDocument.html +37 -17
- data/doc/TaskJuggler/RichTextElement.html +475 -413
- data/doc/TaskJuggler/RichTextException.html +22 -2
- data/doc/TaskJuggler/RichTextFunctionExample.html +28 -8
- data/doc/TaskJuggler/RichTextFunctionHandler.html +24 -4
- data/doc/TaskJuggler/RichTextImage.html +22 -2
- data/doc/TaskJuggler/RichTextIntermediate.html +38 -18
- data/doc/TaskJuggler/RichTextParser.html +56 -34
- data/doc/TaskJuggler/RichTextScanner.html +82 -61
- data/doc/TaskJuggler/RichTextSnip.html +34 -14
- data/doc/TaskJuggler/RichTextSyntaxRules.html +507 -353
- data/doc/TaskJuggler/Scenario.html +22 -2
- data/doc/TaskJuggler/ScenarioData.html +30 -46
- data/doc/TaskJuggler/ScenarioListAttribute.html +38 -18
- data/doc/TaskJuggler/Scoreboard.html +42 -22
- data/doc/TaskJuggler/SheetHandlerBase.html +40 -20
- data/doc/TaskJuggler/SheetReceiver.html +333 -295
- data/doc/TaskJuggler/SheetSender.html +253 -230
- data/doc/TaskJuggler/Shift.html +26 -6
- data/doc/TaskJuggler/ShiftAssignment.html +89 -73
- data/doc/TaskJuggler/ShiftAssignments.html +226 -234
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +39 -54
- data/doc/TaskJuggler/ShiftScenario.html +28 -8
- data/doc/TaskJuggler/SortListAttribute.html +34 -14
- data/doc/TaskJuggler/SourceFileInfo.html +24 -4
- data/doc/TaskJuggler/StatusSheetReceiver.html +24 -3
- data/doc/TaskJuggler/StatusSheetReport.html +168 -153
- data/doc/TaskJuggler/StatusSheetSender.html +24 -3
- data/doc/TaskJuggler/StringAttribute.html +38 -18
- data/doc/TaskJuggler/SymbolAttribute.html +32 -12
- data/doc/TaskJuggler/SyntaxReference.html +40 -20
- data/doc/TaskJuggler/TOCEntry.html +26 -6
- data/doc/TaskJuggler/TSResourceRecord.html +22 -2
- data/doc/TaskJuggler/TSTaskRecord.html +22 -2
- data/doc/TaskJuggler/TableColumnDefinition.html +59 -22
- data/doc/TaskJuggler/TableOfContents.html +26 -6
- data/doc/TaskJuggler/TableReport.html +937 -904
- data/doc/TaskJuggler/Task.html +55 -36
- data/doc/TaskJuggler/TaskDependency.html +24 -4
- data/doc/TaskJuggler/TaskListAttribute.html +50 -30
- data/doc/TaskJuggler/TaskListRE.html +27 -7
- data/doc/TaskJuggler/TaskScenario.html +1273 -1153
- data/doc/TaskJuggler/TextFormatter.html +28 -8
- data/doc/TaskJuggler/TextParser.html +585 -338
- data/doc/TaskJuggler/TextParser/Pattern.html +54 -34
- data/doc/TaskJuggler/TextParser/Rule.html +95 -73
- data/doc/TaskJuggler/TextParser/StackElement.html +39 -17
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +24 -4
- data/doc/TaskJuggler/TextParser/TokenDoc.html +22 -2
- data/doc/TaskJuggler/TextReport.html +28 -8
- data/doc/TaskJuggler/TextScanner.html +400 -1404
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +28 -240
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +37 -184
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +682 -0
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +342 -67
- data/doc/TaskJuggler/TimeSheet.html +48 -28
- data/doc/TaskJuggler/TimeSheetReceiver.html +24 -3
- data/doc/TaskJuggler/TimeSheetRecord.html +47 -27
- data/doc/TaskJuggler/TimeSheetReport.html +154 -133
- data/doc/TaskJuggler/TimeSheetSender.html +24 -3
- data/doc/TaskJuggler/TimeSheetSummary.html +137 -91
- data/doc/TaskJuggler/TimeSheets.html +26 -6
- data/doc/TaskJuggler/Tj3AppBase.html +85 -58
- data/doc/TaskJuggler/Tj3Client.html +292 -238
- data/doc/TaskJuggler/Tj3Daemon.html +159 -74
- data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -6
- data/doc/TaskJuggler/Tj3SsReceiver.html +26 -6
- data/doc/TaskJuggler/Tj3SsSender.html +53 -26
- data/doc/TaskJuggler/Tj3TsReceiver.html +28 -7
- data/doc/TaskJuggler/Tj3TsSender.html +26 -6
- data/doc/TaskJuggler/Tj3TsSummary.html +26 -6
- data/doc/TaskJuggler/TjException.html +22 -2
- data/doc/TaskJuggler/TjTime.html +216 -160
- data/doc/TaskJuggler/TjpExample.html +34 -14
- data/doc/TaskJuggler/TjpExportRE.html +403 -407
- data/doc/TaskJuggler/TjpSyntaxRules.html +4805 -4408
- data/doc/TaskJuggler/URLParameter.html +649 -0
- data/doc/TaskJuggler/UserManual.html +42 -22
- data/doc/TaskJuggler/WebServer.html +702 -0
- data/doc/TaskJuggler/WorkingHours.html +38 -18
- data/doc/TaskJuggler/WorkingHoursAttribute.html +61 -41
- data/doc/TaskJuggler/XMLBlob.html +24 -4
- data/doc/TaskJuggler/XMLComment.html +24 -4
- data/doc/TaskJuggler/XMLDocument.html +30 -10
- data/doc/TaskJuggler/XMLElement.html +34 -14
- data/doc/TaskJuggler/XMLNamedText.html +22 -2
- data/doc/TaskJuggler/XMLText.html +24 -4
- data/doc/index.html +1841 -1666
- data/doc/lib/AccountScenario_rb.html +1 -1
- data/doc/lib/Account_rb.html +1 -1
- data/doc/lib/Allocation_rb.html +1 -1
- data/doc/lib/AppConfig_rb.html +2 -2
- data/doc/lib/AttributeBase_rb.html +1 -1
- data/doc/lib/AttributeDefinition_rb.html +1 -1
- data/doc/lib/Attributes_rb.html +2 -2
- data/doc/lib/BatchProcessor_rb.html +1 -1
- data/doc/lib/Booking_rb.html +1 -1
- data/doc/lib/ChargeSet_rb.html +1 -1
- data/doc/lib/Charge_rb.html +1 -1
- data/doc/lib/HTMLDocument_rb.html +1 -1
- data/doc/lib/Interval_rb.html +1 -1
- data/doc/lib/Journal_rb.html +2 -2
- data/doc/lib/KeywordArray_rb.html +1 -1
- data/doc/lib/KeywordDocumentation_rb.html +1 -1
- data/doc/lib/Limits_rb.html +2 -2
- data/doc/lib/LogFile_rb.html +2 -2
- data/doc/lib/Log_rb.html +1 -1
- data/doc/lib/LogicalExpression_rb.html +1 -1
- data/doc/lib/LogicalFunction_rb.html +2 -2
- data/doc/lib/LogicalOperation_rb.html +2 -2
- data/doc/lib/MacroParser_rb.html +1 -1
- data/doc/lib/MacroTable_rb.html +1 -1
- data/doc/lib/MessageHandler_rb.html +1 -1
- data/doc/lib/Message_rb.html +1 -1
- data/doc/lib/ProjectFileParser_rb.html +4 -8
- data/doc/lib/ProjectFileScanner_rb.html +67 -0
- data/doc/lib/Project_rb.html +2 -2
- data/doc/lib/PropertyList_rb.html +2 -2
- data/doc/lib/PropertySet_rb.html +2 -2
- data/doc/lib/PropertyTreeNode_rb.html +2 -2
- data/doc/lib/Query_rb.html +2 -2
- data/doc/lib/RTFHandlers_rb.html +73 -0
- data/doc/lib/RTFNavigator_rb.html +1 -1
- data/doc/lib/RTFQuery_rb.html +1 -1
- data/doc/lib/RTFReportLink_rb.html +71 -0
- data/doc/lib/RTFReport_rb.html +2 -2
- data/doc/lib/RealFormat_rb.html +1 -1
- data/doc/lib/ResourceScenario_rb.html +2 -2
- data/doc/lib/Resource_rb.html +2 -2
- data/doc/lib/RichTextDocument_rb.html +1 -1
- data/doc/lib/RichTextElement_rb.html +2 -2
- data/doc/lib/RichTextFunctionExample_rb.html +1 -1
- data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
- data/doc/lib/RichTextParser_rb.html +2 -2
- data/doc/lib/RichTextScanner_rb.html +2 -2
- data/doc/lib/RichTextSnip_rb.html +1 -1
- data/doc/lib/RichTextSyntaxRules_rb.html +2 -2
- data/doc/lib/RichText_rb.html +1 -1
- data/doc/lib/RuntimeConfig_rb.html +1 -1
- data/doc/lib/ScenarioData_rb.html +2 -2
- data/doc/lib/Scenario_rb.html +1 -1
- data/doc/lib/Scoreboard_rb.html +1 -1
- data/doc/lib/SheetHandlerBase_rb.html +1 -1
- data/doc/lib/SheetReceiver_rb.html +2 -2
- data/doc/lib/SheetSender_rb.html +4 -2
- data/doc/lib/ShiftAssignments_rb.html +4 -2
- data/doc/lib/ShiftScenario_rb.html +1 -1
- data/doc/lib/Shift_rb.html +1 -1
- data/doc/lib/SourceFileInfo_rb.html +1 -1
- data/doc/lib/StatusSheetReceiver_rb.html +2 -2
- data/doc/lib/StatusSheetSender_rb.html +2 -2
- data/doc/lib/SyntaxReference_rb.html +1 -1
- data/doc/lib/TOCEntry_rb.html +1 -1
- data/doc/lib/TableColumnDefinition_rb.html +2 -2
- data/doc/lib/TableOfContents_rb.html +1 -1
- data/doc/lib/TaskDependency_rb.html +1 -1
- data/doc/lib/TaskJuggler_rb.html +2 -2
- data/doc/lib/TaskScenario_rb.html +2 -2
- data/doc/lib/Task_rb.html +2 -2
- data/doc/lib/TextFormatter_rb.html +1 -1
- data/doc/lib/TextParser/Pattern_rb.html +1 -1
- data/doc/lib/TextParser/Rule_rb.html +2 -2
- data/doc/lib/TextParser/StackElement_rb.html +2 -2
- data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
- data/doc/lib/TextParser_rb.html +2 -2
- data/doc/lib/TextScanner_rb.html +6 -2
- data/doc/lib/TimeSheetReceiver_rb.html +2 -2
- data/doc/lib/TimeSheetSender_rb.html +2 -2
- data/doc/lib/TimeSheetSummary_rb.html +2 -2
- data/doc/lib/TimeSheets_rb.html +2 -2
- data/doc/lib/Tj3AppBase_rb.html +2 -2
- data/doc/lib/Tj3Config_rb.html +2 -2
- data/doc/lib/Tj3SheetAppBase_rb.html +2 -2
- data/doc/lib/TjException_rb.html +1 -1
- data/doc/lib/TjTime_rb.html +2 -2
- data/doc/lib/TjpExample_rb.html +1 -1
- data/doc/lib/TjpSyntaxRules_rb.html +2 -2
- data/doc/lib/URLParameter_rb.html +67 -0
- data/doc/lib/UTF8String_rb.html +1 -1
- data/doc/lib/UserManual_rb.html +1 -1
- data/doc/lib/WorkingHours_rb.html +1 -1
- data/doc/lib/XMLDocument_rb.html +2 -2
- data/doc/lib/XMLElement_rb.html +1 -1
- data/doc/lib/daemon/Daemon_rb.html +1 -1
- data/doc/lib/daemon/ProcessIntercom_rb.html +2 -2
- data/doc/lib/daemon/ProjectBroker_rb.html +4 -2
- data/doc/lib/daemon/ProjectServer_rb.html +2 -2
- data/doc/lib/daemon/ReportServer_rb.html +2 -2
- data/doc/lib/daemon/WebServer_rb.html +75 -0
- data/doc/lib/deep_copy_rb.html +2 -2
- data/doc/lib/reports/CSVFile_rb.html +2 -2
- data/doc/lib/reports/ColumnTable_rb.html +1 -1
- data/doc/lib/reports/GanttChart_rb.html +2 -2
- data/doc/lib/reports/GanttContainer_rb.html +1 -1
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
- data/doc/lib/reports/GanttHeader_rb.html +1 -1
- data/doc/lib/reports/GanttLine_rb.html +1 -1
- data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
- data/doc/lib/reports/GanttMilestone_rb.html +1 -1
- data/doc/lib/reports/GanttRouter_rb.html +1 -1
- data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
- data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
- data/doc/lib/reports/Navigator_rb.html +2 -2
- data/doc/lib/reports/NikuReport_rb.html +2 -2
- data/doc/lib/reports/ReportBase_rb.html +2 -2
- data/doc/lib/reports/ReportContext_rb.html +2 -2
- data/doc/lib/reports/ReportTableCell_rb.html +2 -2
- data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
- data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
- data/doc/lib/reports/ReportTableLine_rb.html +1 -1
- data/doc/lib/reports/ReportTable_rb.html +2 -2
- data/doc/lib/reports/Report_rb.html +2 -2
- data/doc/lib/reports/ResourceListRE_rb.html +2 -2
- data/doc/lib/reports/StatusSheetReport_rb.html +2 -2
- data/doc/lib/reports/TableReport_rb.html +2 -2
- data/doc/lib/reports/TaskListRE_rb.html +2 -2
- data/doc/lib/reports/TextReport_rb.html +1 -1
- data/doc/lib/reports/TimeSheetReport_rb.html +2 -2
- data/doc/lib/reports/TjpExportRE_rb.html +2 -2
- data/doc/lib/ruby-signal-bug_rb.html +1 -1
- data/doc/lib/taskjuggler3_rb.html +2 -2
- data/doc/lib/tj3client_rb.html +2 -2
- data/doc/lib/tj3d_rb.html +2 -2
- data/doc/lib/tj3man_rb.html +1 -1
- data/doc/lib/tj3ss_receiver_rb.html +1 -1
- data/doc/lib/tj3ss_sender_rb.html +2 -2
- data/doc/lib/tj3ts_receiver_rb.html +2 -2
- data/doc/lib/tj3ts_sender_rb.html +1 -1
- data/doc/lib/tj3ts_summary_rb.html +1 -1
- data/doc/rdoc.css +9 -4
- data/examples/tutorial.tjp +17 -15
- data/gem_spec.rb +3 -0
- data/lib/AppConfig.rb +3 -1
- data/lib/Attributes.rb +10 -8
- data/lib/Journal.rb +55 -20
- data/lib/Limits.rb +72 -46
- data/lib/LogFile.rb +3 -3
- data/lib/LogicalFunction.rb +19 -6
- data/lib/LogicalOperation.rb +5 -1
- data/lib/Project.rb +37 -9
- data/lib/ProjectFileParser.rb +25 -22
- data/lib/ProjectFileScanner.rb +365 -0
- data/lib/PropertyList.rb +2 -1
- data/lib/PropertySet.rb +14 -4
- data/lib/PropertyTreeNode.rb +42 -29
- data/lib/Query.rb +3 -1
- data/lib/RTFHandlers.rb +35 -0
- data/lib/RTFReport.rb +23 -6
- data/lib/RTFReportLink.rb +72 -0
- data/lib/Resource.rb +8 -16
- data/lib/ResourceScenario.rb +1 -22
- data/lib/RichTextElement.rb +42 -0
- data/lib/RichTextParser.rb +6 -4
- data/lib/RichTextScanner.rb +5 -5
- data/lib/RichTextSyntaxRules.rb +48 -10
- data/lib/ScenarioData.rb +5 -3
- data/lib/SheetReceiver.rb +24 -6
- data/lib/SheetSender.rb +17 -13
- data/lib/ShiftAssignments.rb +56 -52
- data/lib/StatusSheetReceiver.rb +1 -0
- data/lib/StatusSheetSender.rb +1 -0
- data/lib/TableColumnDefinition.rb +4 -2
- data/lib/Task.rb +8 -9
- data/lib/TaskJuggler.rb +21 -11
- data/lib/TaskScenario.rb +61 -26
- data/lib/TextParser.rb +268 -106
- data/lib/TextParser/Rule.rb +4 -2
- data/lib/TextParser/StackElement.rb +6 -4
- data/lib/TextScanner.rb +283 -700
- data/lib/TimeSheetReceiver.rb +1 -0
- data/lib/TimeSheetSender.rb +1 -0
- data/lib/TimeSheetSummary.rb +51 -26
- data/lib/TimeSheets.rb +1 -1
- data/lib/Tj3AppBase.rb +8 -1
- data/lib/Tj3Config.rb +1 -1
- data/lib/TjTime.rb +5 -0
- data/lib/TjpSyntaxRules.rb +360 -144
- data/lib/URLParameter.rb +30 -0
- data/lib/XMLDocument.rb +2 -2
- data/lib/daemon/ProcessIntercom.rb +50 -9
- data/lib/daemon/ProjectBroker.rb +63 -10
- data/lib/daemon/ProjectServer.rb +47 -16
- data/lib/daemon/ReportServer.rb +9 -4
- data/lib/daemon/WebServer.rb +204 -0
- data/lib/deep_copy.rb +4 -1
- data/lib/reports/CSVFile.rb +150 -66
- data/lib/reports/GanttChart.rb +2 -1
- data/lib/reports/Navigator.rb +18 -5
- data/lib/reports/NikuReport.rb +32 -2
- data/lib/reports/Report.rb +65 -37
- data/lib/reports/ReportBase.rb +14 -9
- data/lib/reports/ReportContext.rb +19 -4
- data/lib/reports/ReportTable.rb +2 -2
- data/lib/reports/ReportTableCell.rb +54 -30
- data/lib/reports/ResourceListRE.rb +4 -3
- data/lib/reports/StatusSheetReport.rb +8 -13
- data/lib/reports/TableReport.rb +47 -32
- data/lib/reports/TaskListRE.rb +3 -3
- data/lib/reports/TimeSheetReport.rb +14 -5
- data/lib/reports/TjpExportRE.rb +14 -19
- data/lib/taskjuggler3.rb +15 -0
- data/lib/tj3client.rb +9 -7
- data/lib/tj3d.rb +38 -10
- data/lib/tj3ss_sender.rb +7 -0
- data/lib/tj3ts_receiver.rb +1 -0
- data/manual/Day_To_Day_Juggling +1 -1
- data/manual/Rich_Text_Attributes +8 -0
- data/manual/TaskJuggler_2x_Migration +7 -0
- data/manual/The_TaskJuggler_Syntax +20 -6
- data/prj_cfg.rb +3 -2
- data/tasks/changelog.rake +36 -0
- data/tasks/csts.rake +2 -3
- data/tasks/gem.rake +10 -0
- data/tasks/missing.rake +0 -17
- data/test/TestSuite/ReportGenerator/Correct/Journal.html +63 -0
- data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +14 -0
- data/test/TestSuite/{HTML-Reports/LogicalFunctions.tjp → ReportGenerator/Correct/LogicalFunctions1.tjp} +2 -2
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +3 -0
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.tjp +19 -0
- data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +66 -0
- data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +407 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +26 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +6 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions1-1.csv +7 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions2-1.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +20 -0
- data/test/TestSuite/Scheduler/Correct/Container.html +349 -0
- data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -4
- data/test/TestSuite/Scheduler/Correct/Shift2.html +464 -150
- data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +108 -0
- data/test/TestSuite/Scheduler/Correct/TimeSheet2.tjp +7 -0
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +14 -0
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +233 -21
- data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +20 -20
- data/test/TestSuite/StatusSheetTemplates/project.tji +35 -0
- data/test/TestSuite/StatusSheetTemplates/project.tjp +56 -0
- data/test/TestSuite/StatusSheets/run +3 -2
- data/test/TestSuite/Syntax/Correct/Include.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/Macro-1.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/Macro-2.tjp +6 -0
- data/test/TestSuite/Syntax/Correct/Macro-3.tjp +14 -0
- data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +32 -0
- data/test/TestSuite/Syntax/Correct/css/tjmanual.css +66 -0
- data/test/TestSuite/Syntax/Correct/css/tjreport.css +407 -0
- data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/Syntax/Correct/include/dir1/file2.tji +3 -0
- data/test/TestSuite/Syntax/Correct/include/dir1/file5.tji +2 -0
- data/test/TestSuite/Syntax/Correct/include/dir3/all.tji +3 -0
- data/test/TestSuite/Syntax/Correct/include/dir3/file1.tji +2 -0
- data/test/TestSuite/Syntax/Correct/include/dir3/file2.tji +1 -0
- data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +13 -13
- data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/include_recursion.tjp +1 -0
- data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +2 -1
- data/test/TestSuite/Syntax/Errors/{eof_in_istring1.tjp → no_token_match1.tjp} +2 -2
- data/test/TestSuite/Syntax/Errors/{eof_in_istring2.tjp → no_token_match2.tjp} +2 -2
- data/test/TestSuite/Syntax/Errors/{eof_in_istring3.tjp → no_token_match3.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/{eof_in_istring4.tjp → no_token_match4.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/{eof_in_istring5.tjp → no_token_match5.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/not_scheduled.tjp +13 -0
- data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
- data/test/TestSuite/TimeSheets/run +5 -5
- data/test/test_CSVFile.rb +75 -0
- data/test/test_Limits.rb +63 -5
- data/test/test_ProjectFileScanner.rb +163 -0
- data/test/test_ReportGenerator.rb +81 -0
- data/test/test_RichText.rb +21 -3
- data/test/test_Scheduler.rb +1 -1
- data/test/test_ShiftAssignments.rb +4 -4
- data/test/test_Syntax.rb +1 -1
- data/test/test_URLParameter.rb +30 -0
- metadata +126 -32
- data/test/TestSuite/Scheduler/Errors/not_scheduled.tjp +0 -8
- data/test/TestSuite/Syntax/Errors/bad_comment.tjp +0 -7
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/boss_2002-03-01.tji +0 -36
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev1_2002-03-01.tji +0 -48
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev2_2002-03-01.tji +0 -67
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev3_2002-03-01.tji +0 -67
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/doc_2002-03-01.tji +0 -48
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/resources.yml +0 -31
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/test_2002-03-01.tji +0 -36
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/acceptable_intervals +0 -1
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/all.tji +0 -1
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/dev2_2002-03-01.tji +0 -54
- data/test/TestSuite/TimeSheets/TimeSheets/all.tji +0 -2
- data/test/TestSuite/TimeSheets/receiver.log +0 -102
- data/test/TestSuite/TimeSheets/sender.log +0 -794
- data/test/TestSuite/TimeSheets/summary.log +0 -884
- data/test/TestSuite/TimeSheets/timesheets.log +0 -45
- data/test/TestSuite/TimeSheets/tj3d.log +0 -292
- data/test/test_TextScanner.rb +0 -95
data/doc/COPYING.html
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<head>
|
|
7
7
|
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
|
8
8
|
|
|
9
|
-
<title>File: COPYING [
|
|
9
|
+
<title>File: COPYING [TaskJuggler III API documentation]</title>
|
|
10
10
|
|
|
11
11
|
<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet" />
|
|
12
12
|
|
|
@@ -39,6 +39,8 @@
|
|
|
39
39
|
<h3 class="section-header">Files</h3>
|
|
40
40
|
<ul>
|
|
41
41
|
|
|
42
|
+
<li class="file"><a href="./CHANGELOG.html">CHANGELOG</a></li>
|
|
43
|
+
|
|
42
44
|
<li class="file"><a href="./COPYING.html">COPYING</a></li>
|
|
43
45
|
|
|
44
46
|
<li class="file"><a href="./README.html">README</a></li>
|
|
@@ -208,6 +210,8 @@
|
|
|
208
210
|
|
|
209
211
|
<li><a href="./TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
|
|
210
212
|
|
|
213
|
+
<li><a href="./TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
214
|
+
|
|
211
215
|
<li><a href="./TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
|
|
212
216
|
|
|
213
217
|
<li><a href="./TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
@@ -222,6 +226,8 @@
|
|
|
222
226
|
|
|
223
227
|
<li><a href="./TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
|
|
224
228
|
|
|
229
|
+
<li><a href="./TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
|
|
230
|
+
|
|
225
231
|
<li><a href="./TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
|
|
226
232
|
|
|
227
233
|
<li><a href="./TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
|
|
@@ -238,12 +244,16 @@
|
|
|
238
244
|
|
|
239
245
|
<li><a href="./TaskJuggler/Query.html">TaskJuggler::Query</a></li>
|
|
240
246
|
|
|
247
|
+
<li><a href="./TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
|
|
248
|
+
|
|
241
249
|
<li><a href="./TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
|
|
242
250
|
|
|
243
251
|
<li><a href="./TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
|
|
244
252
|
|
|
245
253
|
<li><a href="./TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
|
|
246
254
|
|
|
255
|
+
<li><a href="./TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
256
|
+
|
|
247
257
|
<li><a href="./TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
248
258
|
|
|
249
259
|
<li><a href="./TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
@@ -262,6 +272,8 @@
|
|
|
262
272
|
|
|
263
273
|
<li><a href="./TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
|
|
264
274
|
|
|
275
|
+
<li><a href="./TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
|
|
276
|
+
|
|
265
277
|
<li><a href="./TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
|
|
266
278
|
|
|
267
279
|
<li><a href="./TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
|
|
@@ -390,6 +402,8 @@
|
|
|
390
402
|
|
|
391
403
|
<li><a href="./TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
|
|
392
404
|
|
|
405
|
+
<li><a href="./TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
|
|
406
|
+
|
|
393
407
|
<li><a href="./TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
|
|
394
408
|
|
|
395
409
|
<li><a href="./TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
|
@@ -434,8 +448,12 @@
|
|
|
434
448
|
|
|
435
449
|
<li><a href="./TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
|
|
436
450
|
|
|
451
|
+
<li><a href="./TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
|
|
452
|
+
|
|
437
453
|
<li><a href="./TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
438
454
|
|
|
455
|
+
<li><a href="./TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
456
|
+
|
|
439
457
|
<li><a href="./TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
440
458
|
|
|
441
459
|
<li><a href="./TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -462,6 +480,8 @@
|
|
|
462
480
|
|
|
463
481
|
<li><a href="./String.html">String</a></li>
|
|
464
482
|
|
|
483
|
+
<li><a href="./StringIO.html">StringIO</a></li>
|
|
484
|
+
|
|
465
485
|
</ul>
|
|
466
486
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
467
487
|
</div>
|
data/doc/Object.html
CHANGED
|
@@ -69,17 +69,17 @@
|
|
|
69
69
|
<h3 class="section-header">Methods</h3>
|
|
70
70
|
<ul class="link-list">
|
|
71
71
|
|
|
72
|
-
<li><a href="#
|
|
72
|
+
<li><a href="#method-i-deep_clone">#deep_clone</a></li>
|
|
73
73
|
|
|
74
|
-
<li><a href="#
|
|
74
|
+
<li><a href="#method-i-doRun">#doRun</a></li>
|
|
75
75
|
|
|
76
|
-
<li><a href="#
|
|
76
|
+
<li><a href="#method-i-main">#main</a></li>
|
|
77
77
|
|
|
78
|
-
<li><a href="#
|
|
78
|
+
<li><a href="#method-i-main">#main</a></li>
|
|
79
79
|
|
|
80
|
-
<li><a href="#
|
|
80
|
+
<li><a href="#method-i-processArguments">#processArguments</a></li>
|
|
81
81
|
|
|
82
|
-
<li><a href="#
|
|
82
|
+
<li><a href="#method-i-test_fileIO">#test_fileIO</a></li>
|
|
83
83
|
|
|
84
84
|
</ul>
|
|
85
85
|
</div>
|
|
@@ -96,6 +96,8 @@
|
|
|
96
96
|
<h3 class="section-header">Files</h3>
|
|
97
97
|
<ul>
|
|
98
98
|
|
|
99
|
+
<li class="file"><a href="./CHANGELOG.html">CHANGELOG</a></li>
|
|
100
|
+
|
|
99
101
|
<li class="file"><a href="./COPYING.html">COPYING</a></li>
|
|
100
102
|
|
|
101
103
|
<li class="file"><a href="./README.html">README</a></li>
|
|
@@ -265,6 +267,8 @@
|
|
|
265
267
|
|
|
266
268
|
<li><a href="./TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
|
|
267
269
|
|
|
270
|
+
<li><a href="./TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
271
|
+
|
|
268
272
|
<li><a href="./TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
|
|
269
273
|
|
|
270
274
|
<li><a href="./TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
@@ -279,6 +283,8 @@
|
|
|
279
283
|
|
|
280
284
|
<li><a href="./TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
|
|
281
285
|
|
|
286
|
+
<li><a href="./TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
|
|
287
|
+
|
|
282
288
|
<li><a href="./TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
|
|
283
289
|
|
|
284
290
|
<li><a href="./TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
|
|
@@ -295,12 +301,16 @@
|
|
|
295
301
|
|
|
296
302
|
<li><a href="./TaskJuggler/Query.html">TaskJuggler::Query</a></li>
|
|
297
303
|
|
|
304
|
+
<li><a href="./TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
|
|
305
|
+
|
|
298
306
|
<li><a href="./TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
|
|
299
307
|
|
|
300
308
|
<li><a href="./TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
|
|
301
309
|
|
|
302
310
|
<li><a href="./TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
|
|
303
311
|
|
|
312
|
+
<li><a href="./TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
313
|
+
|
|
304
314
|
<li><a href="./TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
305
315
|
|
|
306
316
|
<li><a href="./TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
@@ -319,6 +329,8 @@
|
|
|
319
329
|
|
|
320
330
|
<li><a href="./TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
|
|
321
331
|
|
|
332
|
+
<li><a href="./TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
|
|
333
|
+
|
|
322
334
|
<li><a href="./TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
|
|
323
335
|
|
|
324
336
|
<li><a href="./TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
|
|
@@ -447,6 +459,8 @@
|
|
|
447
459
|
|
|
448
460
|
<li><a href="./TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
|
|
449
461
|
|
|
462
|
+
<li><a href="./TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
|
|
463
|
+
|
|
450
464
|
<li><a href="./TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
|
|
451
465
|
|
|
452
466
|
<li><a href="./TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
|
@@ -491,8 +505,12 @@
|
|
|
491
505
|
|
|
492
506
|
<li><a href="./TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
|
|
493
507
|
|
|
508
|
+
<li><a href="./TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
|
|
509
|
+
|
|
494
510
|
<li><a href="./TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
495
511
|
|
|
512
|
+
<li><a href="./TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
513
|
+
|
|
496
514
|
<li><a href="./TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
497
515
|
|
|
498
516
|
<li><a href="./TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -519,6 +537,8 @@
|
|
|
519
537
|
|
|
520
538
|
<li><a href="./String.html">String</a></li>
|
|
521
539
|
|
|
540
|
+
<li><a href="./StringIO.html">StringIO</a></li>
|
|
541
|
+
|
|
522
542
|
</ul>
|
|
523
543
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
524
544
|
</div>
|
|
@@ -555,8 +575,9 @@ than Array and Hash, but this file works for me.
|
|
|
555
575
|
<p>
|
|
556
576
|
In certain cases the full deep copy may not be desired. To preserve
|
|
557
577
|
references to objects, you need to overload <a
|
|
558
|
-
href="Object.html#
|
|
559
|
-
Alternatively, an object can be frozen to prevent deep
|
|
578
|
+
href="Object.html#method-i-deep_clone">deep_clone</a> and handle the
|
|
579
|
+
special cases. Alternatively, an object can be frozen to prevent deep
|
|
580
|
+
copies.
|
|
560
581
|
</p>
|
|
561
582
|
|
|
562
583
|
</div>
|
|
@@ -574,7 +595,7 @@ Alternatively, an object can be frozen to prevent deep copies.
|
|
|
574
595
|
|
|
575
596
|
|
|
576
597
|
<div id="deep-clone-method" class="method-detail ">
|
|
577
|
-
<a name="
|
|
598
|
+
<a name="method-i-deep_clone"></a>
|
|
578
599
|
|
|
579
600
|
<div class="method-heading">
|
|
580
601
|
|
|
@@ -598,39 +619,42 @@ This is a variant of Object#clone that returns a deep copy of an object.
|
|
|
598
619
|
<span class="ruby-comment cmt"># File lib/deep_copy.rb, line 35</span>
|
|
599
620
|
35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deep_clone</span>
|
|
600
621
|
36: <span class="ruby-comment cmt"># We can't clone frozen objects. So just return a reference to them.</span>
|
|
601
|
-
37: <span class="ruby-
|
|
602
|
-
38:
|
|
603
|
-
39: <span class="ruby-
|
|
604
|
-
40:
|
|
605
|
-
41:
|
|
606
|
-
42:
|
|
607
|
-
43: <span class="ruby-
|
|
608
|
-
44:
|
|
609
|
-
45:
|
|
610
|
-
46:
|
|
611
|
-
47:
|
|
612
|
-
48: <span class="ruby-keyword kw">
|
|
613
|
-
49:
|
|
614
|
-
50: <span class="ruby-
|
|
615
|
-
51:
|
|
616
|
-
52:
|
|
617
|
-
53: <span class="ruby-
|
|
618
|
-
54:
|
|
619
|
-
55:
|
|
620
|
-
56:
|
|
621
|
-
57: <span class="ruby-keyword kw">
|
|
622
|
-
58:
|
|
623
|
-
59: <span class="ruby-ivar">@clonedObject</span>.<span class="ruby-identifier">
|
|
624
|
-
60: <span class="ruby-keyword kw">
|
|
625
|
-
61:
|
|
626
|
-
62:
|
|
627
|
-
63: <span class="ruby-
|
|
628
|
-
64:
|
|
629
|
-
65:
|
|
630
|
-
66: <span class="ruby-
|
|
631
|
-
67:
|
|
632
|
-
68:
|
|
633
|
-
69:
|
|
622
|
+
37: <span class="ruby-comment cmt"># Built-in classed can't be cloned either. The check below is probably</span>
|
|
623
|
+
38: <span class="ruby-comment cmt"># cheaper than the frequent (hiddent) exceptions from those objects.</span>
|
|
624
|
+
39: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">frozen?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Float</span>) <span class="ruby-operator">||</span>
|
|
625
|
+
40: <span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TrueClass</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">FalseClass</span>)
|
|
626
|
+
41:
|
|
627
|
+
42: <span class="ruby-comment cmt"># In case we have loops in our graph, we return references, not</span>
|
|
628
|
+
43: <span class="ruby-comment cmt"># deep-copied objects.</span>
|
|
629
|
+
44: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator"><</span> <span class="ruby-value str">'1.9.0'</span>
|
|
630
|
+
45: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@clonedObject</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'@clonedObject'</span>)
|
|
631
|
+
46: <span class="ruby-keyword kw">else</span>
|
|
632
|
+
47: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@clonedObject</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:@clonedObject</span>)
|
|
633
|
+
48: <span class="ruby-keyword kw">end</span>
|
|
634
|
+
49:
|
|
635
|
+
50: <span class="ruby-comment cmt"># Clone the current Object (shallow copy with internal state)</span>
|
|
636
|
+
51: <span class="ruby-keyword kw">begin</span>
|
|
637
|
+
52: <span class="ruby-ivar">@clonedObject</span> = <span class="ruby-identifier">clone</span>
|
|
638
|
+
53: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TypeError</span>
|
|
639
|
+
54: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>
|
|
640
|
+
55: <span class="ruby-keyword kw">end</span>
|
|
641
|
+
56: <span class="ruby-comment cmt"># Recursively copy all instance variables.</span>
|
|
642
|
+
57: <span class="ruby-ivar">@clonedObject</span>.<span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var</span><span class="ruby-operator">|</span>
|
|
643
|
+
58: <span class="ruby-identifier">val</span> = <span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-identifier">var</span>).<span class="ruby-identifier">deep_clone</span>
|
|
644
|
+
59: <span class="ruby-ivar">@clonedObject</span>.<span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-identifier">var</span>, <span class="ruby-identifier">val</span>)
|
|
645
|
+
60: <span class="ruby-keyword kw">end</span>
|
|
646
|
+
61: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Array</span>)
|
|
647
|
+
62: <span class="ruby-ivar">@clonedObject</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">deep_clone</span> }
|
|
648
|
+
63: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Hash</span>)
|
|
649
|
+
64: <span class="ruby-ivar">@clonedObject</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">val</span><span class="ruby-operator">|</span> <span class="ruby-identifier">store</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">val</span>.<span class="ruby-identifier">deep_clone</span>) }
|
|
650
|
+
65: <span class="ruby-keyword kw">end</span>
|
|
651
|
+
66: <span class="ruby-comment cmt"># Remove the @clonedObject again.</span>
|
|
652
|
+
67: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator"><</span> <span class="ruby-value str">'1.9.0'</span>
|
|
653
|
+
68: <span class="ruby-identifier">remove_instance_variable</span>(<span class="ruby-value str">'@clonedObject'</span>)
|
|
654
|
+
69: <span class="ruby-keyword kw">else</span>
|
|
655
|
+
70: <span class="ruby-identifier">remove_instance_variable</span>(<span class="ruby-value">:@clonedObject</span>)
|
|
656
|
+
71: <span class="ruby-keyword kw">end</span>
|
|
657
|
+
72: <span class="ruby-keyword kw">end</span></pre>
|
|
634
658
|
</div>
|
|
635
659
|
|
|
636
660
|
</div>
|
|
@@ -642,7 +666,7 @@ This is a variant of Object#clone that returns a deep copy of an object.
|
|
|
642
666
|
|
|
643
667
|
|
|
644
668
|
<div id="do-un-method" class="method-detail ">
|
|
645
|
-
<a name="
|
|
669
|
+
<a name="method-i-doRun"></a>
|
|
646
670
|
|
|
647
671
|
<div class="method-heading">
|
|
648
672
|
|
|
@@ -694,7 +718,7 @@ This is a variant of Object#clone that returns a deep copy of an object.
|
|
|
694
718
|
|
|
695
719
|
|
|
696
720
|
<div id="main-method" class="method-detail ">
|
|
697
|
-
<a name="
|
|
721
|
+
<a name="method-i-main"></a>
|
|
698
722
|
|
|
699
723
|
<div class="method-heading">
|
|
700
724
|
|
|
@@ -713,43 +737,50 @@ This is a variant of Object#clone that returns a deep copy of an object.
|
|
|
713
737
|
<div class="method-source-code"
|
|
714
738
|
id="main-source">
|
|
715
739
|
<pre>
|
|
716
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler3.rb, line
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
119: <span class="ruby-identifier">files</span> = <span class="ruby-identifier">processArguments</span>(<span class="ruby-constant">ARGV</span>)
|
|
732
|
-
120: <span class="ruby-identifier">tj</span> = <span class="ruby-constant">TaskJuggler</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">true</span>)
|
|
733
|
-
121: <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">maxCpuCores</span> = <span class="ruby-ivar">@maxCpuCores</span>
|
|
734
|
-
122: <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">warnTsDeltas</span> = <span class="ruby-ivar">@warnTsDeltas</span>
|
|
735
|
-
123: <span class="ruby-identifier">keepParser</span> = <span class="ruby-operator">!</span><span class="ruby-ivar">@timeSheets</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@statusSheets</span>.<span class="ruby-identifier">empty?</span>
|
|
736
|
-
124: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">files</span>, <span class="ruby-identifier">keepParser</span>)
|
|
737
|
-
125: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">schedule</span>
|
|
738
|
-
126: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@forceReports</span>
|
|
740
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler3.rb, line 113</span>
|
|
741
|
+
113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">main</span>
|
|
742
|
+
114: <span class="ruby-ivar">@maxCpuCores</span> = <span class="ruby-value">1</span>
|
|
743
|
+
115: <span class="ruby-ivar">@forceReports</span> = <span class="ruby-keyword kw">false</span>
|
|
744
|
+
116: <span class="ruby-ivar">@warnTsDeltas</span> = <span class="ruby-keyword kw">false</span>
|
|
745
|
+
117: <span class="ruby-ivar">@checkSyntax</span> = <span class="ruby-keyword kw">false</span>
|
|
746
|
+
118: <span class="ruby-ivar">@noReports</span> = <span class="ruby-keyword kw">false</span>
|
|
747
|
+
119: <span class="ruby-ivar">@outputDir</span> = <span class="ruby-value str">''</span>
|
|
748
|
+
120: <span class="ruby-ivar">@timeSheets</span> = []
|
|
749
|
+
121: <span class="ruby-ivar">@statusSheets</span> = []
|
|
750
|
+
122:
|
|
751
|
+
123: <span class="ruby-comment cmt"># Install signal handler to exit gracefully on CTRL-C.</span>
|
|
752
|
+
124: <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">trap</span>(<span class="ruby-value str">'INT'</span>) <span class="ruby-keyword kw">do</span>
|
|
753
|
+
125: <span class="ruby-identifier">puts</span> <span class="ruby-value str">"\nAborting on user request!"</span>
|
|
754
|
+
126: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
|
|
739
755
|
127: <span class="ruby-keyword kw">end</span>
|
|
740
756
|
128:
|
|
741
|
-
129: <span class="ruby-
|
|
742
|
-
130: <span class="ruby-
|
|
743
|
-
131: <span class="ruby-
|
|
744
|
-
132:
|
|
745
|
-
133: <span class="ruby-
|
|
746
|
-
134: <span class="ruby-
|
|
747
|
-
135:
|
|
748
|
-
136: <span class="ruby-keyword kw">
|
|
757
|
+
129: <span class="ruby-identifier">files</span> = <span class="ruby-identifier">processArguments</span>(<span class="ruby-constant">ARGV</span>)
|
|
758
|
+
130: <span class="ruby-identifier">tj</span> = <span class="ruby-constant">TaskJuggler</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">true</span>)
|
|
759
|
+
131: <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">maxCpuCores</span> = <span class="ruby-ivar">@maxCpuCores</span>
|
|
760
|
+
132: <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">warnTsDeltas</span> = <span class="ruby-ivar">@warnTsDeltas</span>
|
|
761
|
+
133: <span class="ruby-identifier">keepParser</span> = <span class="ruby-operator">!</span><span class="ruby-ivar">@timeSheets</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@statusSheets</span>.<span class="ruby-identifier">empty?</span>
|
|
762
|
+
134: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">files</span>, <span class="ruby-identifier">keepParser</span>)
|
|
763
|
+
135:
|
|
764
|
+
136: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@checkSyntax</span>
|
|
749
765
|
137:
|
|
750
|
-
138: <span class="ruby-
|
|
751
|
-
139:
|
|
752
|
-
140:
|
|
766
|
+
138: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">schedule</span>
|
|
767
|
+
139: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@forceReports</span>
|
|
768
|
+
140: <span class="ruby-keyword kw">end</span>
|
|
769
|
+
141:
|
|
770
|
+
142: <span class="ruby-comment cmt"># The checks of time and status sheets is probably only used for debugging.</span>
|
|
771
|
+
143: <span class="ruby-comment cmt"># Normally, this function is provided by tj3client.</span>
|
|
772
|
+
144: <span class="ruby-ivar">@timeSheets</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ts</span><span class="ruby-operator">|</span>
|
|
773
|
+
145: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-identifier">ts</span>, <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">ts</span>)) <span class="ruby-operator">||</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">errors</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
774
|
+
146: <span class="ruby-keyword kw">end</span>
|
|
775
|
+
147: <span class="ruby-ivar">@statusSheets</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ss</span><span class="ruby-operator">|</span>
|
|
776
|
+
148: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-identifier">ss</span>, <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">ss</span>)) <span class="ruby-operator">||</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">errors</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
777
|
+
149: <span class="ruby-keyword kw">end</span>
|
|
778
|
+
150:
|
|
779
|
+
151: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@noReports</span>
|
|
780
|
+
152:
|
|
781
|
+
153: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">generateReports</span>(<span class="ruby-ivar">@outputDir</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">errors</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
782
|
+
154:
|
|
783
|
+
155: <span class="ruby-keyword kw">end</span></pre>
|
|
753
784
|
</div>
|
|
754
785
|
|
|
755
786
|
</div>
|
|
@@ -761,7 +792,7 @@ This is a variant of Object#clone that returns a deep copy of an object.
|
|
|
761
792
|
|
|
762
793
|
|
|
763
794
|
<div id="main-method" class="method-detail ">
|
|
764
|
-
<a name="
|
|
795
|
+
<a name="method-i-main"></a>
|
|
765
796
|
|
|
766
797
|
<div class="method-heading">
|
|
767
798
|
|
|
@@ -814,7 +845,7 @@ This is a variant of Object#clone that returns a deep copy of an object.
|
|
|
814
845
|
|
|
815
846
|
|
|
816
847
|
<div id="process-rguments-method" class="method-detail ">
|
|
817
|
-
<a name="
|
|
848
|
+
<a name="method-i-processArguments"></a>
|
|
818
849
|
|
|
819
850
|
<div class="method-heading">
|
|
820
851
|
|
|
@@ -873,50 +904,58 @@ This is a variant of Object#clone that returns a deep copy of an object.
|
|
|
873
904
|
57: <span class="ruby-value str">'Turn on warnings for requested changes in time sheets'</span>) <span class="ruby-keyword kw">do</span>
|
|
874
905
|
58: <span class="ruby-ivar">@warnTsDeltas</span> = <span class="ruby-keyword kw">true</span>
|
|
875
906
|
59: <span class="ruby-keyword kw">end</span>
|
|
876
|
-
60: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'
|
|
877
|
-
61: <span class="ruby-value str">'
|
|
878
|
-
62:
|
|
907
|
+
60: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--check-syntax'</span>,
|
|
908
|
+
61: <span class="ruby-value str">'Only parse the input files and check the syntax.'</span>) <span class="ruby-keyword kw">do</span>
|
|
909
|
+
62: <span class="ruby-ivar">@checkSyntax</span> = <span class="ruby-keyword kw">true</span>
|
|
879
910
|
63: <span class="ruby-keyword kw">end</span>
|
|
880
|
-
64: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-
|
|
881
|
-
65:
|
|
882
|
-
66:
|
|
883
|
-
67: <span class="ruby-
|
|
884
|
-
68:
|
|
885
|
-
69:
|
|
886
|
-
70:
|
|
887
|
-
71:
|
|
888
|
-
72: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">
|
|
889
|
-
73: <span class="ruby-
|
|
890
|
-
74:
|
|
891
|
-
75:
|
|
892
|
-
76:
|
|
893
|
-
77:
|
|
894
|
-
78: <span class="ruby-
|
|
895
|
-
79:
|
|
896
|
-
80: <span class="ruby-keyword kw">
|
|
897
|
-
81: <span class="ruby-identifier">
|
|
898
|
-
82:
|
|
899
|
-
83: <span class="ruby-identifier">
|
|
900
|
-
84:
|
|
901
|
-
85:
|
|
902
|
-
86: <span class="ruby-
|
|
903
|
-
87:
|
|
904
|
-
88: <span class="ruby-keyword kw">
|
|
905
|
-
89: <span class="ruby-identifier">
|
|
906
|
-
90:
|
|
907
|
-
91: <span class="ruby-identifier">
|
|
908
|
-
92:
|
|
909
|
-
93:
|
|
910
|
-
94: <span class="ruby-keyword kw">
|
|
911
|
-
95:
|
|
912
|
-
96:
|
|
913
|
-
97:
|
|
914
|
-
98:
|
|
915
|
-
99:
|
|
911
|
+
64: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--no-reports'</span>,
|
|
912
|
+
65: <span class="ruby-value str">'Just schedule the project, but don\t generate any reports.'</span>) <span class="ruby-keyword kw">do</span>
|
|
913
|
+
66: <span class="ruby-ivar">@noReports</span> = <span class="ruby-keyword kw">true</span>
|
|
914
|
+
67: <span class="ruby-keyword kw">end</span>
|
|
915
|
+
68: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-o'</span>, <span class="ruby-value str">'--output-dir <directory>'</span>, <span class="ruby-constant">String</span>,
|
|
916
|
+
69: <span class="ruby-value str">'Directory the reports should go into'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
917
|
+
70: <span class="ruby-ivar">@outputDir</span> = <span class="ruby-identifier">arg</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>
|
|
918
|
+
71: <span class="ruby-keyword kw">end</span>
|
|
919
|
+
72: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-c N'</span>, <span class="ruby-constant">Integer</span>, <span class="ruby-value str">'Maximum number of CPU cores to use'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
920
|
+
73: <span class="ruby-ivar">@maxCpuCores</span> = <span class="ruby-identifier">arg</span>
|
|
921
|
+
74: <span class="ruby-keyword kw">end</span>
|
|
922
|
+
75: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on_tail</span>(<span class="ruby-value str">'-h'</span>, <span class="ruby-value str">'--help'</span>, <span class="ruby-value str">'Show this message'</span>) <span class="ruby-keyword kw">do</span>
|
|
923
|
+
76: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_s</span>
|
|
924
|
+
77: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
|
|
925
|
+
78: <span class="ruby-keyword kw">end</span>
|
|
926
|
+
79:
|
|
927
|
+
80: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on_tail</span>(<span class="ruby-value str">'--version'</span>, <span class="ruby-value str">'Show version info'</span>) <span class="ruby-keyword kw">do</span>
|
|
928
|
+
81: <span class="ruby-identifier">puts</span> <span class="ruby-node">"#{AppConfig.softwareName} v#{AppConfig.version} - "</span> <span class="ruby-operator">+</span>
|
|
929
|
+
82: <span class="ruby-node">"#{AppConfig.packageInfo}"</span>
|
|
930
|
+
83: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
|
|
931
|
+
84: <span class="ruby-keyword kw">end</span>
|
|
932
|
+
85:
|
|
933
|
+
86: <span class="ruby-comment cmt"># Show some progress information by default</span>
|
|
934
|
+
87: <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">Log</span>.<span class="ruby-identifier">silent</span> = <span class="ruby-keyword kw">false</span>
|
|
935
|
+
88: <span class="ruby-keyword kw">begin</span>
|
|
936
|
+
89: <span class="ruby-identifier">files</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">argv</span>)
|
|
937
|
+
90: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">OptionParser</span><span class="ruby-operator">::</span><span class="ruby-constant">ParseError</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">msg</span>
|
|
938
|
+
91: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">"\n"</span>
|
|
939
|
+
92: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">msg</span>
|
|
940
|
+
93: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
|
|
941
|
+
94: <span class="ruby-keyword kw">end</span>
|
|
942
|
+
95:
|
|
943
|
+
96: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">files</span>.<span class="ruby-identifier">empty?</span>
|
|
944
|
+
97: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_s</span>
|
|
945
|
+
98: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">"\nNo project file name specified!"</span>
|
|
946
|
+
99: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
|
|
916
947
|
100: <span class="ruby-keyword kw">end</span>
|
|
917
948
|
101:
|
|
918
|
-
102: <span class="ruby-identifier">
|
|
919
|
-
103:
|
|
949
|
+
102: <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">Log</span>.<span class="ruby-identifier">silent</span>
|
|
950
|
+
103: <span class="ruby-identifier">puts</span> <span class="ruby-node">"#{AppConfig.softwareName} v#{AppConfig.version} - "</span> <span class="ruby-operator">+</span>
|
|
951
|
+
104: <span class="ruby-node">"#{AppConfig.packageInfo}\n\n"</span> <span class="ruby-operator">+</span>
|
|
952
|
+
105: <span class="ruby-node">"Copyright (c) #{AppConfig.copyright.join(', ')}"</span> <span class="ruby-operator">+</span>
|
|
953
|
+
106: <span class="ruby-node">" by #{AppConfig.authors.join(', ')}\n\n"</span> <span class="ruby-operator">+</span>
|
|
954
|
+
107: <span class="ruby-node">"#{AppConfig.license}\n"</span>
|
|
955
|
+
108: <span class="ruby-keyword kw">end</span>
|
|
956
|
+
109:
|
|
957
|
+
110: <span class="ruby-identifier">files</span>
|
|
958
|
+
111: <span class="ruby-keyword kw">end</span></pre>
|
|
920
959
|
</div>
|
|
921
960
|
|
|
922
961
|
</div>
|
|
@@ -928,7 +967,7 @@ This is a variant of Object#clone that returns a deep copy of an object.
|
|
|
928
967
|
|
|
929
968
|
|
|
930
969
|
<div id="test-file--method" class="method-detail ">
|
|
931
|
-
<a name="
|
|
970
|
+
<a name="method-i-test_fileIO"></a>
|
|
932
971
|
|
|
933
972
|
<div class="method-heading">
|
|
934
973
|
|