taskjuggler 0.0.4 → 0.0.5
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/README +1 -1
- data/bin/tj3client +3 -0
- data/bin/tj3d +3 -0
- data/bin/tj3ts_receiver +3 -0
- data/bin/tj3ts_sender +3 -0
- data/bin/tj3ts_summary +3 -0
- data/data/css/tjmanual.css +14 -0
- data/data/css/tjreport.css +233 -21
- data/data/scripts/wz_tooltip.js +20 -20
- data/doc/AppConfig.html +1389 -0
- data/doc/Arguments.html +678 -0
- data/doc/COPYING.html +837 -0
- data/doc/Object.html +996 -0
- data/doc/README.html +523 -0
- data/doc/RuntimeConfig.html +762 -0
- data/doc/String.html +872 -0
- data/doc/TaskJuggler/Account.html +691 -0
- data/doc/TaskJuggler/AccountAttribute.html +707 -0
- data/doc/TaskJuggler/AccountScenario.html +650 -0
- data/doc/TaskJuggler/Allocation.html +898 -0
- data/doc/TaskJuggler/AllocationAttribute.html +737 -0
- data/doc/TaskJuggler/AttributeBase.html +1193 -0
- data/doc/TaskJuggler/AttributeDefinition.html +753 -0
- data/doc/TaskJuggler/BatchProcessor.html +1112 -0
- data/doc/TaskJuggler/Booking.html +797 -0
- data/doc/TaskJuggler/BookingListAttribute.html +709 -0
- data/doc/TaskJuggler/BooleanAttribute.html +707 -0
- data/doc/TaskJuggler/CSVFile.html +924 -0
- data/doc/TaskJuggler/CellSettingPattern.html +638 -0
- data/doc/TaskJuggler/CellSettingPatternList.html +687 -0
- data/doc/TaskJuggler/Charge.html +715 -0
- data/doc/TaskJuggler/ChargeListAttribute.html +671 -0
- data/doc/TaskJuggler/ChargeSet.html +887 -0
- data/doc/TaskJuggler/ChargeSetListAttribute.html +718 -0
- data/doc/TaskJuggler/ColumnListAttribute.html +673 -0
- data/doc/TaskJuggler/ColumnTable.html +701 -0
- data/doc/TaskJuggler/Daemon.html +728 -0
- data/doc/TaskJuggler/DateAttribute.html +675 -0
- data/doc/TaskJuggler/DefinitionListAttribute.html +593 -0
- data/doc/TaskJuggler/DependencyListAttribute.html +713 -0
- data/doc/TaskJuggler/DurationAttribute.html +707 -0
- data/doc/TaskJuggler/FixnumAttribute.html +629 -0
- data/doc/TaskJuggler/FlagListAttribute.html +709 -0
- data/doc/TaskJuggler/FloatAttribute.html +671 -0
- data/doc/TaskJuggler/FormatListAttribute.html +635 -0
- data/doc/TaskJuggler/GanttChart.html +1473 -0
- data/doc/TaskJuggler/GanttContainer.html +885 -0
- data/doc/TaskJuggler/GanttHeader.html +886 -0
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +700 -0
- data/doc/TaskJuggler/GanttLine.html +1263 -0
- data/doc/TaskJuggler/GanttLoadStack.html +766 -0
- data/doc/TaskJuggler/GanttMilestone.html +865 -0
- data/doc/TaskJuggler/GanttRouter.html +1433 -0
- data/doc/TaskJuggler/GanttTaskBar.html +880 -0
- data/doc/TaskJuggler/HTMLDocument.html +719 -0
- data/doc/TaskJuggler/HTMLGraphics.html +775 -0
- data/doc/TaskJuggler/Interval.html +1016 -0
- data/doc/TaskJuggler/IntervalListAttribute.html +713 -0
- data/doc/TaskJuggler/JobInfo.html +881 -0
- data/doc/TaskJuggler/Journal.html +991 -0
- data/doc/TaskJuggler/JournalEntry.html +779 -0
- data/doc/TaskJuggler/JournalEntryList.html +952 -0
- data/doc/TaskJuggler/KeywordArray.html +628 -0
- data/doc/TaskJuggler/KeywordDocumentation.html +1662 -0
- data/doc/TaskJuggler/Limits/Limit.html +826 -0
- data/doc/TaskJuggler/Limits.html +966 -0
- data/doc/TaskJuggler/LimitsAttribute.html +707 -0
- data/doc/TaskJuggler/ListAttributeBase.html +641 -0
- data/doc/TaskJuggler/Log.html +1103 -0
- data/doc/TaskJuggler/LogFile.html +918 -0
- data/doc/TaskJuggler/LogicalAttribute.html +698 -0
- data/doc/TaskJuggler/LogicalExpression.html +739 -0
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +629 -0
- data/doc/TaskJuggler/LogicalFlag.html +681 -0
- data/doc/TaskJuggler/LogicalFunction.html +1218 -0
- data/doc/TaskJuggler/LogicalOperation.html +1078 -0
- data/doc/TaskJuggler/Macro.html +646 -0
- data/doc/TaskJuggler/MacroParser.html +810 -0
- data/doc/TaskJuggler/MacroTable.html +810 -0
- data/doc/TaskJuggler/ManagerResponsibilities.html +674 -0
- data/doc/TaskJuggler/ManagerStatusRecord.html +678 -0
- data/doc/TaskJuggler/Message.html +757 -0
- data/doc/TaskJuggler/MessageHandler.html +679 -0
- data/doc/TaskJuggler/Navigator.html +867 -0
- data/doc/TaskJuggler/NavigatorElement.html +932 -0
- data/doc/TaskJuggler/NikuProject.html +662 -0
- data/doc/TaskJuggler/NikuReport.html +1316 -0
- data/doc/TaskJuggler/NikuResource.html +632 -0
- data/doc/TaskJuggler/OnShiftCache.html +864 -0
- data/doc/TaskJuggler/ProcessIntercom.html +847 -0
- data/doc/TaskJuggler/ProcessIntercomIface.html +664 -0
- data/doc/TaskJuggler/Project.html +3056 -0
- data/doc/TaskJuggler/ProjectBroker.html +1260 -0
- data/doc/TaskJuggler/ProjectBrokerIface.html +734 -0
- data/doc/TaskJuggler/ProjectFileParser.html +1951 -0
- data/doc/TaskJuggler/ProjectRecord.html +859 -0
- data/doc/TaskJuggler/ProjectServer.html +1092 -0
- data/doc/TaskJuggler/ProjectServerIface.html +768 -0
- data/doc/TaskJuggler/PropertyAttribute.html +629 -0
- data/doc/TaskJuggler/PropertyList.html +1336 -0
- data/doc/TaskJuggler/PropertySet.html +1785 -0
- data/doc/TaskJuggler/PropertyTreeNode.html +2482 -0
- data/doc/TaskJuggler/Query.html +1831 -0
- data/doc/TaskJuggler/RTFNavigator.html +729 -0
- data/doc/TaskJuggler/RTFQuery.html +1038 -0
- data/doc/TaskJuggler/RTFReport.html +740 -0
- data/doc/TaskJuggler/RealFormat.html +743 -0
- data/doc/TaskJuggler/RealFormatAttribute.html +593 -0
- data/doc/TaskJuggler/ReferenceAttribute.html +782 -0
- data/doc/TaskJuggler/Report.html +1255 -0
- data/doc/TaskJuggler/ReportBase.html +1198 -0
- data/doc/TaskJuggler/ReportContext.html +711 -0
- data/doc/TaskJuggler/ReportServer.html +988 -0
- data/doc/TaskJuggler/ReportServerIface.html +838 -0
- data/doc/TaskJuggler/ReportServerRecord.html +716 -0
- data/doc/TaskJuggler/ReportTable.html +1106 -0
- data/doc/TaskJuggler/ReportTableCell.html +1536 -0
- data/doc/TaskJuggler/ReportTableColumn.html +828 -0
- data/doc/TaskJuggler/ReportTableLegend.html +999 -0
- data/doc/TaskJuggler/ReportTableLine.html +1003 -0
- data/doc/TaskJuggler/Resource.html +938 -0
- data/doc/TaskJuggler/ResourceListAttribute.html +752 -0
- data/doc/TaskJuggler/ResourceListRE.html +674 -0
- data/doc/TaskJuggler/ResourceScenario.html +2457 -0
- data/doc/TaskJuggler/RichText.html +791 -0
- data/doc/TaskJuggler/RichTextAttribute.html +743 -0
- data/doc/TaskJuggler/RichTextDocument.html +972 -0
- data/doc/TaskJuggler/RichTextElement.html +1615 -0
- data/doc/TaskJuggler/RichTextException.html +667 -0
- data/doc/TaskJuggler/RichTextFunctionExample.html +737 -0
- data/doc/TaskJuggler/RichTextFunctionHandler.html +689 -0
- data/doc/TaskJuggler/RichTextImage.html +650 -0
- data/doc/TaskJuggler/RichTextIntermediate.html +1161 -0
- data/doc/TaskJuggler/RichTextParser.html +756 -0
- data/doc/TaskJuggler/RichTextScanner.html +2010 -0
- data/doc/TaskJuggler/RichTextSnip.html +942 -0
- data/doc/TaskJuggler/RichTextSyntaxRules.html +1722 -0
- data/doc/TaskJuggler/Scenario.html +594 -0
- data/doc/TaskJuggler/ScenarioData.html +815 -0
- data/doc/TaskJuggler/ScenarioListAttribute.html +671 -0
- data/doc/TaskJuggler/Scoreboard.html +1114 -0
- data/doc/TaskJuggler/SheetHandlerBase.html +1115 -0
- data/doc/TaskJuggler/SheetReceiver.html +1293 -0
- data/doc/TaskJuggler/SheetSender.html +1089 -0
- data/doc/TaskJuggler/Shift.html +689 -0
- data/doc/TaskJuggler/ShiftAssignment.html +950 -0
- data/doc/TaskJuggler/ShiftAssignments.html +1379 -0
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +707 -0
- data/doc/TaskJuggler/ShiftScenario.html +720 -0
- data/doc/TaskJuggler/SortListAttribute.html +631 -0
- data/doc/TaskJuggler/SourceFileInfo.html +698 -0
- data/doc/TaskJuggler/StatusSheetReceiver.html +615 -0
- data/doc/TaskJuggler/StatusSheetReport.html +872 -0
- data/doc/TaskJuggler/StatusSheetSender.html +654 -0
- data/doc/TaskJuggler/StringAttribute.html +671 -0
- data/doc/TaskJuggler/SymbolAttribute.html +629 -0
- data/doc/TaskJuggler/SyntaxReference.html +1155 -0
- data/doc/TaskJuggler/TOCEntry.html +723 -0
- data/doc/TaskJuggler/TSResourceRecord.html +670 -0
- data/doc/TaskJuggler/TSTaskRecord.html +682 -0
- data/doc/TaskJuggler/TableColumnDefinition.html +830 -0
- data/doc/TaskJuggler/TableOfContents.html +692 -0
- data/doc/TaskJuggler/TableReport.html +2444 -0
- data/doc/TaskJuggler/Task.html +781 -0
- data/doc/TaskJuggler/TaskDependency.html +730 -0
- data/doc/TaskJuggler/TaskListAttribute.html +713 -0
- data/doc/TaskJuggler/TaskListRE.html +673 -0
- data/doc/TaskJuggler/TaskScenario.html +4380 -0
- data/doc/TaskJuggler/TextFormatter.html +911 -0
- data/doc/TaskJuggler/TextParser/Pattern.html +1482 -0
- data/doc/TaskJuggler/TextParser/Rule.html +1288 -0
- data/doc/TaskJuggler/TextParser/StackElement.html +726 -0
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +648 -0
- data/doc/TaskJuggler/TextParser/TokenDoc.html +680 -0
- data/doc/TaskJuggler/TextParser.html +1670 -0
- data/doc/TaskJuggler/TextReport.html +856 -0
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +831 -0
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +832 -0
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +737 -0
- data/doc/TaskJuggler/TextScanner.html +2430 -0
- data/doc/TaskJuggler/TimeSheet.html +1233 -0
- data/doc/TaskJuggler/TimeSheetReceiver.html +612 -0
- data/doc/TaskJuggler/TimeSheetRecord.html +1352 -0
- data/doc/TaskJuggler/TimeSheetReport.html +948 -0
- data/doc/TaskJuggler/TimeSheetSender.html +637 -0
- data/doc/TaskJuggler/TimeSheetSummary.html +865 -0
- data/doc/TaskJuggler/TimeSheets.html +674 -0
- data/doc/TaskJuggler/Tj3AppBase.html +782 -0
- data/doc/TaskJuggler/Tj3Client.html +1455 -0
- data/doc/TaskJuggler/Tj3Daemon.html +767 -0
- data/doc/TaskJuggler/Tj3SheetAppBase.html +696 -0
- data/doc/TaskJuggler/Tj3SsReceiver.html +682 -0
- data/doc/TaskJuggler/Tj3SsSender.html +708 -0
- data/doc/TaskJuggler/Tj3TsReceiver.html +681 -0
- data/doc/TaskJuggler/Tj3TsSender.html +702 -0
- data/doc/TaskJuggler/Tj3TsSummary.html +710 -0
- data/doc/TaskJuggler/TjException.html +630 -0
- data/doc/TaskJuggler/TjTime.html +2590 -0
- data/doc/TaskJuggler/TjpExample.html +835 -0
- data/doc/TaskJuggler/TjpExportRE.html +1581 -0
- data/doc/TaskJuggler/TjpSyntaxRules.html +13004 -0
- data/doc/TaskJuggler/UserManual.html +1145 -0
- data/doc/TaskJuggler/WorkingHours.html +1101 -0
- data/doc/TaskJuggler/WorkingHoursAttribute.html +694 -0
- data/doc/TaskJuggler/XMLBlob.html +645 -0
- data/doc/TaskJuggler/XMLComment.html +640 -0
- data/doc/TaskJuggler/XMLDocument.html +732 -0
- data/doc/TaskJuggler/XMLElement.html +900 -0
- data/doc/TaskJuggler/XMLNamedText.html +601 -0
- data/doc/TaskJuggler/XMLText.html +655 -0
- data/doc/TaskJuggler.html +2243 -0
- data/doc/index.html +3778 -17
- data/doc/lib/AccountScenario_rb.html +67 -0
- data/doc/lib/Account_rb.html +69 -0
- data/doc/lib/Allocation_rb.html +69 -0
- data/doc/lib/AppConfig_rb.html +69 -0
- data/doc/lib/AttributeBase_rb.html +67 -0
- data/doc/lib/AttributeDefinition_rb.html +65 -0
- data/doc/lib/Attributes_rb.html +81 -0
- data/doc/lib/BatchProcessor_rb.html +69 -0
- data/doc/lib/Booking_rb.html +65 -0
- data/doc/lib/ChargeSet_rb.html +67 -0
- data/doc/lib/Charge_rb.html +67 -0
- data/doc/lib/HTMLDocument_rb.html +67 -0
- data/doc/lib/Interval_rb.html +67 -0
- data/doc/lib/Journal_rb.html +65 -0
- data/doc/lib/KeywordArray_rb.html +65 -0
- data/doc/lib/KeywordDocumentation_rb.html +75 -0
- data/doc/lib/Limits_rb.html +67 -0
- data/doc/lib/LogFile_rb.html +67 -0
- data/doc/lib/Log_rb.html +69 -0
- data/doc/lib/LogicalExpression_rb.html +71 -0
- data/doc/lib/LogicalFunction_rb.html +67 -0
- data/doc/lib/LogicalOperation_rb.html +67 -0
- data/doc/lib/MacroParser_rb.html +69 -0
- data/doc/lib/MacroTable_rb.html +73 -0
- data/doc/lib/MessageHandler_rb.html +65 -0
- data/doc/lib/Message_rb.html +67 -0
- data/doc/lib/ProjectFileParser_rb.html +79 -0
- data/doc/lib/Project_rb.html +109 -0
- data/doc/lib/PropertyList_rb.html +65 -0
- data/doc/lib/PropertySet_rb.html +69 -0
- data/doc/lib/PropertyTreeNode_rb.html +65 -0
- data/doc/lib/Query_rb.html +67 -0
- data/doc/lib/RTFNavigator_rb.html +71 -0
- data/doc/lib/RTFQuery_rb.html +71 -0
- data/doc/lib/RTFReport_rb.html +69 -0
- data/doc/lib/RealFormat_rb.html +65 -0
- data/doc/lib/ResourceScenario_rb.html +67 -0
- data/doc/lib/Resource_rb.html +69 -0
- data/doc/lib/RichTextDocument_rb.html +71 -0
- data/doc/lib/RichTextElement_rb.html +73 -0
- data/doc/lib/RichTextFunctionExample_rb.html +71 -0
- data/doc/lib/RichTextFunctionHandler_rb.html +65 -0
- data/doc/lib/RichTextParser_rb.html +71 -0
- data/doc/lib/RichTextScanner_rb.html +67 -0
- data/doc/lib/RichTextSnip_rb.html +69 -0
- data/doc/lib/RichTextSyntaxRules_rb.html +65 -0
- data/doc/lib/RichText_rb.html +69 -0
- data/doc/lib/RuntimeConfig_rb.html +67 -0
- data/doc/lib/ScenarioData_rb.html +69 -0
- data/doc/lib/Scenario_rb.html +67 -0
- data/doc/lib/Scoreboard_rb.html +65 -0
- data/doc/lib/SheetHandlerBase_rb.html +69 -0
- data/doc/lib/SheetReceiver_rb.html +75 -0
- data/doc/lib/SheetSender_rb.html +73 -0
- data/doc/lib/ShiftAssignments_rb.html +67 -0
- data/doc/lib/ShiftScenario_rb.html +67 -0
- data/doc/lib/Shift_rb.html +69 -0
- data/doc/lib/SourceFileInfo_rb.html +65 -0
- data/doc/lib/StatusSheetReceiver_rb.html +67 -0
- data/doc/lib/StatusSheetSender_rb.html +67 -0
- data/doc/lib/SyntaxReference_rb.html +73 -0
- data/doc/lib/TOCEntry_rb.html +69 -0
- data/doc/lib/TableColumnDefinition_rb.html +65 -0
- data/doc/lib/TableOfContents_rb.html +69 -0
- data/doc/lib/TaskDependency_rb.html +65 -0
- data/doc/lib/TaskJuggler_rb.html +73 -0
- data/doc/lib/TaskScenario_rb.html +67 -0
- data/doc/lib/Task_rb.html +69 -0
- data/doc/lib/TextFormatter_rb.html +67 -0
- data/doc/lib/TextParser/Pattern_rb.html +67 -0
- data/doc/lib/TextParser/Rule_rb.html +65 -0
- data/doc/lib/TextParser/StackElement_rb.html +65 -0
- data/doc/lib/TextParser/TokenDoc_rb.html +65 -0
- data/doc/lib/TextParser_rb.html +75 -0
- data/doc/lib/TextScanner_rb.html +79 -0
- data/doc/lib/TimeSheetReceiver_rb.html +67 -0
- data/doc/lib/TimeSheetSender_rb.html +67 -0
- data/doc/lib/TimeSheetSummary_rb.html +67 -0
- data/doc/lib/TimeSheets_rb.html +65 -0
- data/doc/lib/Tj3AppBase_rb.html +77 -0
- data/doc/lib/Tj3Config_rb.html +69 -0
- data/doc/lib/Tj3SheetAppBase_rb.html +67 -0
- data/doc/lib/TjException_rb.html +65 -0
- data/doc/lib/TjTime_rb.html +69 -0
- data/doc/lib/TjpExample_rb.html +67 -0
- data/doc/lib/TjpSyntaxRules_rb.html +65 -0
- data/doc/lib/UTF8String_rb.html +65 -0
- data/doc/lib/UserManual_rb.html +77 -0
- data/doc/lib/WorkingHours_rb.html +67 -0
- data/doc/lib/XMLDocument_rb.html +67 -0
- data/doc/lib/XMLElement_rb.html +67 -0
- data/doc/lib/daemon/Daemon_rb.html +67 -0
- data/doc/lib/daemon/ProcessIntercom_rb.html +67 -0
- data/doc/lib/daemon/ProjectBroker_rb.html +79 -0
- data/doc/lib/daemon/ProjectServer_rb.html +83 -0
- data/doc/lib/daemon/ReportServer_rb.html +73 -0
- data/doc/lib/deep_copy_rb.html +65 -0
- data/doc/lib/reports/CSVFile_rb.html +67 -0
- data/doc/lib/reports/ColumnTable_rb.html +67 -0
- data/doc/lib/reports/GanttChart_rb.html +73 -0
- data/doc/lib/reports/GanttContainer_rb.html +67 -0
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +65 -0
- data/doc/lib/reports/GanttHeader_rb.html +67 -0
- data/doc/lib/reports/GanttLine_rb.html +77 -0
- data/doc/lib/reports/GanttLoadStack_rb.html +67 -0
- data/doc/lib/reports/GanttMilestone_rb.html +67 -0
- data/doc/lib/reports/GanttRouter_rb.html +65 -0
- data/doc/lib/reports/GanttTaskBar_rb.html +67 -0
- data/doc/lib/reports/HTMLGraphics_rb.html +65 -0
- data/doc/lib/reports/Navigator_rb.html +67 -0
- data/doc/lib/reports/NikuReport_rb.html +69 -0
- data/doc/lib/reports/ReportBase_rb.html +65 -0
- data/doc/lib/reports/ReportContext_rb.html +65 -0
- data/doc/lib/reports/ReportTableCell_rb.html +65 -0
- data/doc/lib/reports/ReportTableColumn_rb.html +65 -0
- data/doc/lib/reports/ReportTableLegend_rb.html +65 -0
- data/doc/lib/reports/ReportTableLine_rb.html +67 -0
- data/doc/lib/reports/ReportTable_rb.html +69 -0
- data/doc/lib/reports/Report_rb.html +91 -0
- data/doc/lib/reports/ResourceListRE_rb.html +73 -0
- data/doc/lib/reports/StatusSheetReport_rb.html +67 -0
- data/doc/lib/reports/TableReport_rb.html +75 -0
- data/doc/lib/reports/TaskListRE_rb.html +73 -0
- data/doc/lib/reports/TextReport_rb.html +67 -0
- data/doc/lib/reports/TimeSheetReport_rb.html +67 -0
- data/doc/lib/reports/TjpExportRE_rb.html +67 -0
- data/doc/lib/ruby-signal-bug_rb.html +54 -0
- data/doc/lib/taskjuggler3_rb.html +73 -0
- data/doc/lib/tj3client_rb.html +73 -0
- data/doc/lib/tj3d_rb.html +73 -0
- data/doc/lib/tj3man_rb.html +73 -0
- data/doc/lib/tj3ss_receiver_rb.html +69 -0
- data/doc/lib/tj3ss_sender_rb.html +69 -0
- data/doc/lib/tj3ts_receiver_rb.html +69 -0
- data/doc/lib/tj3ts_sender_rb.html +69 -0
- data/doc/lib/tj3ts_summary_rb.html +69 -0
- data/doc/rdoc.css +701 -0
- data/examples/tutorial.tjp +25 -6
- data/lib/Attributes.rb +6 -2
- data/lib/HTMLDocument.rb +18 -2
- data/lib/Journal.rb +47 -4
- data/lib/KeywordArray.rb +1 -1
- data/lib/KeywordDocumentation.rb +17 -77
- data/lib/Log.rb +3 -1
- data/lib/LogFile.rb +72 -0
- data/lib/LogicalExpression.rb +5 -10
- data/lib/LogicalFunction.rb +34 -18
- data/lib/LogicalOperation.rb +32 -18
- data/lib/Project.rb +85 -13
- data/lib/ProjectFileParser.rb +19 -6
- data/lib/PropertyList.rb +12 -2
- data/lib/PropertyTreeNode.rb +23 -9
- data/lib/Query.rb +51 -13
- data/lib/RTFReport.rb +2 -2
- data/lib/Resource.rb +157 -0
- data/lib/ResourceScenario.rb +215 -68
- data/lib/RichText.rb +15 -3
- data/lib/RichTextDocument.rb +2 -4
- data/lib/RichTextElement.rb +87 -25
- data/lib/RichTextScanner.rb +32 -5
- data/lib/RichTextSnip.rb +6 -4
- data/lib/RichTextSyntaxRules.rb +44 -8
- data/lib/RuntimeConfig.rb +93 -0
- data/lib/Scoreboard.rb +6 -6
- data/lib/SheetHandlerBase.rb +215 -0
- data/lib/SheetReceiver.rb +355 -0
- data/lib/SheetSender.rb +264 -0
- data/lib/ShiftAssignments.rb +35 -27
- data/lib/StatusSheetReceiver.rb +45 -0
- data/lib/StatusSheetSender.rb +54 -0
- data/lib/SyntaxReference.rb +2 -7
- data/lib/Task.rb +70 -0
- data/lib/TaskJuggler.rb +114 -12
- data/lib/TaskScenario.rb +131 -22
- data/lib/TextFormatter.rb +177 -0
- data/lib/TextParser.rb +10 -1
- data/lib/TextScanner.rb +63 -33
- data/lib/TimeSheetReceiver.rb +42 -0
- data/lib/TimeSheetSender.rb +55 -0
- data/lib/TimeSheetSummary.rb +149 -0
- data/lib/TimeSheets.rb +406 -0
- data/lib/Tj3AppBase.rb +114 -0
- data/lib/Tj3Config.rb +1 -1
- data/lib/Tj3SheetAppBase.rb +59 -0
- data/lib/TjTime.rb +14 -1
- data/lib/TjpSyntaxRules.rb +573 -211
- data/lib/UTF8String.rb +4 -0
- data/lib/UserManual.rb +8 -7
- data/lib/XMLElement.rb +27 -19
- data/lib/daemon/Daemon.rb +70 -0
- data/lib/daemon/ProcessIntercom.rb +117 -0
- data/lib/daemon/ProjectBroker.rb +450 -0
- data/lib/daemon/ProjectServer.rb +348 -0
- data/lib/daemon/ReportServer.rb +194 -0
- data/lib/reports/ColumnTable.rb +2 -0
- data/lib/reports/GanttChart.rb +5 -7
- data/lib/reports/GanttContainer.rb +5 -8
- data/lib/reports/GanttHeader.rb +1 -1
- data/lib/reports/GanttLine.rb +89 -53
- data/lib/reports/GanttMilestone.rb +7 -4
- data/lib/reports/GanttTaskBar.rb +7 -3
- data/lib/reports/HTMLGraphics.rb +24 -9
- data/lib/reports/NikuReport.rb +414 -0
- data/lib/reports/Report.rb +54 -20
- data/lib/reports/ReportBase.rb +21 -0
- data/lib/reports/ReportTable.rb +29 -11
- data/lib/reports/ReportTableCell.rb +154 -86
- data/lib/reports/ReportTableLegend.rb +77 -80
- data/lib/reports/ResourceListRE.rb +2 -3
- data/lib/reports/StatusSheetReport.rb +231 -0
- data/lib/reports/TableReport.rb +74 -65
- data/lib/reports/TaskListRE.rb +2 -4
- data/lib/reports/TextReport.rb +18 -12
- data/lib/reports/TimeSheetReport.rb +145 -80
- data/lib/reports/TjpExportRE.rb +4 -4
- data/lib/ruby-signal-bug.rb +43 -0
- data/lib/taskjuggler3.rb +27 -10
- data/lib/tj3client.rb +411 -77
- data/lib/tj3d.rb +110 -0
- data/lib/tj3ss_receiver.rb +56 -0
- data/lib/tj3ss_sender.rb +84 -0
- data/lib/tj3ts_receiver.rb +59 -0
- data/lib/tj3ts_sender.rb +78 -0
- data/lib/tj3ts_summary.rb +87 -0
- data/manual/Day_To_Day_Juggling +761 -32
- data/manual/Getting_Started +12 -12
- data/manual/Rich_Text_Attributes +13 -1
- data/manual/TaskJuggler_2x_Migration +41 -3
- data/manual/TaskJuggler_Internals +87 -0
- data/manual/The_TaskJuggler_Syntax +1 -2
- data/manual/Tutorial +10 -10
- data/test/TestSuite/CSV-Reports/celltext.tjp +1 -1
- data/test/TestSuite/HTML-Reports/TimeSheet.html +79 -0
- data/test/TestSuite/HTML-Reports/icons/trend-down.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/trend-flat.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/trend-up.png +0 -0
- data/test/TestSuite/HTML-Reports/reference.html +51 -0
- data/test/TestSuite/Scheduler/Correct/Booking2.html +603 -0
- data/test/TestSuite/Scheduler/Correct/Booking2.tjp +57 -0
- data/test/TestSuite/Scheduler/Correct/Duration.tjp +32 -18
- data/test/TestSuite/Scheduler/Correct/Manager.tjp +9 -0
- data/test/TestSuite/Scheduler/Correct/Shift.html +429 -0
- data/test/TestSuite/Scheduler/Correct/Shift2.html +162 -0
- data/test/TestSuite/Scheduler/Correct/Shift2.tjp +67 -0
- data/test/TestSuite/{Syntax/Correct/TimeSheet.tjp → Scheduler/Correct/TimeSheet2.tjp} +21 -8
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +52 -0
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +195 -0
- data/test/TestSuite/{Syntax → 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/{Syntax → Scheduler}/Correct/icons/resource.png +0 -0
- data/test/TestSuite/{Syntax → Scheduler}/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/{Syntax → Scheduler}/Correct/icons/task.png +0 -0
- data/test/TestSuite/{Syntax → 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/{HTML-Reports/scripts → Scheduler/Correct}/scripts/wz_tooltip.js +0 -0
- data/test/TestSuite/Scheduler/Errors/manager_is_group.tjp +15 -0
- data/test/TestSuite/Scheduler/Errors/manager_is_self.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/resource_fail_check.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/resource_warn_check.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/task_fail_check.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/task_warn_check.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/ts_alert1_more_details.tjp +20 -0
- data/test/TestSuite/Scheduler/Errors/ts_alert2_more_details.tjp +21 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_expected_end.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_headline1.tjp +27 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_rem_or_end.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_remaining.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_status_work.tjp +18 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_work.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_res_new_task.tjp +20 -0
- data/test/TestSuite/Scheduler/Errors/ts_work_too_high.tjp +27 -0
- data/test/TestSuite/Scheduler/Errors/ts_work_too_low.tjp +27 -0
- data/test/TestSuite/StatusSheets/boss.tji +45 -0
- data/test/TestSuite/StatusSheets/boss_mail +51 -0
- data/test/TestSuite/StatusSheets/dev2_mail +37 -0
- data/test/TestSuite/StatusSheets/project.tjp +275 -0
- data/test/TestSuite/StatusSheets/run +50 -0
- data/test/TestSuite/Syntax/Correct/Include.tjp +4 -0
- data/test/TestSuite/Syntax/Correct/Limits-1.tjp +10 -1
- data/test/TestSuite/Syntax/Correct/Manager.tjp +30 -0
- data/test/TestSuite/Syntax/Correct/Niku.tjp +66 -0
- data/test/TestSuite/Syntax/Correct/TimeSheet1.tjp +83 -0
- data/test/TestSuite/Syntax/Correct/include/dir1/file2.tji +1 -0
- data/test/TestSuite/Syntax/Correct/include/dir2/file3.tji +2 -0
- data/test/TestSuite/Syntax/Correct/include/file1.tji +3 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +29 -8
- data/test/TestSuite/Syntax/Errors/ts_bad_priority.tjp +19 -0
- data/test/TestSuite/Syntax/Errors/ts_default_details.tjp +22 -0
- data/test/TestSuite/Syntax/Errors/ts_default_summary.tjp +22 -0
- data/test/TestSuite/Syntax/Errors/ts_duplicate_task.tjp +23 -0
- data/test/TestSuite/Syntax/Errors/ts_end_too_early.tjp +18 -0
- data/test/TestSuite/Syntax/Errors/ts_headline_too_long.tjp +19 -0
- data/test/TestSuite/Syntax/Errors/ts_no_headline2.tjp +27 -0
- data/test/TestSuite/Syntax/Errors/ts_summary_too_long.tjp +29 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/boss_2002-03-01.tji +36 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev1_2002-03-01.tji +48 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev2_2002-03-01.tji +67 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev3_2002-03-01.tji +67 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/doc_2002-03-01.tji +48 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/resources.yml +31 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/test_2002-03-01.tji +36 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/acceptable_intervals +1 -0
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/all.tji +1 -0
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/dev2_2002-03-01.tji +54 -0
- data/test/TestSuite/TimeSheets/TimeSheets/all.tji +2 -0
- data/test/TestSuite/TimeSheets/dev2_mail1 +84 -0
- data/test/TestSuite/TimeSheets/dev2_mail2 +87 -0
- data/test/TestSuite/TimeSheets/project.tjp +271 -0
- data/test/TestSuite/TimeSheets/receiver.log +102 -0
- data/test/TestSuite/TimeSheets/run +75 -0
- data/test/TestSuite/TimeSheets/sender.log +794 -0
- data/test/TestSuite/TimeSheets/summary.log +884 -0
- data/test/TestSuite/TimeSheets/timesheets.log +45 -0
- data/test/TestSuite/TimeSheets/tj3d.log +292 -0
- data/test/test_CSV-Reports.rb +5 -3
- data/test/test_RichText.rb +264 -56
- data/test/test_Scheduler.rb +1 -0
- data/test/test_TextFormatter.rb +142 -0
- data/test/test_TjTime.rb +15 -0
- metadata +816 -644
- data/benchmarks/UTF-8-Strings.rb +0 -58
- data/doc/classes/AppConfig.html +0 -880
- data/doc/classes/Arguments.html +0 -230
- data/doc/classes/Object.html +0 -229
- data/doc/classes/String.html +0 -399
- data/doc/classes/TaskJuggler/Account.html +0 -257
- data/doc/classes/TaskJuggler/AccountAttribute.html +0 -261
- data/doc/classes/TaskJuggler/AccountScenario.html +0 -218
- data/doc/classes/TaskJuggler/Allocation.html +0 -423
- data/doc/classes/TaskJuggler/AllocationAttribute.html +0 -291
- data/doc/classes/TaskJuggler/AttributeBase.html +0 -704
- data/doc/classes/TaskJuggler/AttributeDefinition.html +0 -276
- data/doc/classes/TaskJuggler/BatchProcessor.html +0 -347
- data/doc/classes/TaskJuggler/Booking.html +0 -311
- data/doc/classes/TaskJuggler/BookingListAttribute.html +0 -263
- data/doc/classes/TaskJuggler/BooleanAttribute.html +0 -261
- data/doc/classes/TaskJuggler/CSVFile.html +0 -329
- data/doc/classes/TaskJuggler/CellSettingPattern.html +0 -201
- data/doc/classes/TaskJuggler/CellSettingPatternList.html +0 -253
- data/doc/classes/TaskJuggler/Charge.html +0 -283
- data/doc/classes/TaskJuggler/ChargeListAttribute.html +0 -229
- data/doc/classes/TaskJuggler/ChargeSet.html +0 -444
- data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +0 -276
- data/doc/classes/TaskJuggler/ColumnListAttribute.html +0 -231
- data/doc/classes/TaskJuggler/ColumnTable.html +0 -262
- data/doc/classes/TaskJuggler/DateAttribute.html +0 -233
- data/doc/classes/TaskJuggler/DefinitionListAttribute.html +0 -162
- data/doc/classes/TaskJuggler/DependencyListAttribute.html +0 -267
- data/doc/classes/TaskJuggler/DurationAttribute.html +0 -229
- data/doc/classes/TaskJuggler/FixnumAttribute.html +0 -194
- data/doc/classes/TaskJuggler/FlagListAttribute.html +0 -263
- data/doc/classes/TaskJuggler/FloatAttribute.html +0 -229
- data/doc/classes/TaskJuggler/FormatListAttribute.html +0 -197
- data/doc/classes/TaskJuggler/GanttChart.html +0 -696
- data/doc/classes/TaskJuggler/GanttContainer.html +0 -445
- data/doc/classes/TaskJuggler/GanttHeader.html +0 -284
- data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +0 -249
- data/doc/classes/TaskJuggler/GanttLine.html +0 -402
- data/doc/classes/TaskJuggler/GanttLoadStack.html +0 -331
- data/doc/classes/TaskJuggler/GanttMilestone.html +0 -419
- data/doc/classes/TaskJuggler/GanttRouter.html +0 -431
- data/doc/classes/TaskJuggler/GanttTaskBar.html +0 -433
- data/doc/classes/TaskJuggler/HTMLDocument.html +0 -240
- data/doc/classes/TaskJuggler/HTMLGraphics.html +0 -231
- data/doc/classes/TaskJuggler/Interval.html +0 -558
- data/doc/classes/TaskJuggler/IntervalListAttribute.html +0 -267
- data/doc/classes/TaskJuggler/JobInfo.html +0 -340
- data/doc/classes/TaskJuggler/Journal.html +0 -443
- data/doc/classes/TaskJuggler/JournalEntry.html +0 -274
- data/doc/classes/TaskJuggler/JournalEntryList.html +0 -454
- data/doc/classes/TaskJuggler/KeywordArray.html +0 -179
- data/doc/classes/TaskJuggler/KeywordDocumentation.html +0 -846
- data/doc/classes/TaskJuggler/Limits/Limit.html +0 -385
- data/doc/classes/TaskJuggler/Limits.html +0 -422
- data/doc/classes/TaskJuggler/LimitsAttribute.html +0 -261
- data/doc/classes/TaskJuggler/ListAttributeBase.html +0 -207
- data/doc/classes/TaskJuggler/Log.html +0 -655
- data/doc/classes/TaskJuggler/LogicalAttribute.html +0 -259
- data/doc/classes/TaskJuggler/LogicalExpression.html +0 -292
- data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +0 -194
- data/doc/classes/TaskJuggler/LogicalFlag.html +0 -209
- data/doc/classes/TaskJuggler/LogicalFunction.html +0 -339
- data/doc/classes/TaskJuggler/LogicalOperation.html +0 -351
- data/doc/classes/TaskJuggler/Macro.html +0 -198
- data/doc/classes/TaskJuggler/MacroParser.html +0 -360
- data/doc/classes/TaskJuggler/MacroTable.html +0 -370
- data/doc/classes/TaskJuggler/Message.html +0 -285
- data/doc/classes/TaskJuggler/MessageHandler.html +0 -231
- data/doc/classes/TaskJuggler/Navigator.html +0 -313
- data/doc/classes/TaskJuggler/NavigatorElement.html +0 -449
- data/doc/classes/TaskJuggler/OnShiftCache.html +0 -316
- data/doc/classes/TaskJuggler/Project.html +0 -2257
- data/doc/classes/TaskJuggler/ProjectFileParser.html +0 -420
- data/doc/classes/TaskJuggler/PropertyAttribute.html +0 -194
- data/doc/classes/TaskJuggler/PropertyList.html +0 -668
- data/doc/classes/TaskJuggler/PropertySet.html +0 -1286
- data/doc/classes/TaskJuggler/PropertyTreeNode.html +0 -1742
- data/doc/classes/TaskJuggler/Query.html +0 -870
- data/doc/classes/TaskJuggler/RTFNavigator.html +0 -293
- data/doc/classes/TaskJuggler/RTFQuery.html +0 -343
- data/doc/classes/TaskJuggler/RTFReport.html +0 -304
- data/doc/classes/TaskJuggler/RealFormat.html +0 -309
- data/doc/classes/TaskJuggler/RealFormatAttribute.html +0 -162
- data/doc/classes/TaskJuggler/ReferenceAttribute.html +0 -328
- data/doc/classes/TaskJuggler/RemoteServiceManager.html +0 -335
- data/doc/classes/TaskJuggler/Report.html +0 -321
- data/doc/classes/TaskJuggler/ReportBase.html +0 -437
- data/doc/classes/TaskJuggler/ReportContext.html +0 -248
- data/doc/classes/TaskJuggler/ReportServer.html +0 -320
- data/doc/classes/TaskJuggler/ReportTable.html +0 -526
- data/doc/classes/TaskJuggler/ReportTableCell.html +0 -614
- data/doc/classes/TaskJuggler/ReportTableColumn.html +0 -368
- data/doc/classes/TaskJuggler/ReportTableLegend.html +0 -347
- data/doc/classes/TaskJuggler/ReportTableLine.html +0 -481
- data/doc/classes/TaskJuggler/Resource.html +0 -211
- data/doc/classes/TaskJuggler/ResourceListAttribute.html +0 -302
- data/doc/classes/TaskJuggler/ResourceListRE.html +0 -245
- data/doc/classes/TaskJuggler/ResourceScenario.html +0 -1229
- data/doc/classes/TaskJuggler/RichText.html +0 -357
- data/doc/classes/TaskJuggler/RichTextAttribute.html +0 -293
- data/doc/classes/TaskJuggler/RichTextDocument.html +0 -424
- data/doc/classes/TaskJuggler/RichTextElement.html +0 -932
- data/doc/classes/TaskJuggler/RichTextException.html +0 -212
- data/doc/classes/TaskJuggler/RichTextFunctionExample.html +0 -301
- data/doc/classes/TaskJuggler/RichTextFunctionHandler.html +0 -245
- data/doc/classes/TaskJuggler/RichTextIntermediate.html +0 -563
- data/doc/classes/TaskJuggler/RichTextParser.html +0 -321
- data/doc/classes/TaskJuggler/RichTextScanner.html +0 -424
- data/doc/classes/TaskJuggler/RichTextSnip.html +0 -404
- data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +0 -1105
- data/doc/classes/TaskJuggler/Scenario.html +0 -163
- data/doc/classes/TaskJuggler/ScenarioData.html +0 -358
- data/doc/classes/TaskJuggler/ScenarioListAttribute.html +0 -229
- data/doc/classes/TaskJuggler/Scoreboard.html +0 -642
- data/doc/classes/TaskJuggler/Shift.html +0 -255
- data/doc/classes/TaskJuggler/ShiftAssignment.html +0 -492
- data/doc/classes/TaskJuggler/ShiftAssignments.html +0 -719
- data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +0 -261
- data/doc/classes/TaskJuggler/ShiftScenario.html +0 -282
- data/doc/classes/TaskJuggler/SortListAttribute.html +0 -196
- data/doc/classes/TaskJuggler/SourceFileInfo.html +0 -251
- data/doc/classes/TaskJuggler/StringAttribute.html +0 -229
- data/doc/classes/TaskJuggler/SymbolAttribute.html +0 -194
- data/doc/classes/TaskJuggler/SyntaxReference.html +0 -520
- data/doc/classes/TaskJuggler/TOCEntry.html +0 -246
- data/doc/classes/TaskJuggler/TSResourceRecord.html +0 -197
- data/doc/classes/TaskJuggler/TSTaskRecord.html +0 -215
- data/doc/classes/TaskJuggler/TableColumnDefinition.html +0 -309
- data/doc/classes/TaskJuggler/TableOfContents.html +0 -260
- data/doc/classes/TaskJuggler/TableReport.html +0 -1015
- data/doc/classes/TaskJuggler/Task.html +0 -203
- data/doc/classes/TaskJuggler/TaskDependency.html +0 -255
- data/doc/classes/TaskJuggler/TaskListAttribute.html +0 -267
- data/doc/classes/TaskJuggler/TaskListRE.html +0 -245
- data/doc/classes/TaskJuggler/TaskScenario.html +0 -2543
- data/doc/classes/TaskJuggler/TextParser/Pattern.html +0 -927
- data/doc/classes/TaskJuggler/TextParser/Rule.html +0 -783
- data/doc/classes/TaskJuggler/TextParser/StackElement.html +0 -272
- data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +0 -212
- data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +0 -225
- data/doc/classes/TaskJuggler/TextParser.html +0 -754
- data/doc/classes/TaskJuggler/TextReport.html +0 -367
- data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +0 -355
- data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +0 -348
- data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +0 -264
- data/doc/classes/TaskJuggler/TextScanner.html +0 -815
- data/doc/classes/TaskJuggler/TimeSheetReport.html +0 -406
- data/doc/classes/TaskJuggler/TjException.html +0 -185
- data/doc/classes/TaskJuggler/TjTime.html +0 -1904
- data/doc/classes/TaskJuggler/TjpExample.html +0 -314
- data/doc/classes/TaskJuggler/TjpExportRE.html +0 -306
- data/doc/classes/TaskJuggler/TjpSyntaxRules.html +0 -10812
- data/doc/classes/TaskJuggler/UserManual.html +0 -605
- data/doc/classes/TaskJuggler/WorkingHours.html +0 -586
- data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +0 -252
- data/doc/classes/TaskJuggler/XMLBlob.html +0 -207
- data/doc/classes/TaskJuggler/XMLComment.html +0 -206
- data/doc/classes/TaskJuggler/XMLDocument.html +0 -298
- data/doc/classes/TaskJuggler/XMLElement.html +0 -389
- data/doc/classes/TaskJuggler/XMLNamedText.html +0 -174
- data/doc/classes/TaskJuggler/XMLText.html +0 -221
- data/doc/classes/TaskJuggler.html +0 -1573
- data/doc/files/COPYING.html +0 -448
- data/doc/files/README.html +0 -134
- data/doc/files/lib/AccountScenario_rb.html +0 -117
- data/doc/files/lib/Account_rb.html +0 -119
- data/doc/files/lib/Allocation_rb.html +0 -119
- data/doc/files/lib/AppConfig_rb.html +0 -119
- data/doc/files/lib/AttributeBase_rb.html +0 -117
- data/doc/files/lib/AttributeDefinition_rb.html +0 -107
- data/doc/files/lib/Attributes_rb.html +0 -131
- data/doc/files/lib/BatchProcessor_rb.html +0 -119
- data/doc/files/lib/Booking_rb.html +0 -107
- data/doc/files/lib/ChargeSet_rb.html +0 -117
- data/doc/files/lib/Charge_rb.html +0 -117
- data/doc/files/lib/HTMLDocument_rb.html +0 -117
- data/doc/files/lib/Interval_rb.html +0 -117
- data/doc/files/lib/Journal_rb.html +0 -107
- data/doc/files/lib/KeywordArray_rb.html +0 -107
- data/doc/files/lib/KeywordDocumentation_rb.html +0 -123
- data/doc/files/lib/Limits_rb.html +0 -117
- data/doc/files/lib/Log_rb.html +0 -117
- data/doc/files/lib/LogicalExpression_rb.html +0 -121
- data/doc/files/lib/LogicalFunction_rb.html +0 -117
- data/doc/files/lib/LogicalOperation_rb.html +0 -117
- data/doc/files/lib/MacroParser_rb.html +0 -119
- data/doc/files/lib/MacroTable_rb.html +0 -123
- data/doc/files/lib/MessageHandler_rb.html +0 -107
- data/doc/files/lib/Message_rb.html +0 -117
- data/doc/files/lib/ProjectFileParser_rb.html +0 -129
- data/doc/files/lib/Project_rb.html +0 -153
- data/doc/files/lib/PropertyList_rb.html +0 -107
- data/doc/files/lib/PropertySet_rb.html +0 -119
- data/doc/files/lib/PropertyTreeNode_rb.html +0 -107
- data/doc/files/lib/Query_rb.html +0 -117
- data/doc/files/lib/RTFNavigator_rb.html +0 -121
- data/doc/files/lib/RTFQuery_rb.html +0 -121
- data/doc/files/lib/RTFReport_rb.html +0 -119
- data/doc/files/lib/RealFormat_rb.html +0 -107
- data/doc/files/lib/RemoteServiceManager_rb.html +0 -117
- data/doc/files/lib/ReportServer_rb.html +0 -107
- data/doc/files/lib/ResourceScenario_rb.html +0 -117
- data/doc/files/lib/Resource_rb.html +0 -119
- data/doc/files/lib/RichTextDocument_rb.html +0 -121
- data/doc/files/lib/RichTextElement_rb.html +0 -121
- data/doc/files/lib/RichTextFunctionExample_rb.html +0 -121
- data/doc/files/lib/RichTextFunctionHandler_rb.html +0 -107
- data/doc/files/lib/RichTextParser_rb.html +0 -121
- data/doc/files/lib/RichTextScanner_rb.html +0 -117
- data/doc/files/lib/RichTextSnip_rb.html +0 -119
- data/doc/files/lib/RichTextSyntaxRules_rb.html +0 -107
- data/doc/files/lib/RichText_rb.html +0 -119
- data/doc/files/lib/ScenarioData_rb.html +0 -119
- data/doc/files/lib/Scenario_rb.html +0 -117
- data/doc/files/lib/Scoreboard_rb.html +0 -107
- data/doc/files/lib/ShiftAssignments_rb.html +0 -117
- data/doc/files/lib/ShiftScenario_rb.html +0 -117
- data/doc/files/lib/Shift_rb.html +0 -119
- data/doc/files/lib/SourceFileInfo_rb.html +0 -107
- data/doc/files/lib/SyntaxReference_rb.html +0 -123
- data/doc/files/lib/TOCEntry_rb.html +0 -119
- data/doc/files/lib/TableColumnDefinition_rb.html +0 -107
- data/doc/files/lib/TableOfContents_rb.html +0 -119
- data/doc/files/lib/TaskDependency_rb.html +0 -107
- data/doc/files/lib/TaskJuggler_rb.html +0 -125
- data/doc/files/lib/TaskScenario_rb.html +0 -117
- data/doc/files/lib/Task_rb.html +0 -119
- data/doc/files/lib/TextParser/Pattern_rb.html +0 -117
- data/doc/files/lib/TextParser/Rule_rb.html +0 -107
- data/doc/files/lib/TextParser/StackElement_rb.html +0 -107
- data/doc/files/lib/TextParser/TokenDoc_rb.html +0 -107
- data/doc/files/lib/TextParser_rb.html +0 -125
- data/doc/files/lib/TextScanner_rb.html +0 -129
- data/doc/files/lib/Tj3Config_rb.html +0 -119
- data/doc/files/lib/TjException_rb.html +0 -107
- data/doc/files/lib/TjTime_rb.html +0 -119
- data/doc/files/lib/TjpExample_rb.html +0 -117
- data/doc/files/lib/TjpSyntaxRules_rb.html +0 -107
- data/doc/files/lib/UTF8String_rb.html +0 -140
- data/doc/files/lib/UserManual_rb.html +0 -127
- data/doc/files/lib/WorkingHours_rb.html +0 -117
- data/doc/files/lib/XMLDocument_rb.html +0 -117
- data/doc/files/lib/XMLElement_rb.html +0 -117
- data/doc/files/lib/deep_copy_rb.html +0 -107
- data/doc/files/lib/reports/CSVFile_rb.html +0 -117
- data/doc/files/lib/reports/ColumnTable_rb.html +0 -117
- data/doc/files/lib/reports/GanttChart_rb.html +0 -123
- data/doc/files/lib/reports/GanttContainer_rb.html +0 -117
- data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +0 -107
- data/doc/files/lib/reports/GanttHeader_rb.html +0 -117
- data/doc/files/lib/reports/GanttLine_rb.html +0 -127
- data/doc/files/lib/reports/GanttLoadStack_rb.html +0 -117
- data/doc/files/lib/reports/GanttMilestone_rb.html +0 -117
- data/doc/files/lib/reports/GanttRouter_rb.html +0 -107
- data/doc/files/lib/reports/GanttTaskBar_rb.html +0 -117
- data/doc/files/lib/reports/HTMLGraphics_rb.html +0 -107
- data/doc/files/lib/reports/Navigator_rb.html +0 -117
- data/doc/files/lib/reports/ReportBase_rb.html +0 -107
- data/doc/files/lib/reports/ReportContext_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableCell_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableColumn_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableLegend_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableLine_rb.html +0 -117
- data/doc/files/lib/reports/ReportTable_rb.html +0 -119
- data/doc/files/lib/reports/Report_rb.html +0 -137
- data/doc/files/lib/reports/ResourceListRE_rb.html +0 -123
- data/doc/files/lib/reports/TableReport_rb.html +0 -125
- data/doc/files/lib/reports/TaskListRE_rb.html +0 -123
- data/doc/files/lib/reports/TextReport_rb.html +0 -117
- data/doc/files/lib/reports/TimeSheetReport_rb.html +0 -117
- data/doc/files/lib/reports/TjpExportRE_rb.html +0 -117
- data/doc/files/lib/taskjuggler3_rb.html +0 -298
- data/doc/files/lib/tj3client_rb.html +0 -280
- data/doc/files/lib/tj3man_rb.html +0 -190
- data/doc/fr_class_index.html +0 -345
- data/doc/fr_file_index.html +0 -247
- data/doc/fr_method_index.html +0 -2355
- data/doc/rdoc-style.css +0 -299
- data/lib/RemoteServiceManager.rb +0 -80
- data/lib/ReportServer.rb +0 -66
- data/test/TestSuite/HTML-Reports/Alerts.html +0 -172
- data/test/TestSuite/HTML-Reports/CellText.html +0 -758
- data/test/TestSuite/HTML-Reports/ColumnPeriods.html +0 -156
- data/test/TestSuite/HTML-Reports/IsOngoing.html +0 -172
- data/test/TestSuite/HTML-Reports/LogicalFunctions.html +0 -80
- data/test/TestSuite/HTML-Reports/Query.html +0 -31
- data/test/TestSuite/HTML-Reports/depArrows.html +0 -842
- data/test/TestSuite/Syntax/Correct/RawHTML.tjp +0 -31
- 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/scripts/wz_tooltip.js +0 -1301
- data/test/TestSuite/Syntax/Errors/export_bad_extn.tjp +0 -9
data/doc/Object.html
ADDED
@@ -0,0 +1,996 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
3
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
|
+
<head>
|
6
|
+
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
7
|
+
|
8
|
+
<title>Class: Object</title>
|
9
|
+
|
10
|
+
<link rel="stylesheet" href="./rdoc.css" type="text/css" media="screen" />
|
11
|
+
|
12
|
+
<script src="./js/jquery.js" type="text/javascript"
|
13
|
+
charset="utf-8"></script>
|
14
|
+
<script src="./js/thickbox-compressed.js" type="text/javascript"
|
15
|
+
charset="utf-8"></script>
|
16
|
+
<script src="./js/quicksearch.js" type="text/javascript"
|
17
|
+
charset="utf-8"></script>
|
18
|
+
<script src="./js/darkfish.js" type="text/javascript"
|
19
|
+
charset="utf-8"></script>
|
20
|
+
|
21
|
+
</head>
|
22
|
+
<body class="class">
|
23
|
+
|
24
|
+
<div id="metadata">
|
25
|
+
<div id="home-metadata">
|
26
|
+
<div id="home-section" class="section">
|
27
|
+
<h3 class="section-header">
|
28
|
+
<a href="./index.html">Home</a>
|
29
|
+
<a href="./index.html#classes">Classes</a>
|
30
|
+
<a href="./index.html#methods">Methods</a>
|
31
|
+
</h3>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="file-metadata">
|
36
|
+
<div id="file-list-section" class="section">
|
37
|
+
<h3 class="section-header">In Files</h3>
|
38
|
+
<div class="section-body">
|
39
|
+
<ul>
|
40
|
+
|
41
|
+
<li><a href="./lib/deep_copy_rb.html?TB_iframe=true&height=550&width=785"
|
42
|
+
class="thickbox" title="lib/deep_copy.rb">lib/deep_copy.rb</a></li>
|
43
|
+
|
44
|
+
</ul>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
|
48
|
+
|
49
|
+
</div>
|
50
|
+
|
51
|
+
<div id="class-metadata">
|
52
|
+
|
53
|
+
<!-- Parent Class -->
|
54
|
+
|
55
|
+
<div id="parent-class-section" class="section">
|
56
|
+
<h3 class="section-header">Parent</h3>
|
57
|
+
|
58
|
+
<p class="link"><a href="Object.html">Object</a></p>
|
59
|
+
|
60
|
+
</div>
|
61
|
+
|
62
|
+
|
63
|
+
<!-- Namespace Contents -->
|
64
|
+
|
65
|
+
|
66
|
+
<!-- Method Quickref -->
|
67
|
+
|
68
|
+
<div id="method-list-section" class="section">
|
69
|
+
<h3 class="section-header">Methods</h3>
|
70
|
+
<ul class="link-list">
|
71
|
+
|
72
|
+
<li><a href="#M000060">#deep_clone</a></li>
|
73
|
+
|
74
|
+
<li><a href="#M001576">#doRun</a></li>
|
75
|
+
|
76
|
+
<li><a href="#M001493">#main</a></li>
|
77
|
+
|
78
|
+
<li><a href="#M000533">#main</a></li>
|
79
|
+
|
80
|
+
<li><a href="#M001492">#processArguments</a></li>
|
81
|
+
|
82
|
+
<li><a href="#M001575">#test_fileIO</a></li>
|
83
|
+
|
84
|
+
</ul>
|
85
|
+
</div>
|
86
|
+
|
87
|
+
|
88
|
+
<!-- Included Modules -->
|
89
|
+
|
90
|
+
</div>
|
91
|
+
|
92
|
+
<div id="project-metadata">
|
93
|
+
|
94
|
+
|
95
|
+
<div id="fileindex-section" class="section project-section">
|
96
|
+
<h3 class="section-header">Files</h3>
|
97
|
+
<ul>
|
98
|
+
|
99
|
+
<li class="file"><a href="./COPYING.html">COPYING</a></li>
|
100
|
+
|
101
|
+
<li class="file"><a href="./README.html">README</a></li>
|
102
|
+
|
103
|
+
</ul>
|
104
|
+
</div>
|
105
|
+
|
106
|
+
|
107
|
+
<div id="classindex-section" class="section project-section">
|
108
|
+
<h3 class="section-header">Class Index
|
109
|
+
<span class="search-toggle"><img src="./images/find.png"
|
110
|
+
height="16" width="16" alt="[+]"
|
111
|
+
title="show/hide quicksearch" /></span></h3>
|
112
|
+
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
|
113
|
+
<fieldset>
|
114
|
+
<legend>Quicksearch</legend>
|
115
|
+
<input type="text" name="quicksearch" value=""
|
116
|
+
class="quicksearch-field" />
|
117
|
+
</fieldset>
|
118
|
+
</form>
|
119
|
+
|
120
|
+
<ul class="link-list">
|
121
|
+
|
122
|
+
<li><a href="./TaskJuggler.html">TaskJuggler</a></li>
|
123
|
+
|
124
|
+
<li><a href="./TaskJuggler/Account.html">TaskJuggler::Account</a></li>
|
125
|
+
|
126
|
+
<li><a href="./TaskJuggler/AccountAttribute.html">TaskJuggler::AccountAttribute</a></li>
|
127
|
+
|
128
|
+
<li><a href="./TaskJuggler/AccountScenario.html">TaskJuggler::AccountScenario</a></li>
|
129
|
+
|
130
|
+
<li><a href="./TaskJuggler/Allocation.html">TaskJuggler::Allocation</a></li>
|
131
|
+
|
132
|
+
<li><a href="./TaskJuggler/AllocationAttribute.html">TaskJuggler::AllocationAttribute</a></li>
|
133
|
+
|
134
|
+
<li><a href="./TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
|
135
|
+
|
136
|
+
<li><a href="./TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
137
|
+
|
138
|
+
<li><a href="./TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
139
|
+
|
140
|
+
<li><a href="./TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
141
|
+
|
142
|
+
<li><a href="./TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
|
143
|
+
|
144
|
+
<li><a href="./TaskJuggler/BooleanAttribute.html">TaskJuggler::BooleanAttribute</a></li>
|
145
|
+
|
146
|
+
<li><a href="./TaskJuggler/CSVFile.html">TaskJuggler::CSVFile</a></li>
|
147
|
+
|
148
|
+
<li><a href="./TaskJuggler/CellSettingPattern.html">TaskJuggler::CellSettingPattern</a></li>
|
149
|
+
|
150
|
+
<li><a href="./TaskJuggler/CellSettingPatternList.html">TaskJuggler::CellSettingPatternList</a></li>
|
151
|
+
|
152
|
+
<li><a href="./TaskJuggler/Charge.html">TaskJuggler::Charge</a></li>
|
153
|
+
|
154
|
+
<li><a href="./TaskJuggler/ChargeListAttribute.html">TaskJuggler::ChargeListAttribute</a></li>
|
155
|
+
|
156
|
+
<li><a href="./TaskJuggler/ChargeSet.html">TaskJuggler::ChargeSet</a></li>
|
157
|
+
|
158
|
+
<li><a href="./TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
159
|
+
|
160
|
+
<li><a href="./TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
161
|
+
|
162
|
+
<li><a href="./TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
163
|
+
|
164
|
+
<li><a href="./TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
165
|
+
|
166
|
+
<li><a href="./TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
167
|
+
|
168
|
+
<li><a href="./TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
169
|
+
|
170
|
+
<li><a href="./TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li>
|
171
|
+
|
172
|
+
<li><a href="./TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
|
173
|
+
|
174
|
+
<li><a href="./TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
|
175
|
+
|
176
|
+
<li><a href="./TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
|
177
|
+
|
178
|
+
<li><a href="./TaskJuggler/FloatAttribute.html">TaskJuggler::FloatAttribute</a></li>
|
179
|
+
|
180
|
+
<li><a href="./TaskJuggler/FormatListAttribute.html">TaskJuggler::FormatListAttribute</a></li>
|
181
|
+
|
182
|
+
<li><a href="./TaskJuggler/GanttChart.html">TaskJuggler::GanttChart</a></li>
|
183
|
+
|
184
|
+
<li><a href="./TaskJuggler/GanttContainer.html">TaskJuggler::GanttContainer</a></li>
|
185
|
+
|
186
|
+
<li><a href="./TaskJuggler/GanttHeader.html">TaskJuggler::GanttHeader</a></li>
|
187
|
+
|
188
|
+
<li><a href="./TaskJuggler/GanttHeaderScaleItem.html">TaskJuggler::GanttHeaderScaleItem</a></li>
|
189
|
+
|
190
|
+
<li><a href="./TaskJuggler/GanttLine.html">TaskJuggler::GanttLine</a></li>
|
191
|
+
|
192
|
+
<li><a href="./TaskJuggler/GanttLoadStack.html">TaskJuggler::GanttLoadStack</a></li>
|
193
|
+
|
194
|
+
<li><a href="./TaskJuggler/GanttMilestone.html">TaskJuggler::GanttMilestone</a></li>
|
195
|
+
|
196
|
+
<li><a href="./TaskJuggler/GanttRouter.html">TaskJuggler::GanttRouter</a></li>
|
197
|
+
|
198
|
+
<li><a href="./TaskJuggler/GanttTaskBar.html">TaskJuggler::GanttTaskBar</a></li>
|
199
|
+
|
200
|
+
<li><a href="./TaskJuggler/HTMLDocument.html">TaskJuggler::HTMLDocument</a></li>
|
201
|
+
|
202
|
+
<li><a href="./TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
|
203
|
+
|
204
|
+
<li><a href="./TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
205
|
+
|
206
|
+
<li><a href="./TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
207
|
+
|
208
|
+
<li><a href="./TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
209
|
+
|
210
|
+
<li><a href="./TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
|
211
|
+
|
212
|
+
<li><a href="./TaskJuggler/JournalEntry.html">TaskJuggler::JournalEntry</a></li>
|
213
|
+
|
214
|
+
<li><a href="./TaskJuggler/JournalEntryList.html">TaskJuggler::JournalEntryList</a></li>
|
215
|
+
|
216
|
+
<li><a href="./TaskJuggler/KeywordArray.html">TaskJuggler::KeywordArray</a></li>
|
217
|
+
|
218
|
+
<li><a href="./TaskJuggler/KeywordDocumentation.html">TaskJuggler::KeywordDocumentation</a></li>
|
219
|
+
|
220
|
+
<li><a href="./TaskJuggler/Limits.html">TaskJuggler::Limits</a></li>
|
221
|
+
|
222
|
+
<li><a href="./TaskJuggler/Limits/Limit.html">TaskJuggler::Limits::Limit</a></li>
|
223
|
+
|
224
|
+
<li><a href="./TaskJuggler/LimitsAttribute.html">TaskJuggler::LimitsAttribute</a></li>
|
225
|
+
|
226
|
+
<li><a href="./TaskJuggler/ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></li>
|
227
|
+
|
228
|
+
<li><a href="./TaskJuggler/Log.html">TaskJuggler::Log</a></li>
|
229
|
+
|
230
|
+
<li><a href="./TaskJuggler/LogFile.html">TaskJuggler::LogFile</a></li>
|
231
|
+
|
232
|
+
<li><a href="./TaskJuggler/LogicalAttribute.html">TaskJuggler::LogicalAttribute</a></li>
|
233
|
+
|
234
|
+
<li><a href="./TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
|
235
|
+
|
236
|
+
<li><a href="./TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
237
|
+
|
238
|
+
<li><a href="./TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
239
|
+
|
240
|
+
<li><a href="./TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
241
|
+
|
242
|
+
<li><a href="./TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
|
243
|
+
|
244
|
+
<li><a href="./TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
|
245
|
+
|
246
|
+
<li><a href="./TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
|
247
|
+
|
248
|
+
<li><a href="./TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
|
249
|
+
|
250
|
+
<li><a href="./TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
|
251
|
+
|
252
|
+
<li><a href="./TaskJuggler/ManagerStatusRecord.html">TaskJuggler::ManagerStatusRecord</a></li>
|
253
|
+
|
254
|
+
<li><a href="./TaskJuggler/Message.html">TaskJuggler::Message</a></li>
|
255
|
+
|
256
|
+
<li><a href="./TaskJuggler/MessageHandler.html">TaskJuggler::MessageHandler</a></li>
|
257
|
+
|
258
|
+
<li><a href="./TaskJuggler/Navigator.html">TaskJuggler::Navigator</a></li>
|
259
|
+
|
260
|
+
<li><a href="./TaskJuggler/NavigatorElement.html">TaskJuggler::NavigatorElement</a></li>
|
261
|
+
|
262
|
+
<li><a href="./TaskJuggler/NikuProject.html">TaskJuggler::NikuProject</a></li>
|
263
|
+
|
264
|
+
<li><a href="./TaskJuggler/NikuReport.html">TaskJuggler::NikuReport</a></li>
|
265
|
+
|
266
|
+
<li><a href="./TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
|
267
|
+
|
268
|
+
<li><a href="./TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
|
269
|
+
|
270
|
+
<li><a href="./TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
271
|
+
|
272
|
+
<li><a href="./TaskJuggler/ProcessIntercomIface.html">TaskJuggler::ProcessIntercomIface</a></li>
|
273
|
+
|
274
|
+
<li><a href="./TaskJuggler/Project.html">TaskJuggler::Project</a></li>
|
275
|
+
|
276
|
+
<li><a href="./TaskJuggler/ProjectBroker.html">TaskJuggler::ProjectBroker</a></li>
|
277
|
+
|
278
|
+
<li><a href="./TaskJuggler/ProjectBrokerIface.html">TaskJuggler::ProjectBrokerIface</a></li>
|
279
|
+
|
280
|
+
<li><a href="./TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
|
281
|
+
|
282
|
+
<li><a href="./TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
|
283
|
+
|
284
|
+
<li><a href="./TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
|
285
|
+
|
286
|
+
<li><a href="./TaskJuggler/ProjectServerIface.html">TaskJuggler::ProjectServerIface</a></li>
|
287
|
+
|
288
|
+
<li><a href="./TaskJuggler/PropertyAttribute.html">TaskJuggler::PropertyAttribute</a></li>
|
289
|
+
|
290
|
+
<li><a href="./TaskJuggler/PropertyList.html">TaskJuggler::PropertyList</a></li>
|
291
|
+
|
292
|
+
<li><a href="./TaskJuggler/PropertySet.html">TaskJuggler::PropertySet</a></li>
|
293
|
+
|
294
|
+
<li><a href="./TaskJuggler/PropertyTreeNode.html">TaskJuggler::PropertyTreeNode</a></li>
|
295
|
+
|
296
|
+
<li><a href="./TaskJuggler/Query.html">TaskJuggler::Query</a></li>
|
297
|
+
|
298
|
+
<li><a href="./TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
|
299
|
+
|
300
|
+
<li><a href="./TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
|
301
|
+
|
302
|
+
<li><a href="./TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
|
303
|
+
|
304
|
+
<li><a href="./TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
305
|
+
|
306
|
+
<li><a href="./TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
307
|
+
|
308
|
+
<li><a href="./TaskJuggler/ReferenceAttribute.html">TaskJuggler::ReferenceAttribute</a></li>
|
309
|
+
|
310
|
+
<li><a href="./TaskJuggler/Report.html">TaskJuggler::Report</a></li>
|
311
|
+
|
312
|
+
<li><a href="./TaskJuggler/ReportBase.html">TaskJuggler::ReportBase</a></li>
|
313
|
+
|
314
|
+
<li><a href="./TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
|
315
|
+
|
316
|
+
<li><a href="./TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
|
317
|
+
|
318
|
+
<li><a href="./TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
|
319
|
+
|
320
|
+
<li><a href="./TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
|
321
|
+
|
322
|
+
<li><a href="./TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
|
323
|
+
|
324
|
+
<li><a href="./TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
|
325
|
+
|
326
|
+
<li><a href="./TaskJuggler/ReportTableColumn.html">TaskJuggler::ReportTableColumn</a></li>
|
327
|
+
|
328
|
+
<li><a href="./TaskJuggler/ReportTableLegend.html">TaskJuggler::ReportTableLegend</a></li>
|
329
|
+
|
330
|
+
<li><a href="./TaskJuggler/ReportTableLine.html">TaskJuggler::ReportTableLine</a></li>
|
331
|
+
|
332
|
+
<li><a href="./TaskJuggler/Resource.html">TaskJuggler::Resource</a></li>
|
333
|
+
|
334
|
+
<li><a href="./TaskJuggler/ResourceListAttribute.html">TaskJuggler::ResourceListAttribute</a></li>
|
335
|
+
|
336
|
+
<li><a href="./TaskJuggler/ResourceListRE.html">TaskJuggler::ResourceListRE</a></li>
|
337
|
+
|
338
|
+
<li><a href="./TaskJuggler/ResourceScenario.html">TaskJuggler::ResourceScenario</a></li>
|
339
|
+
|
340
|
+
<li><a href="./TaskJuggler/RichText.html">TaskJuggler::RichText</a></li>
|
341
|
+
|
342
|
+
<li><a href="./TaskJuggler/RichTextAttribute.html">TaskJuggler::RichTextAttribute</a></li>
|
343
|
+
|
344
|
+
<li><a href="./TaskJuggler/RichTextDocument.html">TaskJuggler::RichTextDocument</a></li>
|
345
|
+
|
346
|
+
<li><a href="./TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
|
347
|
+
|
348
|
+
<li><a href="./TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
|
349
|
+
|
350
|
+
<li><a href="./TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
|
351
|
+
|
352
|
+
<li><a href="./TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
|
353
|
+
|
354
|
+
<li><a href="./TaskJuggler/RichTextImage.html">TaskJuggler::RichTextImage</a></li>
|
355
|
+
|
356
|
+
<li><a href="./TaskJuggler/RichTextIntermediate.html">TaskJuggler::RichTextIntermediate</a></li>
|
357
|
+
|
358
|
+
<li><a href="./TaskJuggler/RichTextParser.html">TaskJuggler::RichTextParser</a></li>
|
359
|
+
|
360
|
+
<li><a href="./TaskJuggler/RichTextScanner.html">TaskJuggler::RichTextScanner</a></li>
|
361
|
+
|
362
|
+
<li><a href="./TaskJuggler/RichTextSnip.html">TaskJuggler::RichTextSnip</a></li>
|
363
|
+
|
364
|
+
<li><a href="./TaskJuggler/RichTextSyntaxRules.html">TaskJuggler::RichTextSyntaxRules</a></li>
|
365
|
+
|
366
|
+
<li><a href="./TaskJuggler/Scenario.html">TaskJuggler::Scenario</a></li>
|
367
|
+
|
368
|
+
<li><a href="./TaskJuggler/ScenarioData.html">TaskJuggler::ScenarioData</a></li>
|
369
|
+
|
370
|
+
<li><a href="./TaskJuggler/ScenarioListAttribute.html">TaskJuggler::ScenarioListAttribute</a></li>
|
371
|
+
|
372
|
+
<li><a href="./TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
|
373
|
+
|
374
|
+
<li><a href="./TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
|
375
|
+
|
376
|
+
<li><a href="./TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
|
377
|
+
|
378
|
+
<li><a href="./TaskJuggler/SheetSender.html">TaskJuggler::SheetSender</a></li>
|
379
|
+
|
380
|
+
<li><a href="./TaskJuggler/Shift.html">TaskJuggler::Shift</a></li>
|
381
|
+
|
382
|
+
<li><a href="./TaskJuggler/ShiftAssignment.html">TaskJuggler::ShiftAssignment</a></li>
|
383
|
+
|
384
|
+
<li><a href="./TaskJuggler/ShiftAssignments.html">TaskJuggler::ShiftAssignments</a></li>
|
385
|
+
|
386
|
+
<li><a href="./TaskJuggler/ShiftAssignmentsAttribute.html">TaskJuggler::ShiftAssignmentsAttribute</a></li>
|
387
|
+
|
388
|
+
<li><a href="./TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
|
389
|
+
|
390
|
+
<li><a href="./TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
|
391
|
+
|
392
|
+
<li><a href="./TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
|
393
|
+
|
394
|
+
<li><a href="./TaskJuggler/StatusSheetReceiver.html">TaskJuggler::StatusSheetReceiver</a></li>
|
395
|
+
|
396
|
+
<li><a href="./TaskJuggler/StatusSheetReport.html">TaskJuggler::StatusSheetReport</a></li>
|
397
|
+
|
398
|
+
<li><a href="./TaskJuggler/StatusSheetSender.html">TaskJuggler::StatusSheetSender</a></li>
|
399
|
+
|
400
|
+
<li><a href="./TaskJuggler/StringAttribute.html">TaskJuggler::StringAttribute</a></li>
|
401
|
+
|
402
|
+
<li><a href="./TaskJuggler/SymbolAttribute.html">TaskJuggler::SymbolAttribute</a></li>
|
403
|
+
|
404
|
+
<li><a href="./TaskJuggler/SyntaxReference.html">TaskJuggler::SyntaxReference</a></li>
|
405
|
+
|
406
|
+
<li><a href="./TaskJuggler/TOCEntry.html">TaskJuggler::TOCEntry</a></li>
|
407
|
+
|
408
|
+
<li><a href="./TaskJuggler/TSResourceRecord.html">TaskJuggler::TSResourceRecord</a></li>
|
409
|
+
|
410
|
+
<li><a href="./TaskJuggler/TSTaskRecord.html">TaskJuggler::TSTaskRecord</a></li>
|
411
|
+
|
412
|
+
<li><a href="./TaskJuggler/TableColumnDefinition.html">TaskJuggler::TableColumnDefinition</a></li>
|
413
|
+
|
414
|
+
<li><a href="./TaskJuggler/TableOfContents.html">TaskJuggler::TableOfContents</a></li>
|
415
|
+
|
416
|
+
<li><a href="./TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
|
417
|
+
|
418
|
+
<li><a href="./TaskJuggler/Task.html">TaskJuggler::Task</a></li>
|
419
|
+
|
420
|
+
<li><a href="./TaskJuggler/TaskDependency.html">TaskJuggler::TaskDependency</a></li>
|
421
|
+
|
422
|
+
<li><a href="./TaskJuggler/TaskListAttribute.html">TaskJuggler::TaskListAttribute</a></li>
|
423
|
+
|
424
|
+
<li><a href="./TaskJuggler/TaskListRE.html">TaskJuggler::TaskListRE</a></li>
|
425
|
+
|
426
|
+
<li><a href="./TaskJuggler/TaskScenario.html">TaskJuggler::TaskScenario</a></li>
|
427
|
+
|
428
|
+
<li><a href="./TaskJuggler/TextFormatter.html">TaskJuggler::TextFormatter</a></li>
|
429
|
+
|
430
|
+
<li><a href="./TaskJuggler/TextParser.html">TaskJuggler::TextParser</a></li>
|
431
|
+
|
432
|
+
<li><a href="./TaskJuggler/TextParser/Pattern.html">TaskJuggler::TextParser::Pattern</a></li>
|
433
|
+
|
434
|
+
<li><a href="./TaskJuggler/TextParser/Rule.html">TaskJuggler::TextParser::Rule</a></li>
|
435
|
+
|
436
|
+
<li><a href="./TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
437
|
+
|
438
|
+
<li><a href="./TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
439
|
+
|
440
|
+
<li><a href="./TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
441
|
+
|
442
|
+
<li><a href="./TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
|
443
|
+
|
444
|
+
<li><a href="./TaskJuggler/TextScanner.html">TaskJuggler::TextScanner</a></li>
|
445
|
+
|
446
|
+
<li><a href="./TaskJuggler/TextScanner/BufferStreamHandle.html">TaskJuggler::TextScanner::BufferStreamHandle</a></li>
|
447
|
+
|
448
|
+
<li><a href="./TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
|
449
|
+
|
450
|
+
<li><a href="./TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
|
451
|
+
|
452
|
+
<li><a href="./TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
453
|
+
|
454
|
+
<li><a href="./TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
|
455
|
+
|
456
|
+
<li><a href="./TaskJuggler/TimeSheetRecord.html">TaskJuggler::TimeSheetRecord</a></li>
|
457
|
+
|
458
|
+
<li><a href="./TaskJuggler/TimeSheetReport.html">TaskJuggler::TimeSheetReport</a></li>
|
459
|
+
|
460
|
+
<li><a href="./TaskJuggler/TimeSheetSender.html">TaskJuggler::TimeSheetSender</a></li>
|
461
|
+
|
462
|
+
<li><a href="./TaskJuggler/TimeSheetSummary.html">TaskJuggler::TimeSheetSummary</a></li>
|
463
|
+
|
464
|
+
<li><a href="./TaskJuggler/TimeSheets.html">TaskJuggler::TimeSheets</a></li>
|
465
|
+
|
466
|
+
<li><a href="./TaskJuggler/Tj3AppBase.html">TaskJuggler::Tj3AppBase</a></li>
|
467
|
+
|
468
|
+
<li><a href="./TaskJuggler/Tj3Client.html">TaskJuggler::Tj3Client</a></li>
|
469
|
+
|
470
|
+
<li><a href="./TaskJuggler/Tj3Daemon.html">TaskJuggler::Tj3Daemon</a></li>
|
471
|
+
|
472
|
+
<li><a href="./TaskJuggler/Tj3SheetAppBase.html">TaskJuggler::Tj3SheetAppBase</a></li>
|
473
|
+
|
474
|
+
<li><a href="./TaskJuggler/Tj3SsReceiver.html">TaskJuggler::Tj3SsReceiver</a></li>
|
475
|
+
|
476
|
+
<li><a href="./TaskJuggler/Tj3SsSender.html">TaskJuggler::Tj3SsSender</a></li>
|
477
|
+
|
478
|
+
<li><a href="./TaskJuggler/Tj3TsReceiver.html">TaskJuggler::Tj3TsReceiver</a></li>
|
479
|
+
|
480
|
+
<li><a href="./TaskJuggler/Tj3TsSender.html">TaskJuggler::Tj3TsSender</a></li>
|
481
|
+
|
482
|
+
<li><a href="./TaskJuggler/Tj3TsSummary.html">TaskJuggler::Tj3TsSummary</a></li>
|
483
|
+
|
484
|
+
<li><a href="./TaskJuggler/TjException.html">TaskJuggler::TjException</a></li>
|
485
|
+
|
486
|
+
<li><a href="./TaskJuggler/TjTime.html">TaskJuggler::TjTime</a></li>
|
487
|
+
|
488
|
+
<li><a href="./TaskJuggler/TjpExample.html">TaskJuggler::TjpExample</a></li>
|
489
|
+
|
490
|
+
<li><a href="./TaskJuggler/TjpExportRE.html">TaskJuggler::TjpExportRE</a></li>
|
491
|
+
|
492
|
+
<li><a href="./TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
|
493
|
+
|
494
|
+
<li><a href="./TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
495
|
+
|
496
|
+
<li><a href="./TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
497
|
+
|
498
|
+
<li><a href="./TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
499
|
+
|
500
|
+
<li><a href="./TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
|
501
|
+
|
502
|
+
<li><a href="./TaskJuggler/XMLComment.html">TaskJuggler::XMLComment</a></li>
|
503
|
+
|
504
|
+
<li><a href="./TaskJuggler/XMLDocument.html">TaskJuggler::XMLDocument</a></li>
|
505
|
+
|
506
|
+
<li><a href="./TaskJuggler/XMLElement.html">TaskJuggler::XMLElement</a></li>
|
507
|
+
|
508
|
+
<li><a href="./TaskJuggler/XMLNamedText.html">TaskJuggler::XMLNamedText</a></li>
|
509
|
+
|
510
|
+
<li><a href="./TaskJuggler/XMLText.html">TaskJuggler::XMLText</a></li>
|
511
|
+
|
512
|
+
<li><a href="./AppConfig.html">AppConfig</a></li>
|
513
|
+
|
514
|
+
<li><a href="./Arguments.html">Arguments</a></li>
|
515
|
+
|
516
|
+
<li><a href="./Object.html">Object</a></li>
|
517
|
+
|
518
|
+
<li><a href="./RuntimeConfig.html">RuntimeConfig</a></li>
|
519
|
+
|
520
|
+
<li><a href="./String.html">String</a></li>
|
521
|
+
|
522
|
+
</ul>
|
523
|
+
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
524
|
+
</div>
|
525
|
+
|
526
|
+
|
527
|
+
</div>
|
528
|
+
</div>
|
529
|
+
|
530
|
+
<div id="documentation">
|
531
|
+
<h1 class="class">Object</h1>
|
532
|
+
|
533
|
+
<div id="description">
|
534
|
+
<p>
|
535
|
+
This file extends some Ruby core classes to add deep-copying support.
|
536
|
+
I’m aware of the commonly suggested method using Marshal:
|
537
|
+
</p>
|
538
|
+
<p>
|
539
|
+
class <a href="Object.html">Object</a>
|
540
|
+
</p>
|
541
|
+
<pre>
|
542
|
+
def deep_copy
|
543
|
+
Marshal.load(Marshal.dump(self))
|
544
|
+
end
|
545
|
+
</pre>
|
546
|
+
<p>
|
547
|
+
end
|
548
|
+
</p>
|
549
|
+
<p>
|
550
|
+
But just because I program in Ruby, I don’t have to write bloatware.
|
551
|
+
It’s like taking a trip to the moon and back to shop groceries at the
|
552
|
+
store around the corner. I’m not sure if I need more special cases
|
553
|
+
than Array and Hash, but this file works for me.
|
554
|
+
</p>
|
555
|
+
<p>
|
556
|
+
In certain cases the full deep copy may not be desired. To preserve
|
557
|
+
references to objects, you need to overload <a
|
558
|
+
href="Object.html#M000060">deep_clone</a> and handle the special cases.
|
559
|
+
Alternatively, an object can be frozen to prevent deep copies.
|
560
|
+
</p>
|
561
|
+
|
562
|
+
</div>
|
563
|
+
|
564
|
+
<!-- Constants -->
|
565
|
+
|
566
|
+
|
567
|
+
<!-- Attributes -->
|
568
|
+
|
569
|
+
|
570
|
+
<!-- Methods -->
|
571
|
+
|
572
|
+
<div id="public-instance-method-details" class="method-section section">
|
573
|
+
<h3 class="section-header">Public Instance Methods</h3>
|
574
|
+
|
575
|
+
|
576
|
+
<div id="deep-clone-method" class="method-detail ">
|
577
|
+
<a name="M000060"></a>
|
578
|
+
|
579
|
+
<div class="method-heading">
|
580
|
+
|
581
|
+
<span class="method-name">deep_clone</span><span
|
582
|
+
class="method-args">()</span>
|
583
|
+
<span class="method-click-advice">click to toggle source</span>
|
584
|
+
|
585
|
+
</div>
|
586
|
+
|
587
|
+
<div class="method-description">
|
588
|
+
|
589
|
+
<p>
|
590
|
+
This is a variant of Object#clone that returns a deep copy of an object.
|
591
|
+
</p>
|
592
|
+
|
593
|
+
|
594
|
+
|
595
|
+
<div class="method-source-code"
|
596
|
+
id="deep-clone-source">
|
597
|
+
<pre>
|
598
|
+
<span class="ruby-comment cmt"># File lib/deep_copy.rb, line 35</span>
|
599
|
+
35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deep_clone</span>
|
600
|
+
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-keyword kw">return</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">frozen?</span>
|
602
|
+
38:
|
603
|
+
39: <span class="ruby-comment cmt"># In case we have loops in our graph, we return references, not</span>
|
604
|
+
40: <span class="ruby-comment cmt"># deep-copied objects.</span>
|
605
|
+
41: <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>
|
606
|
+
42: <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>)
|
607
|
+
43: <span class="ruby-keyword kw">else</span>
|
608
|
+
44: <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>)
|
609
|
+
45: <span class="ruby-keyword kw">end</span>
|
610
|
+
46:
|
611
|
+
47: <span class="ruby-comment cmt"># Clone the current Object (shallow copy with internal state)</span>
|
612
|
+
48: <span class="ruby-keyword kw">begin</span>
|
613
|
+
49: <span class="ruby-ivar">@clonedObject</span> = <span class="ruby-identifier">clone</span>
|
614
|
+
50: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TypeError</span>
|
615
|
+
51: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>
|
616
|
+
52: <span class="ruby-keyword kw">end</span>
|
617
|
+
53: <span class="ruby-comment cmt"># Recursively copy all instance variables.</span>
|
618
|
+
54: <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>
|
619
|
+
55: <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>
|
620
|
+
56: <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>)
|
621
|
+
57: <span class="ruby-keyword kw">end</span>
|
622
|
+
58: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Array</span>)
|
623
|
+
59: <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> }
|
624
|
+
60: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Hash</span>)
|
625
|
+
61: <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>) }
|
626
|
+
62: <span class="ruby-keyword kw">end</span>
|
627
|
+
63: <span class="ruby-comment cmt"># Remove the @clonedObject again.</span>
|
628
|
+
64: <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>
|
629
|
+
65: <span class="ruby-identifier">remove_instance_variable</span>(<span class="ruby-value str">'@clonedObject'</span>)
|
630
|
+
66: <span class="ruby-keyword kw">else</span>
|
631
|
+
67: <span class="ruby-identifier">remove_instance_variable</span>(<span class="ruby-value">:@clonedObject</span>)
|
632
|
+
68: <span class="ruby-keyword kw">end</span>
|
633
|
+
69: <span class="ruby-keyword kw">end</span></pre>
|
634
|
+
</div>
|
635
|
+
|
636
|
+
</div>
|
637
|
+
|
638
|
+
|
639
|
+
|
640
|
+
|
641
|
+
</div>
|
642
|
+
|
643
|
+
|
644
|
+
<div id="do-un-method" class="method-detail ">
|
645
|
+
<a name="M001576"></a>
|
646
|
+
|
647
|
+
<div class="method-heading">
|
648
|
+
|
649
|
+
<span class="method-name">doRun</span><span
|
650
|
+
class="method-args">(maxCPUs, jobs, &block)</span>
|
651
|
+
<span class="method-click-advice">click to toggle source</span>
|
652
|
+
|
653
|
+
</div>
|
654
|
+
|
655
|
+
<div class="method-description">
|
656
|
+
|
657
|
+
|
658
|
+
|
659
|
+
|
660
|
+
|
661
|
+
<div class="method-source-code"
|
662
|
+
id="do-un-source">
|
663
|
+
<pre>
|
664
|
+
<span class="ruby-comment cmt"># File lib/ruby-signal-bug.rb, line 21</span>
|
665
|
+
21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">doRun</span>(<span class="ruby-identifier">maxCPUs</span>, <span class="ruby-identifier">jobs</span>, &<span class="ruby-identifier">block</span>)
|
666
|
+
22: <span class="ruby-comment cmt"># Create a BatchProcessor</span>
|
667
|
+
23: <span class="ruby-identifier">bp</span> = <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">BatchProcessor</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">maxCPUs</span>)
|
668
|
+
24:
|
669
|
+
25: <span class="ruby-comment cmt"># Queue jobs</span>
|
670
|
+
26: <span class="ruby-identifier">jobs</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
671
|
+
27: <span class="ruby-identifier">bp</span>.<span class="ruby-identifier">queue</span>(<span class="ruby-node">"job #{i}"</span>) { <span class="ruby-keyword kw">yield</span> }
|
672
|
+
28: <span class="ruby-keyword kw">end</span>
|
673
|
+
29:
|
674
|
+
30: <span class="ruby-identifier">ok</span> = <span class="ruby-identifier">error</span> = <span class="ruby-value">0</span>
|
675
|
+
31:
|
676
|
+
32: <span class="ruby-comment cmt"># Wait for them to finish</span>
|
677
|
+
33: <span class="ruby-identifier">bp</span>.<span class="ruby-identifier">wait</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
|
678
|
+
34: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">j</span>.<span class="ruby-identifier">retVal</span>.<span class="ruby-identifier">signaled?</span>
|
679
|
+
35: <span class="ruby-identifier">error</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
680
|
+
36: <span class="ruby-keyword kw">else</span>
|
681
|
+
37: <span class="ruby-identifier">ok</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
682
|
+
38: <span class="ruby-keyword kw">end</span>
|
683
|
+
39: <span class="ruby-keyword kw">end</span>
|
684
|
+
40: <span class="ruby-identifier">puts</span> <span class="ruby-node">"Ok: #{ok} Errors: #{error}"</span>
|
685
|
+
41: <span class="ruby-keyword kw">end</span></pre>
|
686
|
+
</div>
|
687
|
+
|
688
|
+
</div>
|
689
|
+
|
690
|
+
|
691
|
+
|
692
|
+
|
693
|
+
</div>
|
694
|
+
|
695
|
+
|
696
|
+
<div id="main-method" class="method-detail ">
|
697
|
+
<a name="M001493"></a>
|
698
|
+
|
699
|
+
<div class="method-heading">
|
700
|
+
|
701
|
+
<span class="method-name">main</span><span
|
702
|
+
class="method-args">()</span>
|
703
|
+
<span class="method-click-advice">click to toggle source</span>
|
704
|
+
|
705
|
+
</div>
|
706
|
+
|
707
|
+
<div class="method-description">
|
708
|
+
|
709
|
+
|
710
|
+
|
711
|
+
|
712
|
+
|
713
|
+
<div class="method-source-code"
|
714
|
+
id="main-source">
|
715
|
+
<pre>
|
716
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler3.rb, line 105</span>
|
717
|
+
105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">main</span>
|
718
|
+
106: <span class="ruby-ivar">@maxCpuCores</span> = <span class="ruby-value">1</span>
|
719
|
+
107: <span class="ruby-ivar">@forceReports</span> = <span class="ruby-keyword kw">false</span>
|
720
|
+
108: <span class="ruby-ivar">@warnTsDeltas</span> = <span class="ruby-keyword kw">false</span>
|
721
|
+
109: <span class="ruby-ivar">@outputDir</span> = <span class="ruby-value str">''</span>
|
722
|
+
110: <span class="ruby-ivar">@timeSheets</span> = []
|
723
|
+
111: <span class="ruby-ivar">@statusSheets</span> = []
|
724
|
+
112:
|
725
|
+
113: <span class="ruby-comment cmt"># Install signal handler to exit gracefully on CTRL-C.</span>
|
726
|
+
114: <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>
|
727
|
+
115: <span class="ruby-identifier">puts</span> <span class="ruby-value str">"\nAborting on user request!"</span>
|
728
|
+
116: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
|
729
|
+
117: <span class="ruby-keyword kw">end</span>
|
730
|
+
118:
|
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>
|
739
|
+
127: <span class="ruby-keyword kw">end</span>
|
740
|
+
128:
|
741
|
+
129: <span class="ruby-comment cmt"># The checks of time and status sheets is probably only used for debugging.</span>
|
742
|
+
130: <span class="ruby-comment cmt"># Normally, this function is provided by tj3client.</span>
|
743
|
+
131: <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>
|
744
|
+
132: <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>
|
745
|
+
133: <span class="ruby-keyword kw">end</span>
|
746
|
+
134: <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>
|
747
|
+
135: <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>
|
748
|
+
136: <span class="ruby-keyword kw">end</span>
|
749
|
+
137:
|
750
|
+
138: <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>
|
751
|
+
139:
|
752
|
+
140: <span class="ruby-keyword kw">end</span></pre>
|
753
|
+
</div>
|
754
|
+
|
755
|
+
</div>
|
756
|
+
|
757
|
+
|
758
|
+
|
759
|
+
|
760
|
+
</div>
|
761
|
+
|
762
|
+
|
763
|
+
<div id="main-method" class="method-detail ">
|
764
|
+
<a name="M000533"></a>
|
765
|
+
|
766
|
+
<div class="method-heading">
|
767
|
+
|
768
|
+
<span class="method-name">main</span><span
|
769
|
+
class="method-args">()</span>
|
770
|
+
<span class="method-click-advice">click to toggle source</span>
|
771
|
+
|
772
|
+
</div>
|
773
|
+
|
774
|
+
<div class="method-description">
|
775
|
+
|
776
|
+
|
777
|
+
|
778
|
+
|
779
|
+
|
780
|
+
<div class="method-source-code"
|
781
|
+
id="main-source">
|
782
|
+
<pre>
|
783
|
+
<span class="ruby-comment cmt"># File lib/tj3man.rb, line 64</span>
|
784
|
+
64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">main</span>
|
785
|
+
65: <span class="ruby-identifier">args</span> = <span class="ruby-constant">Arguments</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">ARGV</span>)
|
786
|
+
66:
|
787
|
+
67: <span class="ruby-identifier">man</span> = <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">SyntaxReference</span>.<span class="ruby-identifier">new</span>
|
788
|
+
68: <span class="ruby-identifier">keywords</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">keywords</span>
|
789
|
+
69:
|
790
|
+
70: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">manual</span>
|
791
|
+
71: <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">UserManual</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">generate</span>(<span class="ruby-identifier">args</span>.<span class="ruby-identifier">directory</span>)
|
792
|
+
72: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">keywords</span>.<span class="ruby-identifier">empty?</span>
|
793
|
+
73: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">man</span>.<span class="ruby-identifier">all</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n"</span>)
|
794
|
+
74: <span class="ruby-keyword kw">else</span>
|
795
|
+
75: <span class="ruby-identifier">keywords</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">keyword</span><span class="ruby-operator">|</span>
|
796
|
+
76: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">man</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">keyword</span>)
|
797
|
+
77: <span class="ruby-keyword kw">end</span>
|
798
|
+
78: <span class="ruby-keyword kw">end</span>
|
799
|
+
79:
|
800
|
+
80: <span class="ruby-comment cmt">#$stderr.puts "#{AppConfig.softwareName} v#{AppConfig.version} - " +</span>
|
801
|
+
81: <span class="ruby-comment cmt"># "#{AppConfig.packageInfo}\n\n"</span>
|
802
|
+
82: <span class="ruby-comment cmt">#puts man.to_s(args.keyword)</span>
|
803
|
+
83:
|
804
|
+
84: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
|
805
|
+
85: <span class="ruby-keyword kw">end</span></pre>
|
806
|
+
</div>
|
807
|
+
|
808
|
+
</div>
|
809
|
+
|
810
|
+
|
811
|
+
|
812
|
+
|
813
|
+
</div>
|
814
|
+
|
815
|
+
|
816
|
+
<div id="process-rguments-method" class="method-detail ">
|
817
|
+
<a name="M001492"></a>
|
818
|
+
|
819
|
+
<div class="method-heading">
|
820
|
+
|
821
|
+
<span class="method-name">processArguments</span><span
|
822
|
+
class="method-args">(argv)</span>
|
823
|
+
<span class="method-click-advice">click to toggle source</span>
|
824
|
+
|
825
|
+
</div>
|
826
|
+
|
827
|
+
<div class="method-description">
|
828
|
+
|
829
|
+
|
830
|
+
|
831
|
+
|
832
|
+
|
833
|
+
<div class="method-source-code"
|
834
|
+
id="process-rguments-source">
|
835
|
+
<pre>
|
836
|
+
<span class="ruby-comment cmt"># File lib/taskjuggler3.rb, line 21</span>
|
837
|
+
21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">processArguments</span>(<span class="ruby-identifier">argv</span>)
|
838
|
+
22: <span class="ruby-identifier">opts</span> = <span class="ruby-constant">OptionParser</span>.<span class="ruby-identifier">new</span>
|
839
|
+
23:
|
840
|
+
24: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">banner</span> = <span class="ruby-node">"#{AppConfig.softwareName} v#{AppConfig.version} - "</span> <span class="ruby-operator">+</span>
|
841
|
+
25: <span class="ruby-node">"#{AppConfig.packageInfo}\n\n"</span> <span class="ruby-operator">+</span>
|
842
|
+
26: <span class="ruby-node">"Copyright (c) #{AppConfig.copyright.join(', ')}"</span> <span class="ruby-operator">+</span>
|
843
|
+
27: <span class="ruby-node">" by #{AppConfig.authors.join(', ')}\n\n"</span> <span class="ruby-operator">+</span>
|
844
|
+
28: <span class="ruby-node">"#{AppConfig.license}\n"</span> <span class="ruby-operator">+</span>
|
845
|
+
29: <span class="ruby-node">"For more info about #{AppConfig.softwareName} see "</span> <span class="ruby-operator">+</span>
|
846
|
+
30: <span class="ruby-node">"#{AppConfig.contact}\n\n"</span> <span class="ruby-operator">+</span>
|
847
|
+
31: <span class="ruby-node">"Usage: #{AppConfig.appName} [options] file.tjp "</span> <span class="ruby-operator">+</span>
|
848
|
+
32: <span class="ruby-value str">"[ file1.tji ... ]"</span>
|
849
|
+
33: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">""</span>
|
850
|
+
34: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--debuglevel N'</span>, <span class="ruby-constant">Integer</span>, <span class="ruby-value str">"Verbosity of debug output"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
851
|
+
35: <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">Log</span>.<span class="ruby-identifier">level</span> = <span class="ruby-identifier">arg</span>
|
852
|
+
36: <span class="ruby-keyword kw">end</span>
|
853
|
+
37: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--debugmodules x,y,z'</span>, <span class="ruby-constant">Array</span>,
|
854
|
+
38: <span class="ruby-value str">'Restrict debug output to a list of modules'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
855
|
+
39: <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">Log</span>.<span class="ruby-identifier">segments</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">','</span>)
|
856
|
+
40: <span class="ruby-keyword kw">end</span>
|
857
|
+
41: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--silent'</span>, <span class="ruby-value str">"Don't show program and progress information"</span>) <span class="ruby-keyword kw">do</span>
|
858
|
+
42: <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">true</span>
|
859
|
+
43: <span class="ruby-keyword kw">end</span>
|
860
|
+
44: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-f'</span>, <span class="ruby-value str">'--force-reports'</span>,
|
861
|
+
45: <span class="ruby-value str">'Generate reports despite scheduling errors'</span>) <span class="ruby-keyword kw">do</span>
|
862
|
+
46: <span class="ruby-ivar">@forceReports</span> = <span class="ruby-keyword kw">true</span>
|
863
|
+
47: <span class="ruby-keyword kw">end</span>
|
864
|
+
48: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--check-time-sheet <tji-file>'</span>, <span class="ruby-constant">String</span>,
|
865
|
+
49: <span class="ruby-value str">"Check the given time sheet"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
866
|
+
50: <span class="ruby-ivar">@timeSheets</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">arg</span>
|
867
|
+
51: <span class="ruby-keyword kw">end</span>
|
868
|
+
52: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--check-status-sheet <tji-file>'</span>, <span class="ruby-constant">String</span>,
|
869
|
+
53: <span class="ruby-value str">"Check the given status sheet"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
870
|
+
54: <span class="ruby-ivar">@statusSheets</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">arg</span>
|
871
|
+
55: <span class="ruby-keyword kw">end</span>
|
872
|
+
56: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--warn-ts-deltas'</span>,
|
873
|
+
57: <span class="ruby-value str">'Turn on warnings for requested changes in time sheets'</span>) <span class="ruby-keyword kw">do</span>
|
874
|
+
58: <span class="ruby-ivar">@warnTsDeltas</span> = <span class="ruby-keyword kw">true</span>
|
875
|
+
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">'-o'</span>, <span class="ruby-value str">'--output-dir <directory>'</span>, <span class="ruby-constant">String</span>,
|
877
|
+
61: <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>
|
878
|
+
62: <span class="ruby-ivar">@outputDir</span> = <span class="ruby-identifier">arg</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>
|
879
|
+
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">'-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>
|
881
|
+
65: <span class="ruby-ivar">@maxCpuCores</span> = <span class="ruby-identifier">arg</span>
|
882
|
+
66: <span class="ruby-keyword kw">end</span>
|
883
|
+
67: <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>
|
884
|
+
68: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_s</span>
|
885
|
+
69: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
|
886
|
+
70: <span class="ruby-keyword kw">end</span>
|
887
|
+
71:
|
888
|
+
72: <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>
|
889
|
+
73: <span class="ruby-identifier">puts</span> <span class="ruby-node">"#{AppConfig.softwareName} v#{AppConfig.version} - "</span> <span class="ruby-operator">+</span>
|
890
|
+
74: <span class="ruby-node">"#{AppConfig.packageInfo}"</span>
|
891
|
+
75: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
|
892
|
+
76: <span class="ruby-keyword kw">end</span>
|
893
|
+
77:
|
894
|
+
78: <span class="ruby-comment cmt"># Show some progress information by default</span>
|
895
|
+
79: <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>
|
896
|
+
80: <span class="ruby-keyword kw">begin</span>
|
897
|
+
81: <span class="ruby-identifier">files</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">argv</span>)
|
898
|
+
82: <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>
|
899
|
+
83: <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>
|
900
|
+
84: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">msg</span>
|
901
|
+
85: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
|
902
|
+
86: <span class="ruby-keyword kw">end</span>
|
903
|
+
87:
|
904
|
+
88: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">files</span>.<span class="ruby-identifier">empty?</span>
|
905
|
+
89: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_s</span>
|
906
|
+
90: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">"\nNo project file name specified!"</span>
|
907
|
+
91: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
|
908
|
+
92: <span class="ruby-keyword kw">end</span>
|
909
|
+
93:
|
910
|
+
94: <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>
|
911
|
+
95: <span class="ruby-identifier">puts</span> <span class="ruby-node">"#{AppConfig.softwareName} v#{AppConfig.version} - "</span> <span class="ruby-operator">+</span>
|
912
|
+
96: <span class="ruby-node">"#{AppConfig.packageInfo}\n\n"</span> <span class="ruby-operator">+</span>
|
913
|
+
97: <span class="ruby-node">"Copyright (c) #{AppConfig.copyright.join(', ')}"</span> <span class="ruby-operator">+</span>
|
914
|
+
98: <span class="ruby-node">" by #{AppConfig.authors.join(', ')}\n\n"</span> <span class="ruby-operator">+</span>
|
915
|
+
99: <span class="ruby-node">"#{AppConfig.license}\n"</span>
|
916
|
+
100: <span class="ruby-keyword kw">end</span>
|
917
|
+
101:
|
918
|
+
102: <span class="ruby-identifier">files</span>
|
919
|
+
103: <span class="ruby-keyword kw">end</span></pre>
|
920
|
+
</div>
|
921
|
+
|
922
|
+
</div>
|
923
|
+
|
924
|
+
|
925
|
+
|
926
|
+
|
927
|
+
</div>
|
928
|
+
|
929
|
+
|
930
|
+
<div id="test-file--method" class="method-detail ">
|
931
|
+
<a name="M001575"></a>
|
932
|
+
|
933
|
+
<div class="method-heading">
|
934
|
+
|
935
|
+
<span class="method-name">test_fileIO</span><span
|
936
|
+
class="method-args">()</span>
|
937
|
+
<span class="method-click-advice">click to toggle source</span>
|
938
|
+
|
939
|
+
</div>
|
940
|
+
|
941
|
+
<div class="method-description">
|
942
|
+
|
943
|
+
|
944
|
+
|
945
|
+
|
946
|
+
|
947
|
+
<div class="method-source-code"
|
948
|
+
id="test-file--source">
|
949
|
+
<pre>
|
950
|
+
<span class="ruby-comment cmt"># File lib/ruby-signal-bug.rb, line 5</span>
|
951
|
+
5: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">test_fileIO</span>
|
952
|
+
6: <span class="ruby-comment cmt"># First parameter should be larger than the number of CPU cores.</span>
|
953
|
+
7: <span class="ruby-identifier">doRun</span>(<span class="ruby-value">3</span>, <span class="ruby-value">2000</span>) <span class="ruby-keyword kw">do</span>
|
954
|
+
8: <span class="ruby-identifier">fname</span> = <span class="ruby-node">"test#{$$}.txt"</span>
|
955
|
+
9: <span class="ruby-identifier">f</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fname</span>, <span class="ruby-value str">'w'</span>)
|
956
|
+
10: <span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">10000</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
957
|
+
11: <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"#{i} Hello, world! "</span>
|
958
|
+
12: <span class="ruby-keyword kw">end</span>
|
959
|
+
13: <span class="ruby-identifier">f</span>.<span class="ruby-identifier">close</span>
|
960
|
+
14: <span class="ruby-constant">File</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">fname</span>)
|
961
|
+
15:
|
962
|
+
16: <span class="ruby-comment cmt"># Allow some time for the OS to recycle file descriptors.</span>
|
963
|
+
17: <span class="ruby-identifier">sleep</span>(<span class="ruby-value">0.05</span>)
|
964
|
+
18: <span class="ruby-keyword kw">end</span>
|
965
|
+
19: <span class="ruby-keyword kw">end</span></pre>
|
966
|
+
</div>
|
967
|
+
|
968
|
+
</div>
|
969
|
+
|
970
|
+
|
971
|
+
|
972
|
+
|
973
|
+
</div>
|
974
|
+
|
975
|
+
|
976
|
+
</div>
|
977
|
+
|
978
|
+
|
979
|
+
</div>
|
980
|
+
|
981
|
+
|
982
|
+
<div id="rdoc-debugging-section-dump" class="debugging-section">
|
983
|
+
|
984
|
+
<p>Disabled; run with --debug to generate this.</p>
|
985
|
+
|
986
|
+
</div>
|
987
|
+
|
988
|
+
<div id="validator-badges">
|
989
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
990
|
+
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
|
991
|
+
Rdoc Generator</a> 1.1.6</small>.</p>
|
992
|
+
</div>
|
993
|
+
|
994
|
+
</body>
|
995
|
+
</html>
|
996
|
+
|