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
@@ -1,1229 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
2
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
-
<head>
|
5
|
-
<title>Class: TaskJuggler::ResourceScenario [TaskJuggler III API documentation]</title>
|
6
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
7
|
-
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
8
|
-
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
9
|
-
<script type="text/javascript">
|
10
|
-
// <![CDATA[
|
11
|
-
|
12
|
-
function popupCode( url ) {
|
13
|
-
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
14
|
-
}
|
15
|
-
|
16
|
-
function toggleCode( id ) {
|
17
|
-
if ( document.getElementById )
|
18
|
-
elem = document.getElementById( id );
|
19
|
-
else if ( document.all )
|
20
|
-
elem = eval( "document.all." + id );
|
21
|
-
else
|
22
|
-
return false;
|
23
|
-
|
24
|
-
elemStyle = elem.style;
|
25
|
-
|
26
|
-
if ( elemStyle.display != "block" ) {
|
27
|
-
elemStyle.display = "block"
|
28
|
-
} else {
|
29
|
-
elemStyle.display = "none"
|
30
|
-
}
|
31
|
-
|
32
|
-
return true;
|
33
|
-
}
|
34
|
-
|
35
|
-
// Make codeblocks hidden by default
|
36
|
-
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }<\/style>" )
|
37
|
-
|
38
|
-
// ]]>
|
39
|
-
</script>
|
40
|
-
|
41
|
-
</head>
|
42
|
-
<body>
|
43
|
-
|
44
|
-
|
45
|
-
<div id="classHeader">
|
46
|
-
<table class="header-table">
|
47
|
-
<tr class="top-aligned-row">
|
48
|
-
<td><strong>Class</strong></td>
|
49
|
-
<td class="class-name-in-header">TaskJuggler::ResourceScenario</td>
|
50
|
-
</tr>
|
51
|
-
<tr class="top-aligned-row">
|
52
|
-
<td><strong>In:</strong></td>
|
53
|
-
<td>
|
54
|
-
|
55
|
-
|
56
|
-
<a href="../../files/lib/ResourceScenario_rb.html">
|
57
|
-
|
58
|
-
lib/ResourceScenario.rb
|
59
|
-
|
60
|
-
</a>
|
61
|
-
|
62
|
-
|
63
|
-
<br />
|
64
|
-
|
65
|
-
</td>
|
66
|
-
</tr>
|
67
|
-
|
68
|
-
|
69
|
-
<tr class="top-aligned-row">
|
70
|
-
<td><strong>Parent:</strong></td>
|
71
|
-
<td>
|
72
|
-
|
73
|
-
<a href="ScenarioData.html">
|
74
|
-
|
75
|
-
TaskJuggler::ScenarioData
|
76
|
-
|
77
|
-
</a>
|
78
|
-
|
79
|
-
</td>
|
80
|
-
</tr>
|
81
|
-
|
82
|
-
</table>
|
83
|
-
</div>
|
84
|
-
<!-- banner header -->
|
85
|
-
|
86
|
-
<div id="bodyContent">
|
87
|
-
|
88
|
-
<div id="contextContent">
|
89
|
-
|
90
|
-
</div>
|
91
|
-
|
92
|
-
|
93
|
-
<div id="method-list">
|
94
|
-
<h3 class="section-bar">Methods</h3>
|
95
|
-
|
96
|
-
<div class="name-list">
|
97
|
-
|
98
|
-
<a href="#M000838">allocated?</a>
|
99
|
-
|
100
|
-
<a href="#M000821">available?</a>
|
101
|
-
|
102
|
-
<a href="#M000823">book</a>
|
103
|
-
|
104
|
-
<a href="#M000824">bookBooking</a>
|
105
|
-
|
106
|
-
<a href="#M000822">booked?</a>
|
107
|
-
|
108
|
-
<a href="#M000820">calcCriticalness</a>
|
109
|
-
|
110
|
-
<a href="#M000840">collectTimeOffIntervals</a>
|
111
|
-
|
112
|
-
<a href="#M000837">cost</a>
|
113
|
-
|
114
|
-
<a href="#M000833">getAllocatedTime</a>
|
115
|
-
|
116
|
-
<a href="#M000832">getAllocatedWork</a>
|
117
|
-
|
118
|
-
<a href="#M000839">getBookings</a>
|
119
|
-
|
120
|
-
<a href="#M000834">getEffectiveFreeTime</a>
|
121
|
-
|
122
|
-
<a href="#M000835">getEffectiveFreeWork</a>
|
123
|
-
|
124
|
-
<a href="#M000831">getEffectiveWork</a>
|
125
|
-
|
126
|
-
<a href="#M000818">new</a>
|
127
|
-
|
128
|
-
<a href="#M000819">prepareScheduling</a>
|
129
|
-
|
130
|
-
<a href="#M000825">query_cost</a>
|
131
|
-
|
132
|
-
<a href="#M000826">query_effort</a>
|
133
|
-
|
134
|
-
<a href="#M000827">query_freetime</a>
|
135
|
-
|
136
|
-
<a href="#M000828">query_freework</a>
|
137
|
-
|
138
|
-
<a href="#M000829">query_rate</a>
|
139
|
-
|
140
|
-
<a href="#M000830">query_revenue</a>
|
141
|
-
|
142
|
-
<a href="#M000836">turnover</a>
|
143
|
-
|
144
|
-
</div>
|
145
|
-
</div>
|
146
|
-
|
147
|
-
</div>
|
148
|
-
|
149
|
-
<!-- if includes -->
|
150
|
-
|
151
|
-
<div id="section">
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
<!-- if method_list -->
|
157
|
-
|
158
|
-
<div id="methods">
|
159
|
-
|
160
|
-
<h3 class="section-bar">Public Class methods</h3>
|
161
|
-
|
162
|
-
|
163
|
-
<div id="method-M000818" class="method-detail">
|
164
|
-
<a name="M000818"></a>
|
165
|
-
|
166
|
-
<div class="method-heading">
|
167
|
-
|
168
|
-
<a href="#M000818" class="method-signature">
|
169
|
-
|
170
|
-
<span class="method-name">new</span><span class="method-args">(resource, scenarioIdx, attributes)</span>
|
171
|
-
|
172
|
-
</a>
|
173
|
-
|
174
|
-
</div>
|
175
|
-
|
176
|
-
<div class="method-description">
|
177
|
-
|
178
|
-
<p><a class="source-toggle" href="#"
|
179
|
-
onclick="toggleCode('M000818-source');return false;">[Source]</a></p>
|
180
|
-
<div class="method-source-code" id="M000818-source">
|
181
|
-
<pre>
|
182
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 20</span>
|
183
|
-
20: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">resource</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">attributes</span>)
|
184
|
-
21: <span class="ruby-keyword kw">super</span>
|
185
|
-
22:
|
186
|
-
23: <span class="ruby-comment cmt"># The scoreboard entries are either nil, a number or a task reference. nil</span>
|
187
|
-
24: <span class="ruby-comment cmt"># means the slot is unassigned. The task reference means assigned to this</span>
|
188
|
-
25: <span class="ruby-comment cmt"># task. The numbers have the following values:</span>
|
189
|
-
26: <span class="ruby-comment cmt"># 1: Off hour</span>
|
190
|
-
27: <span class="ruby-comment cmt"># 2: Vacation</span>
|
191
|
-
28: <span class="ruby-comment cmt"># The scoreboard is only created when needed to save memory for projects</span>
|
192
|
-
29: <span class="ruby-comment cmt"># which read-in the coporate employee database but only need a small</span>
|
193
|
-
30: <span class="ruby-comment cmt"># subset.</span>
|
194
|
-
31: <span class="ruby-ivar">@scoreboard</span> = <span class="ruby-keyword kw">nil</span>
|
195
|
-
32:
|
196
|
-
33: <span class="ruby-ivar">@firstBookedSlot</span> = <span class="ruby-keyword kw">nil</span>
|
197
|
-
34: <span class="ruby-ivar">@lastBookedSlot</span> = <span class="ruby-keyword kw">nil</span>
|
198
|
-
35: <span class="ruby-keyword kw">end</span>
|
199
|
-
</pre>
|
200
|
-
</div>
|
201
|
-
|
202
|
-
</div>
|
203
|
-
</div>
|
204
|
-
|
205
|
-
|
206
|
-
<h3 class="section-bar">Public Instance methods</h3>
|
207
|
-
|
208
|
-
|
209
|
-
<div id="method-M000838" class="method-detail">
|
210
|
-
<a name="M000838"></a>
|
211
|
-
|
212
|
-
<div class="method-heading">
|
213
|
-
|
214
|
-
<a href="#M000838" class="method-signature">
|
215
|
-
|
216
|
-
<span class="method-name">allocated?</span><span class="method-args">(iv, task = nil)</span>
|
217
|
-
|
218
|
-
</a>
|
219
|
-
|
220
|
-
</div>
|
221
|
-
|
222
|
-
<div class="method-description">
|
223
|
-
|
224
|
-
<p>
|
225
|
-
Returns true if the resource or any of its children is allocated during the
|
226
|
-
period specified with the <a href="Interval.html">Interval</a> <em>iv</em>.
|
227
|
-
If task is not nil only allocations to this tasks are respected.
|
228
|
-
</p>
|
229
|
-
|
230
|
-
<p><a class="source-toggle" href="#"
|
231
|
-
onclick="toggleCode('M000838-source');return false;">[Source]</a></p>
|
232
|
-
<div class="method-source-code" id="M000838-source">
|
233
|
-
<pre>
|
234
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 331</span>
|
235
|
-
331: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allocated?</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
|
236
|
-
332: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
|
237
|
-
333:
|
238
|
-
334: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">true</span>)
|
239
|
-
335: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">true</span>)
|
240
|
-
336:
|
241
|
-
337: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@firstBookedSlot</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@firstBookedSlot</span> <span class="ruby-operator">&&</span>
|
242
|
-
338: <span class="ruby-identifier">startIdx</span> <span class="ruby-operator"><</span> <span class="ruby-ivar">@firstBookedSlot</span>
|
243
|
-
339: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@lastBookedSlot</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@lastBookedSlot</span> <span class="ruby-operator">&&</span>
|
244
|
-
340: <span class="ruby-identifier">endIdx</span> <span class="ruby-operator"><</span> <span class="ruby-ivar">@lastBookedSlot</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
|
245
|
-
341: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span> <span class="ruby-operator">></span> <span class="ruby-identifier">endIdx</span>
|
246
|
-
342:
|
247
|
-
343: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">allocatedSub</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>)
|
248
|
-
344: <span class="ruby-keyword kw">end</span>
|
249
|
-
</pre>
|
250
|
-
</div>
|
251
|
-
|
252
|
-
</div>
|
253
|
-
</div>
|
254
|
-
|
255
|
-
|
256
|
-
<div id="method-M000821" class="method-detail">
|
257
|
-
<a name="M000821"></a>
|
258
|
-
|
259
|
-
<div class="method-heading">
|
260
|
-
|
261
|
-
<a href="#M000821" class="method-signature">
|
262
|
-
|
263
|
-
<span class="method-name">available?</span><span class="method-args">(sbIdx)</span>
|
264
|
-
|
265
|
-
</a>
|
266
|
-
|
267
|
-
</div>
|
268
|
-
|
269
|
-
<div class="method-description">
|
270
|
-
|
271
|
-
<p>
|
272
|
-
Returns true if the resource is available at the time specified by
|
273
|
-
<em>sbIdx</em>.
|
274
|
-
</p>
|
275
|
-
|
276
|
-
<p><a class="source-toggle" href="#"
|
277
|
-
onclick="toggleCode('M000821-source');return false;">[Source]</a></p>
|
278
|
-
<div class="method-source-code" id="M000821-source">
|
279
|
-
<pre>
|
280
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 65</span>
|
281
|
-
65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">available?</span>(<span class="ruby-identifier">sbIdx</span>)
|
282
|
-
66: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">sbIdx</span>].<span class="ruby-identifier">nil?</span>
|
283
|
-
67:
|
284
|
-
68: <span class="ruby-identifier">limits</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'limits'</span>)
|
285
|
-
69: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">limits</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">limits</span>.<span class="ruby-identifier">ok?</span>(<span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">sbIdx</span>))
|
286
|
-
70:
|
287
|
-
71: <span class="ruby-keyword kw">true</span>
|
288
|
-
72: <span class="ruby-keyword kw">end</span>
|
289
|
-
</pre>
|
290
|
-
</div>
|
291
|
-
|
292
|
-
</div>
|
293
|
-
</div>
|
294
|
-
|
295
|
-
|
296
|
-
<div id="method-M000823" class="method-detail">
|
297
|
-
<a name="M000823"></a>
|
298
|
-
|
299
|
-
<div class="method-heading">
|
300
|
-
|
301
|
-
<a href="#M000823" class="method-signature">
|
302
|
-
|
303
|
-
<span class="method-name">book</span><span class="method-args">(sbIdx, task, force = false)</span>
|
304
|
-
|
305
|
-
</a>
|
306
|
-
|
307
|
-
</div>
|
308
|
-
|
309
|
-
<div class="method-description">
|
310
|
-
|
311
|
-
<p>
|
312
|
-
Book the slot indicated by the scoreboard index <tt>sbIdx</tt> for <a
|
313
|
-
href="Task.html">Task</a> <tt>task</tt>. If <tt>force</tt> is true,
|
314
|
-
overwrite the existing booking for this slot. The method returns true if
|
315
|
-
the slot was available.
|
316
|
-
</p>
|
317
|
-
|
318
|
-
<p><a class="source-toggle" href="#"
|
319
|
-
onclick="toggleCode('M000823-source');return false;">[Source]</a></p>
|
320
|
-
<div class="method-source-code" id="M000823-source">
|
321
|
-
<pre>
|
322
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 83</span>
|
323
|
-
83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">book</span>(<span class="ruby-identifier">sbIdx</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">force</span> = <span class="ruby-keyword kw">false</span>)
|
324
|
-
84: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">force</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">available?</span>(<span class="ruby-identifier">sbIdx</span>)
|
325
|
-
85:
|
326
|
-
86: <span class="ruby-comment cmt">#puts "Booking resource #{@property.fullId} at " +</span>
|
327
|
-
87: <span class="ruby-comment cmt"># "#{@scoreboard.idxToDate(sbIdx)}/#{sbIdx} for task #{task.fullId}\n"</span>
|
328
|
-
88: <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">sbIdx</span>] = <span class="ruby-identifier">task</span>
|
329
|
-
89: <span class="ruby-comment cmt"># Track the total allocated slots for this resource and all parent</span>
|
330
|
-
90: <span class="ruby-comment cmt"># resources.</span>
|
331
|
-
91: <span class="ruby-identifier">t</span> = <span class="ruby-ivar">@property</span>
|
332
|
-
92: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">t</span>
|
333
|
-
93: <span class="ruby-identifier">t</span>[<span class="ruby-value str">'effort'</span>, <span class="ruby-ivar">@scenarioIdx</span>] <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
334
|
-
94: <span class="ruby-identifier">t</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>
|
335
|
-
95: <span class="ruby-keyword kw">end</span>
|
336
|
-
96: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'limits'</span>).<span class="ruby-identifier">inc</span>(<span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">sbIdx</span>)) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'limits'</span>)
|
337
|
-
97:
|
338
|
-
98: <span class="ruby-comment cmt"># Make sure the task is in the list of duties.</span>
|
339
|
-
99: <span class="ruby-ivar">@property</span>[<span class="ruby-value str">'duties'</span>, <span class="ruby-ivar">@scenarioIdx</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">task</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'duties'</span>).<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">task</span>)
|
340
|
-
100:
|
341
|
-
101: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@firstBookedSlot</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@firstBookedSlot</span> <span class="ruby-operator">></span> <span class="ruby-identifier">sbIdx</span>
|
342
|
-
102: <span class="ruby-ivar">@firstBookedSlot</span> = <span class="ruby-identifier">sbIdx</span>
|
343
|
-
103: <span class="ruby-keyword kw">end</span>
|
344
|
-
104: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@lastBookedSlot</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@lastBookedSlot</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">sbIdx</span>
|
345
|
-
105: <span class="ruby-ivar">@lastBookedSlot</span> = <span class="ruby-identifier">sbIdx</span>
|
346
|
-
106: <span class="ruby-keyword kw">end</span>
|
347
|
-
107: <span class="ruby-keyword kw">true</span>
|
348
|
-
108: <span class="ruby-keyword kw">end</span>
|
349
|
-
</pre>
|
350
|
-
</div>
|
351
|
-
|
352
|
-
</div>
|
353
|
-
</div>
|
354
|
-
|
355
|
-
|
356
|
-
<div id="method-M000824" class="method-detail">
|
357
|
-
<a name="M000824"></a>
|
358
|
-
|
359
|
-
<div class="method-heading">
|
360
|
-
|
361
|
-
<a href="#M000824" class="method-signature">
|
362
|
-
|
363
|
-
<span class="method-name">bookBooking</span><span class="method-args">(sbIdx, booking)</span>
|
364
|
-
|
365
|
-
</a>
|
366
|
-
|
367
|
-
</div>
|
368
|
-
|
369
|
-
<div class="method-description">
|
370
|
-
|
371
|
-
<p><a class="source-toggle" href="#"
|
372
|
-
onclick="toggleCode('M000824-source');return false;">[Source]</a></p>
|
373
|
-
<div class="method-source-code" id="M000824-source">
|
374
|
-
<pre>
|
375
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 110</span>
|
376
|
-
110: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">bookBooking</span>(<span class="ruby-identifier">sbIdx</span>, <span class="ruby-identifier">booking</span>)
|
377
|
-
111: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
|
378
|
-
112:
|
379
|
-
113: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">sbIdx</span>].<span class="ruby-identifier">nil?</span>
|
380
|
-
114: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">booked?</span>(<span class="ruby-identifier">sbIdx</span>)
|
381
|
-
115: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'booking_conflict'</span>,
|
382
|
-
116: <span class="ruby-node">"Resource #{@property.fullId} has multiple conflicting "</span> <span class="ruby-operator">+</span>
|
383
|
-
117: <span class="ruby-node">"bookings for #{@scoreboard.idxToDate(sbIdx)}. The "</span> <span class="ruby-operator">+</span>
|
384
|
-
118: <span class="ruby-node">"conflicting tasks are #{@scoreboard[sbIdx].fullId} and "</span> <span class="ruby-operator">+</span>
|
385
|
-
119: <span class="ruby-node">"#{booking.task.fullId}."</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-identifier">booking</span>.<span class="ruby-identifier">sourceFileInfo</span>)
|
386
|
-
120: <span class="ruby-keyword kw">end</span>
|
387
|
-
121: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">sbIdx</span>] <span class="ruby-operator">></span> <span class="ruby-identifier">booking</span>.<span class="ruby-identifier">overtime</span>
|
388
|
-
122: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">sbIdx</span>] <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">booking</span>.<span class="ruby-identifier">sloppy</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
389
|
-
123: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'booking_no_duty'</span>,
|
390
|
-
124: <span class="ruby-node">"Resource #{@property.fullId} has no duty at "</span> <span class="ruby-operator">+</span>
|
391
|
-
125: <span class="ruby-node">"#{@scoreboard.idxToDate(sbIdx)}."</span>, <span class="ruby-keyword kw">true</span>,
|
392
|
-
126: <span class="ruby-identifier">booking</span>.<span class="ruby-identifier">sourceFileInfo</span>)
|
393
|
-
127: <span class="ruby-keyword kw">end</span>
|
394
|
-
128: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">sbIdx</span>] <span class="ruby-operator">==</span> <span class="ruby-value">2</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">booking</span>.<span class="ruby-identifier">sloppy</span> <span class="ruby-operator"><=</span> <span class="ruby-value">1</span>
|
395
|
-
129: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'booking_on_vacation'</span>,
|
396
|
-
130: <span class="ruby-node">"Resource #{@property.fullId} is on vacation at "</span> <span class="ruby-operator">+</span>
|
397
|
-
131: <span class="ruby-node">"#{@scoreboard.idxToDate(sbIdx)}."</span>, <span class="ruby-keyword kw">true</span>,
|
398
|
-
132: <span class="ruby-identifier">booking</span>.<span class="ruby-identifier">sourceFileInfo</span>)
|
399
|
-
133: <span class="ruby-keyword kw">end</span>
|
400
|
-
134: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
401
|
-
135: <span class="ruby-keyword kw">end</span>
|
402
|
-
136: <span class="ruby-keyword kw">end</span>
|
403
|
-
137:
|
404
|
-
138: <span class="ruby-identifier">book</span>(<span class="ruby-identifier">sbIdx</span>, <span class="ruby-identifier">booking</span>.<span class="ruby-identifier">task</span>, <span class="ruby-keyword kw">true</span>)
|
405
|
-
139: <span class="ruby-keyword kw">end</span>
|
406
|
-
</pre>
|
407
|
-
</div>
|
408
|
-
|
409
|
-
</div>
|
410
|
-
</div>
|
411
|
-
|
412
|
-
|
413
|
-
<div id="method-M000822" class="method-detail">
|
414
|
-
<a name="M000822"></a>
|
415
|
-
|
416
|
-
<div class="method-heading">
|
417
|
-
|
418
|
-
<a href="#M000822" class="method-signature">
|
419
|
-
|
420
|
-
<span class="method-name">booked?</span><span class="method-args">(sbIdx)</span>
|
421
|
-
|
422
|
-
</a>
|
423
|
-
|
424
|
-
</div>
|
425
|
-
|
426
|
-
<div class="method-description">
|
427
|
-
|
428
|
-
<p>
|
429
|
-
Return true if the resource is booked for a tasks at the time specified by
|
430
|
-
<em>sbIdx</em>.
|
431
|
-
</p>
|
432
|
-
|
433
|
-
<p><a class="source-toggle" href="#"
|
434
|
-
onclick="toggleCode('M000822-source');return false;">[Source]</a></p>
|
435
|
-
<div class="method-source-code" id="M000822-source">
|
436
|
-
<pre>
|
437
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 76</span>
|
438
|
-
76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">booked?</span>(<span class="ruby-identifier">sbIdx</span>)
|
439
|
-
77: <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">sbIdx</span>].<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
|
440
|
-
78: <span class="ruby-keyword kw">end</span>
|
441
|
-
</pre>
|
442
|
-
</div>
|
443
|
-
|
444
|
-
</div>
|
445
|
-
</div>
|
446
|
-
|
447
|
-
|
448
|
-
<div id="method-M000820" class="method-detail">
|
449
|
-
<a name="M000820"></a>
|
450
|
-
|
451
|
-
<div class="method-heading">
|
452
|
-
|
453
|
-
<a href="#M000820" class="method-signature">
|
454
|
-
|
455
|
-
<span class="method-name">calcCriticalness</span><span class="method-args">()</span>
|
456
|
-
|
457
|
-
</a>
|
458
|
-
|
459
|
-
</div>
|
460
|
-
|
461
|
-
<div class="method-description">
|
462
|
-
|
463
|
-
<p>
|
464
|
-
The criticalness of a resource is a measure for the probabilty that all
|
465
|
-
allocations can be fullfilled. The smaller the value, the more likely will
|
466
|
-
the tasks get the resource. A value above 1.0 means that statistically some
|
467
|
-
tasks will not get their resources. A value between 0 and 1 implies no
|
468
|
-
guarantee, though.
|
469
|
-
</p>
|
470
|
-
|
471
|
-
<p><a class="source-toggle" href="#"
|
472
|
-
onclick="toggleCode('M000820-source');return false;">[Source]</a></p>
|
473
|
-
<div class="method-source-code" id="M000820-source">
|
474
|
-
<pre>
|
475
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 49</span>
|
476
|
-
49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">calcCriticalness</span>
|
477
|
-
50: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
|
478
|
-
51: <span class="ruby-comment cmt"># Resources that are not allocated are not critical at all.</span>
|
479
|
-
52: <span class="ruby-ivar">@property</span>[<span class="ruby-value str">'criticalness'</span>, <span class="ruby-ivar">@scenarioIdx</span>] = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
|
480
|
-
53: <span class="ruby-keyword kw">else</span>
|
481
|
-
54: <span class="ruby-identifier">freeSlots</span> = <span class="ruby-value">0</span>
|
482
|
-
55: <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">slot</span><span class="ruby-operator">|</span>
|
483
|
-
56: <span class="ruby-identifier">freeSlots</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">slot</span>.<span class="ruby-identifier">nil?</span>
|
484
|
-
57: <span class="ruby-keyword kw">end</span>
|
485
|
-
58: <span class="ruby-ivar">@property</span>[<span class="ruby-value str">'criticalness'</span>, <span class="ruby-ivar">@scenarioIdx</span>] = <span class="ruby-identifier">freeSlots</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-value">1.0</span> <span class="ruby-operator">:</span>
|
486
|
-
59: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'alloctdeffort'</span>) <span class="ruby-operator">/</span> <span class="ruby-identifier">freeSlots</span>
|
487
|
-
60: <span class="ruby-keyword kw">end</span>
|
488
|
-
61: <span class="ruby-keyword kw">end</span>
|
489
|
-
</pre>
|
490
|
-
</div>
|
491
|
-
|
492
|
-
</div>
|
493
|
-
</div>
|
494
|
-
|
495
|
-
|
496
|
-
<div id="method-M000840" class="method-detail">
|
497
|
-
<a name="M000840"></a>
|
498
|
-
|
499
|
-
<div class="method-heading">
|
500
|
-
|
501
|
-
<a href="#M000840" class="method-signature">
|
502
|
-
|
503
|
-
<span class="method-name">collectTimeOffIntervals</span><span class="method-args">(iv, minDuration)</span>
|
504
|
-
|
505
|
-
</a>
|
506
|
-
|
507
|
-
</div>
|
508
|
-
|
509
|
-
<div class="method-description">
|
510
|
-
|
511
|
-
<p>
|
512
|
-
Return a list of scoreboard intervals that are at least
|
513
|
-
<em>minDuration</em> long and contain only 1 and 2. These values determine
|
514
|
-
off-hours of the resource. The result is an Array of [ start, end ] <a
|
515
|
-
href="TjTime.html">TjTime</a> values.
|
516
|
-
</p>
|
517
|
-
|
518
|
-
<p><a class="source-toggle" href="#"
|
519
|
-
onclick="toggleCode('M000840-source');return false;">[Source]</a></p>
|
520
|
-
<div class="method-source-code" id="M000840-source">
|
521
|
-
<pre>
|
522
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 396</span>
|
523
|
-
396: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collectTimeOffIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>)
|
524
|
-
397: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
|
525
|
-
398:
|
526
|
-
399: <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">collectTimeOffIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>, [ <span class="ruby-value">1</span>, <span class="ruby-value">2</span> ])
|
527
|
-
400: <span class="ruby-keyword kw">end</span>
|
528
|
-
</pre>
|
529
|
-
</div>
|
530
|
-
|
531
|
-
</div>
|
532
|
-
</div>
|
533
|
-
|
534
|
-
|
535
|
-
<div id="method-M000837" class="method-detail">
|
536
|
-
<a name="M000837"></a>
|
537
|
-
|
538
|
-
<div class="method-heading">
|
539
|
-
|
540
|
-
<a href="#M000837" class="method-signature">
|
541
|
-
|
542
|
-
<span class="method-name">cost</span><span class="method-args">(startIdx, endIdx, task = nil)</span>
|
543
|
-
|
544
|
-
</a>
|
545
|
-
|
546
|
-
</div>
|
547
|
-
|
548
|
-
<div class="method-description">
|
549
|
-
|
550
|
-
<p>
|
551
|
-
Returns the cost for using this resource during the specified <a
|
552
|
-
href="Interval.html">Interval</a> <em>period</em>. If a <a
|
553
|
-
href="Task.html">Task</a> <em>task</em> is provided, only the work on this
|
554
|
-
particular task is considered.
|
555
|
-
</p>
|
556
|
-
|
557
|
-
<p><a class="source-toggle" href="#"
|
558
|
-
onclick="toggleCode('M000837-source');return false;">[Source]</a></p>
|
559
|
-
<div class="method-source-code" id="M000837-source">
|
560
|
-
<pre>
|
561
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 324</span>
|
562
|
-
324: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cost</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
|
563
|
-
325: <span class="ruby-identifier">getAllocatedTime</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>) <span class="ruby-operator">*</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'rate'</span>)
|
564
|
-
326: <span class="ruby-keyword kw">end</span>
|
565
|
-
</pre>
|
566
|
-
</div>
|
567
|
-
|
568
|
-
</div>
|
569
|
-
</div>
|
570
|
-
|
571
|
-
|
572
|
-
<div id="method-M000833" class="method-detail">
|
573
|
-
<a name="M000833"></a>
|
574
|
-
|
575
|
-
<div class="method-heading">
|
576
|
-
|
577
|
-
<a href="#M000833" class="method-signature">
|
578
|
-
|
579
|
-
<span class="method-name">getAllocatedTime</span><span class="method-args">(startIdx, endIdx, task = nil)</span>
|
580
|
-
|
581
|
-
</a>
|
582
|
-
|
583
|
-
</div>
|
584
|
-
|
585
|
-
<div class="method-description">
|
586
|
-
|
587
|
-
<p>
|
588
|
-
Returns the allocated accumulated time of this resource and its children.
|
589
|
-
</p>
|
590
|
-
|
591
|
-
<p><a class="source-toggle" href="#"
|
592
|
-
onclick="toggleCode('M000833-source');return false;">[Source]</a></p>
|
593
|
-
<div class="method-source-code" id="M000833-source">
|
594
|
-
<pre>
|
595
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 242</span>
|
596
|
-
242: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getAllocatedTime</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
|
597
|
-
243: <span class="ruby-comment cmt"># Convert the interval dates to indexes if needed.</span>
|
598
|
-
244: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
|
599
|
-
245: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">endIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
|
600
|
-
246:
|
601
|
-
247: <span class="ruby-identifier">time</span> = <span class="ruby-value">0</span>
|
602
|
-
248: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
|
603
|
-
249: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
|
604
|
-
250: <span class="ruby-identifier">time</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">getAllocatedWork</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>)
|
605
|
-
251: <span class="ruby-keyword kw">end</span>
|
606
|
-
252: <span class="ruby-keyword kw">else</span>
|
607
|
-
253: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
|
608
|
-
254:
|
609
|
-
255: <span class="ruby-identifier">time</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">convertToDailyLoad</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>] <span class="ruby-operator">*</span>
|
610
|
-
256: <span class="ruby-identifier">getAllocatedSlots</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>))
|
611
|
-
257: <span class="ruby-keyword kw">end</span>
|
612
|
-
258: <span class="ruby-identifier">time</span>
|
613
|
-
259: <span class="ruby-keyword kw">end</span>
|
614
|
-
</pre>
|
615
|
-
</div>
|
616
|
-
|
617
|
-
</div>
|
618
|
-
</div>
|
619
|
-
|
620
|
-
|
621
|
-
<div id="method-M000832" class="method-detail">
|
622
|
-
<a name="M000832"></a>
|
623
|
-
|
624
|
-
<div class="method-heading">
|
625
|
-
|
626
|
-
<a href="#M000832" class="method-signature">
|
627
|
-
|
628
|
-
<span class="method-name">getAllocatedWork</span><span class="method-args">(startIdx, endIdx, task = nil)</span>
|
629
|
-
|
630
|
-
</a>
|
631
|
-
|
632
|
-
</div>
|
633
|
-
|
634
|
-
<div class="method-description">
|
635
|
-
|
636
|
-
<p>
|
637
|
-
Returns the allocated work of the resource (and its children).
|
638
|
-
</p>
|
639
|
-
|
640
|
-
<p><a class="source-toggle" href="#"
|
641
|
-
onclick="toggleCode('M000832-source');return false;">[Source]</a></p>
|
642
|
-
<div class="method-source-code" id="M000832-source">
|
643
|
-
<pre>
|
644
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 221</span>
|
645
|
-
221: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getAllocatedWork</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
|
646
|
-
222: <span class="ruby-comment cmt"># Convert the interval dates to indexes if needed.</span>
|
647
|
-
223: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
|
648
|
-
224: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">endIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
|
649
|
-
225:
|
650
|
-
226: <span class="ruby-identifier">work</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
|
651
|
-
227: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
|
652
|
-
228: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
|
653
|
-
229: <span class="ruby-identifier">work</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">getAllocatedWork</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>)
|
654
|
-
230: <span class="ruby-keyword kw">end</span>
|
655
|
-
231: <span class="ruby-keyword kw">else</span>
|
656
|
-
232: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span><span class="ruby-value">.0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
|
657
|
-
233:
|
658
|
-
234: <span class="ruby-identifier">work</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">convertToDailyLoad</span>(
|
659
|
-
235: <span class="ruby-identifier">getAllocatedSlots</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>) <span class="ruby-operator">*</span>
|
660
|
-
236: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>])
|
661
|
-
237: <span class="ruby-keyword kw">end</span>
|
662
|
-
238: <span class="ruby-identifier">work</span>
|
663
|
-
239: <span class="ruby-keyword kw">end</span>
|
664
|
-
</pre>
|
665
|
-
</div>
|
666
|
-
|
667
|
-
</div>
|
668
|
-
</div>
|
669
|
-
|
670
|
-
|
671
|
-
<div id="method-M000839" class="method-detail">
|
672
|
-
<a name="M000839"></a>
|
673
|
-
|
674
|
-
<div class="method-heading">
|
675
|
-
|
676
|
-
<a href="#M000839" class="method-signature">
|
677
|
-
|
678
|
-
<span class="method-name">getBookings</span><span class="method-args">()</span>
|
679
|
-
|
680
|
-
</a>
|
681
|
-
|
682
|
-
</div>
|
683
|
-
|
684
|
-
<div class="method-description">
|
685
|
-
|
686
|
-
<p>
|
687
|
-
Iterate over the scoreboard and turn its content into a set of Bookings.
|
688
|
-
</p>
|
689
|
-
|
690
|
-
<p><a class="source-toggle" href="#"
|
691
|
-
onclick="toggleCode('M000839-source');return false;">[Source]</a></p>
|
692
|
-
<div class="method-source-code" id="M000839-source">
|
693
|
-
<pre>
|
694
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 347</span>
|
695
|
-
347: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getBookings</span>
|
696
|
-
348: <span class="ruby-keyword kw">return</span> {} <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span>
|
697
|
-
349: <span class="ruby-ivar">@firstBookedSlot</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@lastBookedSlot</span>.<span class="ruby-identifier">nil?</span>
|
698
|
-
350:
|
699
|
-
351: <span class="ruby-identifier">bookings</span> = {}
|
700
|
-
352: <span class="ruby-identifier">lastTask</span> = <span class="ruby-keyword kw">nil</span>
|
701
|
-
353: <span class="ruby-identifier">bookingStart</span> = <span class="ruby-keyword kw">nil</span>
|
702
|
-
354:
|
703
|
-
355: <span class="ruby-comment cmt"># To speedup the collection we start with the first booked slot and end</span>
|
704
|
-
356: <span class="ruby-comment cmt"># with the last booked slot.</span>
|
705
|
-
357: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@firstBookedSlot</span>
|
706
|
-
358: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@lastBookedSlot</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
|
707
|
-
359:
|
708
|
-
360: <span class="ruby-comment cmt"># In case the index markers are still uninitialized, we have no bookings.</span>
|
709
|
-
361: <span class="ruby-keyword kw">return</span> {} <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">nil?</span>
|
710
|
-
362:
|
711
|
-
363: <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">endIdx</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
|
712
|
-
364: <span class="ruby-identifier">task</span> = <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>]
|
713
|
-
365: <span class="ruby-comment cmt"># Now we watch for task changes.</span>
|
714
|
-
366: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">lastTask</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">lastTask</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)) <span class="ruby-operator">||</span>
|
715
|
-
367: (<span class="ruby-identifier">task</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>) <span class="ruby-operator">&&</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">endIdx</span>)
|
716
|
-
368: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">lastTask</span>.<span class="ruby-identifier">nil?</span>
|
717
|
-
369: <span class="ruby-comment cmt"># If we don't have a Booking for the task yet, we create one.</span>
|
718
|
-
370: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bookings</span>[<span class="ruby-identifier">lastTask</span>].<span class="ruby-identifier">nil?</span>
|
719
|
-
371: <span class="ruby-identifier">bookings</span>[<span class="ruby-identifier">lastTask</span>] = <span class="ruby-constant">Booking</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@property</span>, <span class="ruby-identifier">lastTask</span>, [])
|
720
|
-
372: <span class="ruby-keyword kw">end</span>
|
721
|
-
373:
|
722
|
-
374: <span class="ruby-comment cmt"># Make sure the index is correct even for the last task block.</span>
|
723
|
-
375: <span class="ruby-identifier">idx</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">endIdx</span>
|
724
|
-
376: <span class="ruby-comment cmt"># Append the new interval to the Booking.</span>
|
725
|
-
377: <span class="ruby-identifier">bookings</span>[<span class="ruby-identifier">lastTask</span>].<span class="ruby-identifier">intervals</span> <span class="ruby-operator"><<</span>
|
726
|
-
378: <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">bookingStart</span>),
|
727
|
-
379: <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>))
|
728
|
-
380: <span class="ruby-keyword kw">end</span>
|
729
|
-
381: <span class="ruby-comment cmt"># Get ready for the next task booking interval</span>
|
730
|
-
382: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
|
731
|
-
383: <span class="ruby-identifier">lastTask</span> = <span class="ruby-identifier">task</span>
|
732
|
-
384: <span class="ruby-identifier">bookingStart</span> = <span class="ruby-identifier">idx</span>
|
733
|
-
385: <span class="ruby-keyword kw">else</span>
|
734
|
-
386: <span class="ruby-identifier">lastTask</span> = <span class="ruby-identifier">bookingStart</span> = <span class="ruby-keyword kw">nil</span>
|
735
|
-
387: <span class="ruby-keyword kw">end</span>
|
736
|
-
388: <span class="ruby-keyword kw">end</span>
|
737
|
-
389: <span class="ruby-keyword kw">end</span>
|
738
|
-
390: <span class="ruby-identifier">bookings</span>
|
739
|
-
391: <span class="ruby-keyword kw">end</span>
|
740
|
-
</pre>
|
741
|
-
</div>
|
742
|
-
|
743
|
-
</div>
|
744
|
-
</div>
|
745
|
-
|
746
|
-
|
747
|
-
<div id="method-M000834" class="method-detail">
|
748
|
-
<a name="M000834"></a>
|
749
|
-
|
750
|
-
<div class="method-heading">
|
751
|
-
|
752
|
-
<a href="#M000834" class="method-signature">
|
753
|
-
|
754
|
-
<span class="method-name">getEffectiveFreeTime</span><span class="method-args">(startIdx, endIdx)</span>
|
755
|
-
|
756
|
-
</a>
|
757
|
-
|
758
|
-
</div>
|
759
|
-
|
760
|
-
<div class="method-description">
|
761
|
-
|
762
|
-
<p>
|
763
|
-
Return the unallocated work time (in seconds) of the resource and its
|
764
|
-
children.
|
765
|
-
</p>
|
766
|
-
|
767
|
-
<p><a class="source-toggle" href="#"
|
768
|
-
onclick="toggleCode('M000834-source');return false;">[Source]</a></p>
|
769
|
-
<div class="method-source-code" id="M000834-source">
|
770
|
-
<pre>
|
771
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 263</span>
|
772
|
-
263: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getEffectiveFreeTime</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>)
|
773
|
-
264: <span class="ruby-comment cmt"># Convert the interval dates to indexes if needed.</span>
|
774
|
-
265: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
|
775
|
-
266: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">endIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
|
776
|
-
267:
|
777
|
-
268: <span class="ruby-identifier">freeTime</span> = <span class="ruby-value">0</span>
|
778
|
-
269: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
|
779
|
-
270: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
|
780
|
-
271: <span class="ruby-identifier">freeTime</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">getEffectiveFreeTime</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>,
|
781
|
-
272: <span class="ruby-identifier">endIdx</span>)
|
782
|
-
273: <span class="ruby-keyword kw">end</span>
|
783
|
-
274: <span class="ruby-keyword kw">else</span>
|
784
|
-
275: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
|
785
|
-
276:
|
786
|
-
277: <span class="ruby-identifier">freeTime</span> = <span class="ruby-identifier">getFreeSlots</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>) <span class="ruby-operator">*</span>
|
787
|
-
278: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>]
|
788
|
-
279: <span class="ruby-keyword kw">end</span>
|
789
|
-
280: <span class="ruby-identifier">freeTime</span>
|
790
|
-
281: <span class="ruby-keyword kw">end</span>
|
791
|
-
</pre>
|
792
|
-
</div>
|
793
|
-
|
794
|
-
</div>
|
795
|
-
</div>
|
796
|
-
|
797
|
-
|
798
|
-
<div id="method-M000835" class="method-detail">
|
799
|
-
<a name="M000835"></a>
|
800
|
-
|
801
|
-
<div class="method-heading">
|
802
|
-
|
803
|
-
<a href="#M000835" class="method-signature">
|
804
|
-
|
805
|
-
<span class="method-name">getEffectiveFreeWork</span><span class="method-args">(startIdx, endIdx)</span>
|
806
|
-
|
807
|
-
</a>
|
808
|
-
|
809
|
-
</div>
|
810
|
-
|
811
|
-
<div class="method-description">
|
812
|
-
|
813
|
-
<p>
|
814
|
-
Return the unallocated work of the resource and its children weighted by
|
815
|
-
their efficiency.
|
816
|
-
</p>
|
817
|
-
|
818
|
-
<p><a class="source-toggle" href="#"
|
819
|
-
onclick="toggleCode('M000835-source');return false;">[Source]</a></p>
|
820
|
-
<div class="method-source-code" id="M000835-source">
|
821
|
-
<pre>
|
822
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 285</span>
|
823
|
-
285: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getEffectiveFreeWork</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>)
|
824
|
-
286: <span class="ruby-comment cmt"># Convert the interval dates to indexes if needed.</span>
|
825
|
-
287: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
|
826
|
-
288: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">endIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
|
827
|
-
289:
|
828
|
-
290: <span class="ruby-identifier">work</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
|
829
|
-
291: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
|
830
|
-
292: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
|
831
|
-
293: <span class="ruby-identifier">work</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">getEffectiveFreeWork</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>)
|
832
|
-
294: <span class="ruby-keyword kw">end</span>
|
833
|
-
295: <span class="ruby-keyword kw">else</span>
|
834
|
-
296: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
|
835
|
-
297:
|
836
|
-
298: <span class="ruby-identifier">work</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">convertToDailyLoad</span>(
|
837
|
-
299: <span class="ruby-identifier">getFreeSlots</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>) <span class="ruby-operator">*</span>
|
838
|
-
300: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>]) <span class="ruby-operator">*</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'efficiency'</span>)
|
839
|
-
301: <span class="ruby-keyword kw">end</span>
|
840
|
-
302: <span class="ruby-identifier">work</span>
|
841
|
-
303: <span class="ruby-keyword kw">end</span>
|
842
|
-
</pre>
|
843
|
-
</div>
|
844
|
-
|
845
|
-
</div>
|
846
|
-
</div>
|
847
|
-
|
848
|
-
|
849
|
-
<div id="method-M000831" class="method-detail">
|
850
|
-
<a name="M000831"></a>
|
851
|
-
|
852
|
-
<div class="method-heading">
|
853
|
-
|
854
|
-
<a href="#M000831" class="method-signature">
|
855
|
-
|
856
|
-
<span class="method-name">getEffectiveWork</span><span class="method-args">(startIdx, endIdx, task = nil)</span>
|
857
|
-
|
858
|
-
</a>
|
859
|
-
|
860
|
-
</div>
|
861
|
-
|
862
|
-
<div class="method-description">
|
863
|
-
|
864
|
-
<p>
|
865
|
-
Returns the work of the resource (and its children) weighted by their
|
866
|
-
efficiency.
|
867
|
-
</p>
|
868
|
-
|
869
|
-
<p><a class="source-toggle" href="#"
|
870
|
-
onclick="toggleCode('M000831-source');return false;">[Source]</a></p>
|
871
|
-
<div class="method-source-code" id="M000831-source">
|
872
|
-
<pre>
|
873
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 200</span>
|
874
|
-
200: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getEffectiveWork</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
|
875
|
-
201: <span class="ruby-comment cmt"># Convert the interval dates to indexes if needed.</span>
|
876
|
-
202: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
|
877
|
-
203: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">endIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
|
878
|
-
204:
|
879
|
-
205: <span class="ruby-identifier">work</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
|
880
|
-
206: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
|
881
|
-
207: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
|
882
|
-
208: <span class="ruby-identifier">work</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">getEffectiveWork</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>)
|
883
|
-
209: <span class="ruby-keyword kw">end</span>
|
884
|
-
210: <span class="ruby-keyword kw">else</span>
|
885
|
-
211: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span><span class="ruby-value">.0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
|
886
|
-
212:
|
887
|
-
213: <span class="ruby-identifier">work</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">convertToDailyLoad</span>(
|
888
|
-
214: <span class="ruby-identifier">getAllocatedSlots</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>) <span class="ruby-operator">*</span>
|
889
|
-
215: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>]) <span class="ruby-operator">*</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'efficiency'</span>)
|
890
|
-
216: <span class="ruby-keyword kw">end</span>
|
891
|
-
217: <span class="ruby-identifier">work</span>
|
892
|
-
218: <span class="ruby-keyword kw">end</span>
|
893
|
-
</pre>
|
894
|
-
</div>
|
895
|
-
|
896
|
-
</div>
|
897
|
-
</div>
|
898
|
-
|
899
|
-
|
900
|
-
<div id="method-M000819" class="method-detail">
|
901
|
-
<a name="M000819"></a>
|
902
|
-
|
903
|
-
<div class="method-heading">
|
904
|
-
|
905
|
-
<a href="#M000819" class="method-signature">
|
906
|
-
|
907
|
-
<span class="method-name">prepareScheduling</span><span class="method-args">()</span>
|
908
|
-
|
909
|
-
</a>
|
910
|
-
|
911
|
-
</div>
|
912
|
-
|
913
|
-
<div class="method-description">
|
914
|
-
|
915
|
-
<p>
|
916
|
-
This method must be called at the beginning of each scheduling run. It
|
917
|
-
initializes variables used during the scheduling process.
|
918
|
-
</p>
|
919
|
-
|
920
|
-
<p><a class="source-toggle" href="#"
|
921
|
-
onclick="toggleCode('M000819-source');return false;">[Source]</a></p>
|
922
|
-
<div class="method-source-code" id="M000819-source">
|
923
|
-
<pre>
|
924
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 39</span>
|
925
|
-
39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">prepareScheduling</span>
|
926
|
-
40: <span class="ruby-ivar">@property</span>[<span class="ruby-value str">'effort'</span>, <span class="ruby-ivar">@scenarioIdx</span>] = <span class="ruby-value">0</span>
|
927
|
-
41: <span class="ruby-identifier">initScoreboard</span>
|
928
|
-
42: <span class="ruby-keyword kw">end</span>
|
929
|
-
</pre>
|
930
|
-
</div>
|
931
|
-
|
932
|
-
</div>
|
933
|
-
</div>
|
934
|
-
|
935
|
-
|
936
|
-
<div id="method-M000825" class="method-detail">
|
937
|
-
<a name="M000825"></a>
|
938
|
-
|
939
|
-
<div class="method-heading">
|
940
|
-
|
941
|
-
<a href="#M000825" class="method-signature">
|
942
|
-
|
943
|
-
<span class="method-name">query_cost</span><span class="method-args">(query)</span>
|
944
|
-
|
945
|
-
</a>
|
946
|
-
|
947
|
-
</div>
|
948
|
-
|
949
|
-
<div class="method-description">
|
950
|
-
|
951
|
-
<p>
|
952
|
-
Compute the cost generated by this <a href="Resource.html">Resource</a> for
|
953
|
-
a given <a href="Account.html">Account</a> during a given interval. If a <a
|
954
|
-
href="Task.html">Task</a> is provided as scopeProperty only the turnover
|
955
|
-
directly assiciated with the <a href="Task.html">Task</a> is taken into
|
956
|
-
account.
|
957
|
-
</p>
|
958
|
-
|
959
|
-
<p><a class="source-toggle" href="#"
|
960
|
-
onclick="toggleCode('M000825-source');return false;">[Source]</a></p>
|
961
|
-
<div class="method-source-code" id="M000825-source">
|
962
|
-
<pre>
|
963
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 144</span>
|
964
|
-
144: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_cost</span>(<span class="ruby-identifier">query</span>)
|
965
|
-
145: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">query</span>.<span class="ruby-identifier">costAccount</span>
|
966
|
-
146: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">cost</span> =
|
967
|
-
147: <span class="ruby-identifier">turnover</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">costAccount</span>,
|
968
|
-
148: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span>)
|
969
|
-
149: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">currencyFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">cost</span>)
|
970
|
-
150: <span class="ruby-keyword kw">else</span>
|
971
|
-
151: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'No cost account'</span>
|
972
|
-
152: <span class="ruby-keyword kw">end</span>
|
973
|
-
153: <span class="ruby-keyword kw">end</span>
|
974
|
-
</pre>
|
975
|
-
</div>
|
976
|
-
|
977
|
-
</div>
|
978
|
-
</div>
|
979
|
-
|
980
|
-
|
981
|
-
<div id="method-M000826" class="method-detail">
|
982
|
-
<a name="M000826"></a>
|
983
|
-
|
984
|
-
<div class="method-heading">
|
985
|
-
|
986
|
-
<a href="#M000826" class="method-signature">
|
987
|
-
|
988
|
-
<span class="method-name">query_effort</span><span class="method-args">(query)</span>
|
989
|
-
|
990
|
-
</a>
|
991
|
-
|
992
|
-
</div>
|
993
|
-
|
994
|
-
<div class="method-description">
|
995
|
-
|
996
|
-
<p>
|
997
|
-
The effort allocated to the <a href="Resource.html">Resource</a> in the
|
998
|
-
specified interval. In case a <a href="Task.html">Task</a> is given as
|
999
|
-
scope property only the effort allocated to this <a
|
1000
|
-
href="Task.html">Task</a> is taken into account.
|
1001
|
-
</p>
|
1002
|
-
|
1003
|
-
<p><a class="source-toggle" href="#"
|
1004
|
-
onclick="toggleCode('M000826-source');return false;">[Source]</a></p>
|
1005
|
-
<div class="method-source-code" id="M000826-source">
|
1006
|
-
<pre>
|
1007
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 158</span>
|
1008
|
-
158: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_effort</span>(<span class="ruby-identifier">query</span>)
|
1009
|
-
159: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">effort</span> =
|
1010
|
-
160: <span class="ruby-identifier">getEffectiveWork</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span>)
|
1011
|
-
161: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scaleLoad</span>(<span class="ruby-identifier">effort</span>)
|
1012
|
-
162: <span class="ruby-keyword kw">end</span>
|
1013
|
-
</pre>
|
1014
|
-
</div>
|
1015
|
-
|
1016
|
-
</div>
|
1017
|
-
</div>
|
1018
|
-
|
1019
|
-
|
1020
|
-
<div id="method-M000827" class="method-detail">
|
1021
|
-
<a name="M000827"></a>
|
1022
|
-
|
1023
|
-
<div class="method-heading">
|
1024
|
-
|
1025
|
-
<a href="#M000827" class="method-signature">
|
1026
|
-
|
1027
|
-
<span class="method-name">query_freetime</span><span class="method-args">(query)</span>
|
1028
|
-
|
1029
|
-
</a>
|
1030
|
-
|
1031
|
-
</div>
|
1032
|
-
|
1033
|
-
<div class="method-description">
|
1034
|
-
|
1035
|
-
<p>
|
1036
|
-
The unallocated work time of the <a href="Resource.html">Resource</a>
|
1037
|
-
during the specified interval.
|
1038
|
-
</p>
|
1039
|
-
|
1040
|
-
<p><a class="source-toggle" href="#"
|
1041
|
-
onclick="toggleCode('M000827-source');return false;">[Source]</a></p>
|
1042
|
-
<div class="method-source-code" id="M000827-source">
|
1043
|
-
<pre>
|
1044
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 165</span>
|
1045
|
-
165: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_freetime</span>(<span class="ruby-identifier">query</span>)
|
1046
|
-
166: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">time</span> =
|
1047
|
-
167: <span class="ruby-identifier">getEffectiveFreeTime</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">endIdx</span>) <span class="ruby-operator">/</span> (<span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span>)
|
1048
|
-
168: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scaleDuration</span>(<span class="ruby-identifier">time</span>)
|
1049
|
-
169: <span class="ruby-keyword kw">end</span>
|
1050
|
-
</pre>
|
1051
|
-
</div>
|
1052
|
-
|
1053
|
-
</div>
|
1054
|
-
</div>
|
1055
|
-
|
1056
|
-
|
1057
|
-
<div id="method-M000828" class="method-detail">
|
1058
|
-
<a name="M000828"></a>
|
1059
|
-
|
1060
|
-
<div class="method-heading">
|
1061
|
-
|
1062
|
-
<a href="#M000828" class="method-signature">
|
1063
|
-
|
1064
|
-
<span class="method-name">query_freework</span><span class="method-args">(query)</span>
|
1065
|
-
|
1066
|
-
</a>
|
1067
|
-
|
1068
|
-
</div>
|
1069
|
-
|
1070
|
-
<div class="method-description">
|
1071
|
-
|
1072
|
-
<p>
|
1073
|
-
The unallocated effort of the <a href="Resource.html">Resource</a> during
|
1074
|
-
the specified interval.
|
1075
|
-
</p>
|
1076
|
-
|
1077
|
-
<p><a class="source-toggle" href="#"
|
1078
|
-
onclick="toggleCode('M000828-source');return false;">[Source]</a></p>
|
1079
|
-
<div class="method-source-code" id="M000828-source">
|
1080
|
-
<pre>
|
1081
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 172</span>
|
1082
|
-
172: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_freework</span>(<span class="ruby-identifier">query</span>)
|
1083
|
-
173: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">work</span> =
|
1084
|
-
174: <span class="ruby-identifier">getEffectiveFreeWork</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">endIdx</span>)
|
1085
|
-
175: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scaleLoad</span>(<span class="ruby-identifier">work</span>)
|
1086
|
-
176: <span class="ruby-keyword kw">end</span>
|
1087
|
-
</pre>
|
1088
|
-
</div>
|
1089
|
-
|
1090
|
-
</div>
|
1091
|
-
</div>
|
1092
|
-
|
1093
|
-
|
1094
|
-
<div id="method-M000829" class="method-detail">
|
1095
|
-
<a name="M000829"></a>
|
1096
|
-
|
1097
|
-
<div class="method-heading">
|
1098
|
-
|
1099
|
-
<a href="#M000829" class="method-signature">
|
1100
|
-
|
1101
|
-
<span class="method-name">query_rate</span><span class="method-args">(query)</span>
|
1102
|
-
|
1103
|
-
</a>
|
1104
|
-
|
1105
|
-
</div>
|
1106
|
-
|
1107
|
-
<div class="method-description">
|
1108
|
-
|
1109
|
-
<p>
|
1110
|
-
Get the rate of the resource.
|
1111
|
-
</p>
|
1112
|
-
|
1113
|
-
<p><a class="source-toggle" href="#"
|
1114
|
-
onclick="toggleCode('M000829-source');return false;">[Source]</a></p>
|
1115
|
-
<div class="method-source-code" id="M000829-source">
|
1116
|
-
<pre>
|
1117
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 179</span>
|
1118
|
-
179: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_rate</span>(<span class="ruby-identifier">query</span>)
|
1119
|
-
180: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">r</span> = <span class="ruby-identifier">rate</span>
|
1120
|
-
181: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">currencyFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">r</span>)
|
1121
|
-
182: <span class="ruby-keyword kw">end</span>
|
1122
|
-
</pre>
|
1123
|
-
</div>
|
1124
|
-
|
1125
|
-
</div>
|
1126
|
-
</div>
|
1127
|
-
|
1128
|
-
|
1129
|
-
<div id="method-M000830" class="method-detail">
|
1130
|
-
<a name="M000830"></a>
|
1131
|
-
|
1132
|
-
<div class="method-heading">
|
1133
|
-
|
1134
|
-
<a href="#M000830" class="method-signature">
|
1135
|
-
|
1136
|
-
<span class="method-name">query_revenue</span><span class="method-args">(query)</span>
|
1137
|
-
|
1138
|
-
</a>
|
1139
|
-
|
1140
|
-
</div>
|
1141
|
-
|
1142
|
-
<div class="method-description">
|
1143
|
-
|
1144
|
-
<p>
|
1145
|
-
Compute the revenue generated by this <a href="Resource.html">Resource</a>
|
1146
|
-
for a given <a href="Account.html">Account</a> during a given interval. If
|
1147
|
-
a <a href="Task.html">Task</a> is provided as scopeProperty only the
|
1148
|
-
revenue directly associated to this <a href="Task.html">Task</a> is taken
|
1149
|
-
into account.
|
1150
|
-
</p>
|
1151
|
-
|
1152
|
-
<p><a class="source-toggle" href="#"
|
1153
|
-
onclick="toggleCode('M000830-source');return false;">[Source]</a></p>
|
1154
|
-
<div class="method-source-code" id="M000830-source">
|
1155
|
-
<pre>
|
1156
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 187</span>
|
1157
|
-
187: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_revenue</span>(<span class="ruby-identifier">query</span>)
|
1158
|
-
188: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">query</span>.<span class="ruby-identifier">revenueAccount</span>
|
1159
|
-
189: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">revenue</span> =
|
1160
|
-
190: <span class="ruby-identifier">turnover</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">revenueAccount</span>,
|
1161
|
-
191: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span>)
|
1162
|
-
192: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">currencyFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">revenue</span>)
|
1163
|
-
193: <span class="ruby-keyword kw">else</span>
|
1164
|
-
194: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'No revenue account'</span>
|
1165
|
-
195: <span class="ruby-keyword kw">end</span>
|
1166
|
-
196: <span class="ruby-keyword kw">end</span>
|
1167
|
-
</pre>
|
1168
|
-
</div>
|
1169
|
-
|
1170
|
-
</div>
|
1171
|
-
</div>
|
1172
|
-
|
1173
|
-
|
1174
|
-
<div id="method-M000836" class="method-detail">
|
1175
|
-
<a name="M000836"></a>
|
1176
|
-
|
1177
|
-
<div class="method-heading">
|
1178
|
-
|
1179
|
-
<a href="#M000836" class="method-signature">
|
1180
|
-
|
1181
|
-
<span class="method-name">turnover</span><span class="method-args">(startIdx, endIdx, account, task = nil)</span>
|
1182
|
-
|
1183
|
-
</a>
|
1184
|
-
|
1185
|
-
</div>
|
1186
|
-
|
1187
|
-
<div class="method-description">
|
1188
|
-
|
1189
|
-
<p><a class="source-toggle" href="#"
|
1190
|
-
onclick="toggleCode('M000836-source');return false;">[Source]</a></p>
|
1191
|
-
<div class="method-source-code" id="M000836-source">
|
1192
|
-
<pre>
|
1193
|
-
<span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 305</span>
|
1194
|
-
305: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">turnover</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">account</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
|
1195
|
-
306: <span class="ruby-identifier">amount</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
|
1196
|
-
307: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
|
1197
|
-
308: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">child</span><span class="ruby-operator">|</span>
|
1198
|
-
309: <span class="ruby-identifier">amount</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">child</span>.<span class="ruby-identifier">turnover</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">account</span>, <span class="ruby-identifier">task</span>)
|
1199
|
-
310: <span class="ruby-keyword kw">end</span>
|
1200
|
-
311: <span class="ruby-keyword kw">else</span>
|
1201
|
-
312: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'duties'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">duty</span><span class="ruby-operator">|</span>
|
1202
|
-
313: <span class="ruby-identifier">amount</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">duty</span>.<span class="ruby-identifier">turnover</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">account</span>,
|
1203
|
-
314: <span class="ruby-ivar">@property</span>)
|
1204
|
-
315: <span class="ruby-keyword kw">end</span>
|
1205
|
-
316: <span class="ruby-keyword kw">end</span>
|
1206
|
-
317:
|
1207
|
-
318: <span class="ruby-identifier">amount</span>
|
1208
|
-
319: <span class="ruby-keyword kw">end</span>
|
1209
|
-
</pre>
|
1210
|
-
</div>
|
1211
|
-
|
1212
|
-
</div>
|
1213
|
-
</div>
|
1214
|
-
|
1215
|
-
|
1216
|
-
|
1217
|
-
</div>
|
1218
|
-
|
1219
|
-
|
1220
|
-
|
1221
|
-
|
1222
|
-
</div>
|
1223
|
-
|
1224
|
-
<div id="validator-badges">
|
1225
|
-
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
1226
|
-
</div>
|
1227
|
-
|
1228
|
-
</body>
|
1229
|
-
</html>
|