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
@@ -0,0 +1,1379 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
3
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
|
+
<head>
|
6
|
+
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
7
|
+
|
8
|
+
<title>Class: TaskJuggler::ShiftAssignments</title>
|
9
|
+
|
10
|
+
<link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
|
11
|
+
|
12
|
+
<script src="../js/jquery.js" type="text/javascript"
|
13
|
+
charset="utf-8"></script>
|
14
|
+
<script src="../js/thickbox-compressed.js" type="text/javascript"
|
15
|
+
charset="utf-8"></script>
|
16
|
+
<script src="../js/quicksearch.js" type="text/javascript"
|
17
|
+
charset="utf-8"></script>
|
18
|
+
<script src="../js/darkfish.js" type="text/javascript"
|
19
|
+
charset="utf-8"></script>
|
20
|
+
|
21
|
+
</head>
|
22
|
+
<body class="class">
|
23
|
+
|
24
|
+
<div id="metadata">
|
25
|
+
<div id="home-metadata">
|
26
|
+
<div id="home-section" class="section">
|
27
|
+
<h3 class="section-header">
|
28
|
+
<a href="../index.html">Home</a>
|
29
|
+
<a href="../index.html#classes">Classes</a>
|
30
|
+
<a href="../index.html#methods">Methods</a>
|
31
|
+
</h3>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="file-metadata">
|
36
|
+
<div id="file-list-section" class="section">
|
37
|
+
<h3 class="section-header">In Files</h3>
|
38
|
+
<div class="section-body">
|
39
|
+
<ul>
|
40
|
+
|
41
|
+
<li><a href="../lib/ShiftAssignments_rb.html?TB_iframe=true&height=550&width=785"
|
42
|
+
class="thickbox" title="lib/ShiftAssignments.rb">lib/ShiftAssignments.rb</a></li>
|
43
|
+
|
44
|
+
</ul>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
|
48
|
+
|
49
|
+
</div>
|
50
|
+
|
51
|
+
<div id="class-metadata">
|
52
|
+
|
53
|
+
<!-- Parent Class -->
|
54
|
+
|
55
|
+
<div id="parent-class-section" class="section">
|
56
|
+
<h3 class="section-header">Parent</h3>
|
57
|
+
|
58
|
+
<p class="link"><a href="../Object.html">Object</a></p>
|
59
|
+
|
60
|
+
</div>
|
61
|
+
|
62
|
+
|
63
|
+
<!-- Namespace Contents -->
|
64
|
+
|
65
|
+
|
66
|
+
<!-- Method Quickref -->
|
67
|
+
|
68
|
+
<div id="method-list-section" class="section">
|
69
|
+
<h3 class="section-header">Methods</h3>
|
70
|
+
<ul class="link-list">
|
71
|
+
|
72
|
+
<li><a href="#M000058">::deleteScoreboard</a></li>
|
73
|
+
|
74
|
+
<li><a href="#M000044">::new</a></li>
|
75
|
+
|
76
|
+
<li><a href="#M000055">::sbClear</a></li>
|
77
|
+
|
78
|
+
<li><a href="#M000054">::scoreboards</a></li>
|
79
|
+
|
80
|
+
<li><a href="#M000053">#==</a></li>
|
81
|
+
|
82
|
+
<li><a href="#M000046">#addAssignment</a></li>
|
83
|
+
|
84
|
+
<li><a href="#M000048">#assigned?</a></li>
|
85
|
+
|
86
|
+
<li><a href="#M000052">#collectTimeOffIntervals</a></li>
|
87
|
+
|
88
|
+
<li><a href="#M000047">#getSbSlot</a></li>
|
89
|
+
|
90
|
+
<li><a href="#M000057">#newScoreboard</a></li>
|
91
|
+
|
92
|
+
<li><a href="#M000049">#onShift?</a></li>
|
93
|
+
|
94
|
+
<li><a href="#M000051">#onVacation?</a></li>
|
95
|
+
|
96
|
+
<li><a href="#M000059">#overlaps?</a></li>
|
97
|
+
|
98
|
+
<li><a href="#M000045">#setProject</a></li>
|
99
|
+
|
100
|
+
<li><a href="#M000050">#timeOff?</a></li>
|
101
|
+
|
102
|
+
<li><a href="#M000056">#to_s</a></li>
|
103
|
+
|
104
|
+
</ul>
|
105
|
+
</div>
|
106
|
+
|
107
|
+
|
108
|
+
<!-- Included Modules -->
|
109
|
+
|
110
|
+
<div id="includes-section" class="section">
|
111
|
+
<h3 class="section-header">Included Modules</h3>
|
112
|
+
<ul class="link-list">
|
113
|
+
|
114
|
+
|
115
|
+
<li><span class="include">ObjectSpace</span></li>
|
116
|
+
|
117
|
+
|
118
|
+
</ul>
|
119
|
+
</div>
|
120
|
+
|
121
|
+
</div>
|
122
|
+
|
123
|
+
<div id="project-metadata">
|
124
|
+
|
125
|
+
|
126
|
+
<div id="fileindex-section" class="section project-section">
|
127
|
+
<h3 class="section-header">Files</h3>
|
128
|
+
<ul>
|
129
|
+
|
130
|
+
<li class="file"><a href="../COPYING.html">COPYING</a></li>
|
131
|
+
|
132
|
+
<li class="file"><a href="../README.html">README</a></li>
|
133
|
+
|
134
|
+
</ul>
|
135
|
+
</div>
|
136
|
+
|
137
|
+
|
138
|
+
<div id="classindex-section" class="section project-section">
|
139
|
+
<h3 class="section-header">Class Index
|
140
|
+
<span class="search-toggle"><img src="../images/find.png"
|
141
|
+
height="16" width="16" alt="[+]"
|
142
|
+
title="show/hide quicksearch" /></span></h3>
|
143
|
+
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
|
144
|
+
<fieldset>
|
145
|
+
<legend>Quicksearch</legend>
|
146
|
+
<input type="text" name="quicksearch" value=""
|
147
|
+
class="quicksearch-field" />
|
148
|
+
</fieldset>
|
149
|
+
</form>
|
150
|
+
|
151
|
+
<ul class="link-list">
|
152
|
+
|
153
|
+
<li><a href="../TaskJuggler.html">TaskJuggler</a></li>
|
154
|
+
|
155
|
+
<li><a href="../TaskJuggler/Account.html">TaskJuggler::Account</a></li>
|
156
|
+
|
157
|
+
<li><a href="../TaskJuggler/AccountAttribute.html">TaskJuggler::AccountAttribute</a></li>
|
158
|
+
|
159
|
+
<li><a href="../TaskJuggler/AccountScenario.html">TaskJuggler::AccountScenario</a></li>
|
160
|
+
|
161
|
+
<li><a href="../TaskJuggler/Allocation.html">TaskJuggler::Allocation</a></li>
|
162
|
+
|
163
|
+
<li><a href="../TaskJuggler/AllocationAttribute.html">TaskJuggler::AllocationAttribute</a></li>
|
164
|
+
|
165
|
+
<li><a href="../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
|
166
|
+
|
167
|
+
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
168
|
+
|
169
|
+
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
170
|
+
|
171
|
+
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
172
|
+
|
173
|
+
<li><a href="../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
|
174
|
+
|
175
|
+
<li><a href="../TaskJuggler/BooleanAttribute.html">TaskJuggler::BooleanAttribute</a></li>
|
176
|
+
|
177
|
+
<li><a href="../TaskJuggler/CSVFile.html">TaskJuggler::CSVFile</a></li>
|
178
|
+
|
179
|
+
<li><a href="../TaskJuggler/CellSettingPattern.html">TaskJuggler::CellSettingPattern</a></li>
|
180
|
+
|
181
|
+
<li><a href="../TaskJuggler/CellSettingPatternList.html">TaskJuggler::CellSettingPatternList</a></li>
|
182
|
+
|
183
|
+
<li><a href="../TaskJuggler/Charge.html">TaskJuggler::Charge</a></li>
|
184
|
+
|
185
|
+
<li><a href="../TaskJuggler/ChargeListAttribute.html">TaskJuggler::ChargeListAttribute</a></li>
|
186
|
+
|
187
|
+
<li><a href="../TaskJuggler/ChargeSet.html">TaskJuggler::ChargeSet</a></li>
|
188
|
+
|
189
|
+
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
190
|
+
|
191
|
+
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
192
|
+
|
193
|
+
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
194
|
+
|
195
|
+
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
196
|
+
|
197
|
+
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
198
|
+
|
199
|
+
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
200
|
+
|
201
|
+
<li><a href="../TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li>
|
202
|
+
|
203
|
+
<li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
|
204
|
+
|
205
|
+
<li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
|
206
|
+
|
207
|
+
<li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
|
208
|
+
|
209
|
+
<li><a href="../TaskJuggler/FloatAttribute.html">TaskJuggler::FloatAttribute</a></li>
|
210
|
+
|
211
|
+
<li><a href="../TaskJuggler/FormatListAttribute.html">TaskJuggler::FormatListAttribute</a></li>
|
212
|
+
|
213
|
+
<li><a href="../TaskJuggler/GanttChart.html">TaskJuggler::GanttChart</a></li>
|
214
|
+
|
215
|
+
<li><a href="../TaskJuggler/GanttContainer.html">TaskJuggler::GanttContainer</a></li>
|
216
|
+
|
217
|
+
<li><a href="../TaskJuggler/GanttHeader.html">TaskJuggler::GanttHeader</a></li>
|
218
|
+
|
219
|
+
<li><a href="../TaskJuggler/GanttHeaderScaleItem.html">TaskJuggler::GanttHeaderScaleItem</a></li>
|
220
|
+
|
221
|
+
<li><a href="../TaskJuggler/GanttLine.html">TaskJuggler::GanttLine</a></li>
|
222
|
+
|
223
|
+
<li><a href="../TaskJuggler/GanttLoadStack.html">TaskJuggler::GanttLoadStack</a></li>
|
224
|
+
|
225
|
+
<li><a href="../TaskJuggler/GanttMilestone.html">TaskJuggler::GanttMilestone</a></li>
|
226
|
+
|
227
|
+
<li><a href="../TaskJuggler/GanttRouter.html">TaskJuggler::GanttRouter</a></li>
|
228
|
+
|
229
|
+
<li><a href="../TaskJuggler/GanttTaskBar.html">TaskJuggler::GanttTaskBar</a></li>
|
230
|
+
|
231
|
+
<li><a href="../TaskJuggler/HTMLDocument.html">TaskJuggler::HTMLDocument</a></li>
|
232
|
+
|
233
|
+
<li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
|
234
|
+
|
235
|
+
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
236
|
+
|
237
|
+
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
238
|
+
|
239
|
+
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
240
|
+
|
241
|
+
<li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
|
242
|
+
|
243
|
+
<li><a href="../TaskJuggler/JournalEntry.html">TaskJuggler::JournalEntry</a></li>
|
244
|
+
|
245
|
+
<li><a href="../TaskJuggler/JournalEntryList.html">TaskJuggler::JournalEntryList</a></li>
|
246
|
+
|
247
|
+
<li><a href="../TaskJuggler/KeywordArray.html">TaskJuggler::KeywordArray</a></li>
|
248
|
+
|
249
|
+
<li><a href="../TaskJuggler/KeywordDocumentation.html">TaskJuggler::KeywordDocumentation</a></li>
|
250
|
+
|
251
|
+
<li><a href="../TaskJuggler/Limits.html">TaskJuggler::Limits</a></li>
|
252
|
+
|
253
|
+
<li><a href="../TaskJuggler/Limits/Limit.html">TaskJuggler::Limits::Limit</a></li>
|
254
|
+
|
255
|
+
<li><a href="../TaskJuggler/LimitsAttribute.html">TaskJuggler::LimitsAttribute</a></li>
|
256
|
+
|
257
|
+
<li><a href="../TaskJuggler/ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></li>
|
258
|
+
|
259
|
+
<li><a href="../TaskJuggler/Log.html">TaskJuggler::Log</a></li>
|
260
|
+
|
261
|
+
<li><a href="../TaskJuggler/LogFile.html">TaskJuggler::LogFile</a></li>
|
262
|
+
|
263
|
+
<li><a href="../TaskJuggler/LogicalAttribute.html">TaskJuggler::LogicalAttribute</a></li>
|
264
|
+
|
265
|
+
<li><a href="../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
|
266
|
+
|
267
|
+
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
268
|
+
|
269
|
+
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
270
|
+
|
271
|
+
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
272
|
+
|
273
|
+
<li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
|
274
|
+
|
275
|
+
<li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
|
276
|
+
|
277
|
+
<li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
|
278
|
+
|
279
|
+
<li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
|
280
|
+
|
281
|
+
<li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
|
282
|
+
|
283
|
+
<li><a href="../TaskJuggler/ManagerStatusRecord.html">TaskJuggler::ManagerStatusRecord</a></li>
|
284
|
+
|
285
|
+
<li><a href="../TaskJuggler/Message.html">TaskJuggler::Message</a></li>
|
286
|
+
|
287
|
+
<li><a href="../TaskJuggler/MessageHandler.html">TaskJuggler::MessageHandler</a></li>
|
288
|
+
|
289
|
+
<li><a href="../TaskJuggler/Navigator.html">TaskJuggler::Navigator</a></li>
|
290
|
+
|
291
|
+
<li><a href="../TaskJuggler/NavigatorElement.html">TaskJuggler::NavigatorElement</a></li>
|
292
|
+
|
293
|
+
<li><a href="../TaskJuggler/NikuProject.html">TaskJuggler::NikuProject</a></li>
|
294
|
+
|
295
|
+
<li><a href="../TaskJuggler/NikuReport.html">TaskJuggler::NikuReport</a></li>
|
296
|
+
|
297
|
+
<li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
|
298
|
+
|
299
|
+
<li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
|
300
|
+
|
301
|
+
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
302
|
+
|
303
|
+
<li><a href="../TaskJuggler/ProcessIntercomIface.html">TaskJuggler::ProcessIntercomIface</a></li>
|
304
|
+
|
305
|
+
<li><a href="../TaskJuggler/Project.html">TaskJuggler::Project</a></li>
|
306
|
+
|
307
|
+
<li><a href="../TaskJuggler/ProjectBroker.html">TaskJuggler::ProjectBroker</a></li>
|
308
|
+
|
309
|
+
<li><a href="../TaskJuggler/ProjectBrokerIface.html">TaskJuggler::ProjectBrokerIface</a></li>
|
310
|
+
|
311
|
+
<li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
|
312
|
+
|
313
|
+
<li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
|
314
|
+
|
315
|
+
<li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
|
316
|
+
|
317
|
+
<li><a href="../TaskJuggler/ProjectServerIface.html">TaskJuggler::ProjectServerIface</a></li>
|
318
|
+
|
319
|
+
<li><a href="../TaskJuggler/PropertyAttribute.html">TaskJuggler::PropertyAttribute</a></li>
|
320
|
+
|
321
|
+
<li><a href="../TaskJuggler/PropertyList.html">TaskJuggler::PropertyList</a></li>
|
322
|
+
|
323
|
+
<li><a href="../TaskJuggler/PropertySet.html">TaskJuggler::PropertySet</a></li>
|
324
|
+
|
325
|
+
<li><a href="../TaskJuggler/PropertyTreeNode.html">TaskJuggler::PropertyTreeNode</a></li>
|
326
|
+
|
327
|
+
<li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
|
328
|
+
|
329
|
+
<li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
|
330
|
+
|
331
|
+
<li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
|
332
|
+
|
333
|
+
<li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
|
334
|
+
|
335
|
+
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
336
|
+
|
337
|
+
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
338
|
+
|
339
|
+
<li><a href="../TaskJuggler/ReferenceAttribute.html">TaskJuggler::ReferenceAttribute</a></li>
|
340
|
+
|
341
|
+
<li><a href="../TaskJuggler/Report.html">TaskJuggler::Report</a></li>
|
342
|
+
|
343
|
+
<li><a href="../TaskJuggler/ReportBase.html">TaskJuggler::ReportBase</a></li>
|
344
|
+
|
345
|
+
<li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
|
346
|
+
|
347
|
+
<li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
|
348
|
+
|
349
|
+
<li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
|
350
|
+
|
351
|
+
<li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
|
352
|
+
|
353
|
+
<li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
|
354
|
+
|
355
|
+
<li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
|
356
|
+
|
357
|
+
<li><a href="../TaskJuggler/ReportTableColumn.html">TaskJuggler::ReportTableColumn</a></li>
|
358
|
+
|
359
|
+
<li><a href="../TaskJuggler/ReportTableLegend.html">TaskJuggler::ReportTableLegend</a></li>
|
360
|
+
|
361
|
+
<li><a href="../TaskJuggler/ReportTableLine.html">TaskJuggler::ReportTableLine</a></li>
|
362
|
+
|
363
|
+
<li><a href="../TaskJuggler/Resource.html">TaskJuggler::Resource</a></li>
|
364
|
+
|
365
|
+
<li><a href="../TaskJuggler/ResourceListAttribute.html">TaskJuggler::ResourceListAttribute</a></li>
|
366
|
+
|
367
|
+
<li><a href="../TaskJuggler/ResourceListRE.html">TaskJuggler::ResourceListRE</a></li>
|
368
|
+
|
369
|
+
<li><a href="../TaskJuggler/ResourceScenario.html">TaskJuggler::ResourceScenario</a></li>
|
370
|
+
|
371
|
+
<li><a href="../TaskJuggler/RichText.html">TaskJuggler::RichText</a></li>
|
372
|
+
|
373
|
+
<li><a href="../TaskJuggler/RichTextAttribute.html">TaskJuggler::RichTextAttribute</a></li>
|
374
|
+
|
375
|
+
<li><a href="../TaskJuggler/RichTextDocument.html">TaskJuggler::RichTextDocument</a></li>
|
376
|
+
|
377
|
+
<li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
|
378
|
+
|
379
|
+
<li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
|
380
|
+
|
381
|
+
<li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
|
382
|
+
|
383
|
+
<li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
|
384
|
+
|
385
|
+
<li><a href="../TaskJuggler/RichTextImage.html">TaskJuggler::RichTextImage</a></li>
|
386
|
+
|
387
|
+
<li><a href="../TaskJuggler/RichTextIntermediate.html">TaskJuggler::RichTextIntermediate</a></li>
|
388
|
+
|
389
|
+
<li><a href="../TaskJuggler/RichTextParser.html">TaskJuggler::RichTextParser</a></li>
|
390
|
+
|
391
|
+
<li><a href="../TaskJuggler/RichTextScanner.html">TaskJuggler::RichTextScanner</a></li>
|
392
|
+
|
393
|
+
<li><a href="../TaskJuggler/RichTextSnip.html">TaskJuggler::RichTextSnip</a></li>
|
394
|
+
|
395
|
+
<li><a href="../TaskJuggler/RichTextSyntaxRules.html">TaskJuggler::RichTextSyntaxRules</a></li>
|
396
|
+
|
397
|
+
<li><a href="../TaskJuggler/Scenario.html">TaskJuggler::Scenario</a></li>
|
398
|
+
|
399
|
+
<li><a href="../TaskJuggler/ScenarioData.html">TaskJuggler::ScenarioData</a></li>
|
400
|
+
|
401
|
+
<li><a href="../TaskJuggler/ScenarioListAttribute.html">TaskJuggler::ScenarioListAttribute</a></li>
|
402
|
+
|
403
|
+
<li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
|
404
|
+
|
405
|
+
<li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
|
406
|
+
|
407
|
+
<li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
|
408
|
+
|
409
|
+
<li><a href="../TaskJuggler/SheetSender.html">TaskJuggler::SheetSender</a></li>
|
410
|
+
|
411
|
+
<li><a href="../TaskJuggler/Shift.html">TaskJuggler::Shift</a></li>
|
412
|
+
|
413
|
+
<li><a href="../TaskJuggler/ShiftAssignment.html">TaskJuggler::ShiftAssignment</a></li>
|
414
|
+
|
415
|
+
<li><a href="../TaskJuggler/ShiftAssignments.html">TaskJuggler::ShiftAssignments</a></li>
|
416
|
+
|
417
|
+
<li><a href="../TaskJuggler/ShiftAssignmentsAttribute.html">TaskJuggler::ShiftAssignmentsAttribute</a></li>
|
418
|
+
|
419
|
+
<li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
|
420
|
+
|
421
|
+
<li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
|
422
|
+
|
423
|
+
<li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
|
424
|
+
|
425
|
+
<li><a href="../TaskJuggler/StatusSheetReceiver.html">TaskJuggler::StatusSheetReceiver</a></li>
|
426
|
+
|
427
|
+
<li><a href="../TaskJuggler/StatusSheetReport.html">TaskJuggler::StatusSheetReport</a></li>
|
428
|
+
|
429
|
+
<li><a href="../TaskJuggler/StatusSheetSender.html">TaskJuggler::StatusSheetSender</a></li>
|
430
|
+
|
431
|
+
<li><a href="../TaskJuggler/StringAttribute.html">TaskJuggler::StringAttribute</a></li>
|
432
|
+
|
433
|
+
<li><a href="../TaskJuggler/SymbolAttribute.html">TaskJuggler::SymbolAttribute</a></li>
|
434
|
+
|
435
|
+
<li><a href="../TaskJuggler/SyntaxReference.html">TaskJuggler::SyntaxReference</a></li>
|
436
|
+
|
437
|
+
<li><a href="../TaskJuggler/TOCEntry.html">TaskJuggler::TOCEntry</a></li>
|
438
|
+
|
439
|
+
<li><a href="../TaskJuggler/TSResourceRecord.html">TaskJuggler::TSResourceRecord</a></li>
|
440
|
+
|
441
|
+
<li><a href="../TaskJuggler/TSTaskRecord.html">TaskJuggler::TSTaskRecord</a></li>
|
442
|
+
|
443
|
+
<li><a href="../TaskJuggler/TableColumnDefinition.html">TaskJuggler::TableColumnDefinition</a></li>
|
444
|
+
|
445
|
+
<li><a href="../TaskJuggler/TableOfContents.html">TaskJuggler::TableOfContents</a></li>
|
446
|
+
|
447
|
+
<li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
|
448
|
+
|
449
|
+
<li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
|
450
|
+
|
451
|
+
<li><a href="../TaskJuggler/TaskDependency.html">TaskJuggler::TaskDependency</a></li>
|
452
|
+
|
453
|
+
<li><a href="../TaskJuggler/TaskListAttribute.html">TaskJuggler::TaskListAttribute</a></li>
|
454
|
+
|
455
|
+
<li><a href="../TaskJuggler/TaskListRE.html">TaskJuggler::TaskListRE</a></li>
|
456
|
+
|
457
|
+
<li><a href="../TaskJuggler/TaskScenario.html">TaskJuggler::TaskScenario</a></li>
|
458
|
+
|
459
|
+
<li><a href="../TaskJuggler/TextFormatter.html">TaskJuggler::TextFormatter</a></li>
|
460
|
+
|
461
|
+
<li><a href="../TaskJuggler/TextParser.html">TaskJuggler::TextParser</a></li>
|
462
|
+
|
463
|
+
<li><a href="../TaskJuggler/TextParser/Pattern.html">TaskJuggler::TextParser::Pattern</a></li>
|
464
|
+
|
465
|
+
<li><a href="../TaskJuggler/TextParser/Rule.html">TaskJuggler::TextParser::Rule</a></li>
|
466
|
+
|
467
|
+
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
468
|
+
|
469
|
+
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
470
|
+
|
471
|
+
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
472
|
+
|
473
|
+
<li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
|
474
|
+
|
475
|
+
<li><a href="../TaskJuggler/TextScanner.html">TaskJuggler::TextScanner</a></li>
|
476
|
+
|
477
|
+
<li><a href="../TaskJuggler/TextScanner/BufferStreamHandle.html">TaskJuggler::TextScanner::BufferStreamHandle</a></li>
|
478
|
+
|
479
|
+
<li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
|
480
|
+
|
481
|
+
<li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
|
482
|
+
|
483
|
+
<li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
484
|
+
|
485
|
+
<li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
|
486
|
+
|
487
|
+
<li><a href="../TaskJuggler/TimeSheetRecord.html">TaskJuggler::TimeSheetRecord</a></li>
|
488
|
+
|
489
|
+
<li><a href="../TaskJuggler/TimeSheetReport.html">TaskJuggler::TimeSheetReport</a></li>
|
490
|
+
|
491
|
+
<li><a href="../TaskJuggler/TimeSheetSender.html">TaskJuggler::TimeSheetSender</a></li>
|
492
|
+
|
493
|
+
<li><a href="../TaskJuggler/TimeSheetSummary.html">TaskJuggler::TimeSheetSummary</a></li>
|
494
|
+
|
495
|
+
<li><a href="../TaskJuggler/TimeSheets.html">TaskJuggler::TimeSheets</a></li>
|
496
|
+
|
497
|
+
<li><a href="../TaskJuggler/Tj3AppBase.html">TaskJuggler::Tj3AppBase</a></li>
|
498
|
+
|
499
|
+
<li><a href="../TaskJuggler/Tj3Client.html">TaskJuggler::Tj3Client</a></li>
|
500
|
+
|
501
|
+
<li><a href="../TaskJuggler/Tj3Daemon.html">TaskJuggler::Tj3Daemon</a></li>
|
502
|
+
|
503
|
+
<li><a href="../TaskJuggler/Tj3SheetAppBase.html">TaskJuggler::Tj3SheetAppBase</a></li>
|
504
|
+
|
505
|
+
<li><a href="../TaskJuggler/Tj3SsReceiver.html">TaskJuggler::Tj3SsReceiver</a></li>
|
506
|
+
|
507
|
+
<li><a href="../TaskJuggler/Tj3SsSender.html">TaskJuggler::Tj3SsSender</a></li>
|
508
|
+
|
509
|
+
<li><a href="../TaskJuggler/Tj3TsReceiver.html">TaskJuggler::Tj3TsReceiver</a></li>
|
510
|
+
|
511
|
+
<li><a href="../TaskJuggler/Tj3TsSender.html">TaskJuggler::Tj3TsSender</a></li>
|
512
|
+
|
513
|
+
<li><a href="../TaskJuggler/Tj3TsSummary.html">TaskJuggler::Tj3TsSummary</a></li>
|
514
|
+
|
515
|
+
<li><a href="../TaskJuggler/TjException.html">TaskJuggler::TjException</a></li>
|
516
|
+
|
517
|
+
<li><a href="../TaskJuggler/TjTime.html">TaskJuggler::TjTime</a></li>
|
518
|
+
|
519
|
+
<li><a href="../TaskJuggler/TjpExample.html">TaskJuggler::TjpExample</a></li>
|
520
|
+
|
521
|
+
<li><a href="../TaskJuggler/TjpExportRE.html">TaskJuggler::TjpExportRE</a></li>
|
522
|
+
|
523
|
+
<li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
|
524
|
+
|
525
|
+
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
526
|
+
|
527
|
+
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
528
|
+
|
529
|
+
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
530
|
+
|
531
|
+
<li><a href="../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
|
532
|
+
|
533
|
+
<li><a href="../TaskJuggler/XMLComment.html">TaskJuggler::XMLComment</a></li>
|
534
|
+
|
535
|
+
<li><a href="../TaskJuggler/XMLDocument.html">TaskJuggler::XMLDocument</a></li>
|
536
|
+
|
537
|
+
<li><a href="../TaskJuggler/XMLElement.html">TaskJuggler::XMLElement</a></li>
|
538
|
+
|
539
|
+
<li><a href="../TaskJuggler/XMLNamedText.html">TaskJuggler::XMLNamedText</a></li>
|
540
|
+
|
541
|
+
<li><a href="../TaskJuggler/XMLText.html">TaskJuggler::XMLText</a></li>
|
542
|
+
|
543
|
+
<li><a href="../AppConfig.html">AppConfig</a></li>
|
544
|
+
|
545
|
+
<li><a href="../Arguments.html">Arguments</a></li>
|
546
|
+
|
547
|
+
<li><a href="../Object.html">Object</a></li>
|
548
|
+
|
549
|
+
<li><a href="../RuntimeConfig.html">RuntimeConfig</a></li>
|
550
|
+
|
551
|
+
<li><a href="../String.html">String</a></li>
|
552
|
+
|
553
|
+
</ul>
|
554
|
+
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
555
|
+
</div>
|
556
|
+
|
557
|
+
|
558
|
+
</div>
|
559
|
+
</div>
|
560
|
+
|
561
|
+
<div id="documentation">
|
562
|
+
<h1 class="class">TaskJuggler::ShiftAssignments</h1>
|
563
|
+
|
564
|
+
<div id="description">
|
565
|
+
<p>
|
566
|
+
This class manages a list of <a
|
567
|
+
href="ShiftAssignment.html">ShiftAssignment</a> elements. The intervals of
|
568
|
+
the assignments must not overlap.
|
569
|
+
</p>
|
570
|
+
<p>
|
571
|
+
Since it is fairly costly to determine the on<a href="Shift.html">Shift</a>
|
572
|
+
and onVacation values for a given date we use a scoreboard to cache all
|
573
|
+
computed values. Changes to the assigment set invalidate the cache again.
|
574
|
+
</p>
|
575
|
+
<p>
|
576
|
+
To optimize memory usage and computation time the <a
|
577
|
+
href="Scoreboard.html">Scoreboard</a> objects for similar <a
|
578
|
+
href="ShiftAssignments.html">ShiftAssignments</a> are shared.
|
579
|
+
</p>
|
580
|
+
<p>
|
581
|
+
<a href="Scoreboard.html">Scoreboard</a> may be nil or a bit vector encoded
|
582
|
+
as a Fixnum nil: Value has not been determined yet. Bit 0: 0: No
|
583
|
+
assignment
|
584
|
+
</p>
|
585
|
+
<pre>
|
586
|
+
1: Has assignement
|
587
|
+
</pre>
|
588
|
+
<p>
|
589
|
+
Bit 1: 0: Work time
|
590
|
+
</p>
|
591
|
+
<pre>
|
592
|
+
1: Off time
|
593
|
+
</pre>
|
594
|
+
<p>
|
595
|
+
Bit 2 - 5: 0: No vacation or leave time
|
596
|
+
</p>
|
597
|
+
<pre>
|
598
|
+
1: Regular vacation
|
599
|
+
2 - 15: Reserved
|
600
|
+
</pre>
|
601
|
+
<p>
|
602
|
+
Bit 6: Reserved Bit 7: 0: No global override
|
603
|
+
</p>
|
604
|
+
<pre>
|
605
|
+
1: Override global setting</pre>
|
606
|
+
|
607
|
+
</div>
|
608
|
+
|
609
|
+
<!-- Constants -->
|
610
|
+
|
611
|
+
|
612
|
+
<!-- Attributes -->
|
613
|
+
|
614
|
+
<div id="attribute-method-details" class="method-section section">
|
615
|
+
<h3 class="section-header">Attributes</h3>
|
616
|
+
|
617
|
+
|
618
|
+
<div id="project-attribute-method" class="method-detail">
|
619
|
+
<a name="project"></a>
|
620
|
+
|
621
|
+
<div class="method-heading attribute-method-heading">
|
622
|
+
<span class="method-name">project</span><span
|
623
|
+
class="attribute-access-type">[R]</span>
|
624
|
+
</div>
|
625
|
+
|
626
|
+
<div class="method-description">
|
627
|
+
|
628
|
+
|
629
|
+
|
630
|
+
</div>
|
631
|
+
</div>
|
632
|
+
|
633
|
+
<div id="assignments-attribute-method" class="method-detail">
|
634
|
+
<a name="assignments"></a>
|
635
|
+
|
636
|
+
<div class="method-heading attribute-method-heading">
|
637
|
+
<span class="method-name">assignments</span><span
|
638
|
+
class="attribute-access-type">[R]</span>
|
639
|
+
</div>
|
640
|
+
|
641
|
+
<div class="method-description">
|
642
|
+
|
643
|
+
|
644
|
+
|
645
|
+
</div>
|
646
|
+
</div>
|
647
|
+
|
648
|
+
</div>
|
649
|
+
|
650
|
+
|
651
|
+
<!-- Methods -->
|
652
|
+
|
653
|
+
<div id="public-class-method-details" class="method-section section">
|
654
|
+
<h3 class="section-header">Public Class Methods</h3>
|
655
|
+
|
656
|
+
|
657
|
+
<div id="new-method" class="method-detail ">
|
658
|
+
<a name="M000044"></a>
|
659
|
+
|
660
|
+
<div class="method-heading">
|
661
|
+
|
662
|
+
<span class="method-name">new</span><span
|
663
|
+
class="method-args">(sa = nil)</span>
|
664
|
+
<span class="method-click-advice">click to toggle source</span>
|
665
|
+
|
666
|
+
</div>
|
667
|
+
|
668
|
+
<div class="method-description">
|
669
|
+
|
670
|
+
|
671
|
+
|
672
|
+
|
673
|
+
|
674
|
+
<div class="method-source-code"
|
675
|
+
id="new-source">
|
676
|
+
<pre>
|
677
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 107</span>
|
678
|
+
107: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">sa</span> = <span class="ruby-keyword kw">nil</span>)
|
679
|
+
108: <span class="ruby-identifier">define_finalizer</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">method</span>(<span class="ruby-value">:deleteScoreboard</span>).<span class="ruby-identifier">to_proc</span>)
|
680
|
+
109:
|
681
|
+
110: <span class="ruby-ivar">@assignments</span> = []
|
682
|
+
111: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sa</span>
|
683
|
+
112: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">sa</span>.<span class="ruby-identifier">project</span>
|
684
|
+
113: <span class="ruby-identifier">sa</span>.<span class="ruby-identifier">assignments</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">assignment</span><span class="ruby-operator">|</span>
|
685
|
+
114: <span class="ruby-ivar">@assignments</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">assignment</span>.<span class="ruby-identifier">copy</span>
|
686
|
+
115: <span class="ruby-keyword kw">end</span>
|
687
|
+
116: <span class="ruby-ivar">@scoreboard</span> = <span class="ruby-identifier">newScoreboard</span>
|
688
|
+
117: <span class="ruby-keyword kw">else</span>
|
689
|
+
118: <span class="ruby-ivar">@project</span> = <span class="ruby-keyword kw">nil</span>
|
690
|
+
119: <span class="ruby-ivar">@scoreboard</span> = <span class="ruby-keyword kw">nil</span>
|
691
|
+
120: <span class="ruby-keyword kw">end</span>
|
692
|
+
121: <span class="ruby-keyword kw">end</span></pre>
|
693
|
+
</div>
|
694
|
+
|
695
|
+
</div>
|
696
|
+
|
697
|
+
|
698
|
+
|
699
|
+
|
700
|
+
</div>
|
701
|
+
|
702
|
+
|
703
|
+
<div id="sb-lear-method" class="method-detail ">
|
704
|
+
<a name="M000055"></a>
|
705
|
+
|
706
|
+
<div class="method-heading">
|
707
|
+
|
708
|
+
<span class="method-name">sbClear</span><span
|
709
|
+
class="method-args">()</span>
|
710
|
+
<span class="method-click-advice">click to toggle source</span>
|
711
|
+
|
712
|
+
</div>
|
713
|
+
|
714
|
+
<div class="method-description">
|
715
|
+
|
716
|
+
|
717
|
+
|
718
|
+
|
719
|
+
|
720
|
+
<div class="method-source-code"
|
721
|
+
id="sb-lear-source">
|
722
|
+
<pre>
|
723
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 219</span>
|
724
|
+
219: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ShiftAssignments</span>.<span class="ruby-identifier">sbClear</span>
|
725
|
+
220: <span class="ruby-identifier">@@scoreboards</span> = []
|
726
|
+
221: <span class="ruby-keyword kw">end</span></pre>
|
727
|
+
</div>
|
728
|
+
|
729
|
+
</div>
|
730
|
+
|
731
|
+
|
732
|
+
|
733
|
+
|
734
|
+
</div>
|
735
|
+
|
736
|
+
|
737
|
+
<div id="scoreboards-method" class="method-detail ">
|
738
|
+
<a name="M000054"></a>
|
739
|
+
|
740
|
+
<div class="method-heading">
|
741
|
+
|
742
|
+
<span class="method-name">scoreboards</span><span
|
743
|
+
class="method-args">()</span>
|
744
|
+
<span class="method-click-advice">click to toggle source</span>
|
745
|
+
|
746
|
+
</div>
|
747
|
+
|
748
|
+
<div class="method-description">
|
749
|
+
|
750
|
+
|
751
|
+
|
752
|
+
|
753
|
+
|
754
|
+
<div class="method-source-code"
|
755
|
+
id="scoreboards-source">
|
756
|
+
<pre>
|
757
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 215</span>
|
758
|
+
215: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ShiftAssignments</span>.<span class="ruby-identifier">scoreboards</span>
|
759
|
+
216: <span class="ruby-identifier">@@scoreboards</span>
|
760
|
+
217: <span class="ruby-keyword kw">end</span></pre>
|
761
|
+
</div>
|
762
|
+
|
763
|
+
</div>
|
764
|
+
|
765
|
+
|
766
|
+
|
767
|
+
|
768
|
+
</div>
|
769
|
+
|
770
|
+
|
771
|
+
</div>
|
772
|
+
|
773
|
+
<div id="private-class-method-details" class="method-section section">
|
774
|
+
<h3 class="section-header">Private Class Methods</h3>
|
775
|
+
|
776
|
+
|
777
|
+
<div id="delete-coreboard-method" class="method-detail ">
|
778
|
+
<a name="M000058"></a>
|
779
|
+
|
780
|
+
<div class="method-heading">
|
781
|
+
|
782
|
+
<span class="method-name">deleteScoreboard</span><span
|
783
|
+
class="method-args">(objId)</span>
|
784
|
+
<span class="method-click-advice">click to toggle source</span>
|
785
|
+
|
786
|
+
</div>
|
787
|
+
|
788
|
+
<div class="method-description">
|
789
|
+
|
790
|
+
<p>
|
791
|
+
This function is called whenever a <a
|
792
|
+
href="ShiftAssignments.html">ShiftAssignments</a> object gets destroyed by
|
793
|
+
the GC.
|
794
|
+
</p>
|
795
|
+
|
796
|
+
|
797
|
+
|
798
|
+
<div class="method-source-code"
|
799
|
+
id="delete-coreboard-source">
|
800
|
+
<pre>
|
801
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 270</span>
|
802
|
+
270: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ShiftAssignments</span>.<span class="ruby-identifier">deleteScoreboard</span>(<span class="ruby-identifier">objId</span>)
|
803
|
+
271: <span class="ruby-comment cmt"># Attention: Due to the way this class is called, there will be no visible</span>
|
804
|
+
272: <span class="ruby-comment cmt"># exceptions here. All runtime errors will go unnoticed!</span>
|
805
|
+
273: <span class="ruby-comment cmt">#</span>
|
806
|
+
274: <span class="ruby-comment cmt"># Well search the @@scoreboards for an entry that holds a reference to the</span>
|
807
|
+
275: <span class="ruby-comment cmt"># deleted ShiftAssignments object. If it's the last in the record, we</span>
|
808
|
+
276: <span class="ruby-comment cmt"># delete the whole record. If not, we'll just remove it form the record.</span>
|
809
|
+
277: <span class="ruby-identifier">@@scoreboards</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sbRecord</span><span class="ruby-operator">|</span>
|
810
|
+
278: <span class="ruby-identifier">assignmentObjectIDs</span> = <span class="ruby-identifier">sbRecord</span>[<span class="ruby-value">0</span>]
|
811
|
+
279: <span class="ruby-identifier">assignmentObjectIDs</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">id</span><span class="ruby-operator">|</span> <span class="ruby-identifier">id</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">objId</span> }
|
812
|
+
280: <span class="ruby-comment cmt"># No more ShiftAssignments in this record. Delete it from the list.</span>
|
813
|
+
281: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">assignmentObjectIDs</span>.<span class="ruby-identifier">empty?</span>
|
814
|
+
282: <span class="ruby-keyword kw">end</span>
|
815
|
+
283: <span class="ruby-comment cmt"># Delete all entries which have empty reference lists.</span>
|
816
|
+
284: <span class="ruby-identifier">@@scoreboards</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">sbRecord</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sbRecord</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">empty?</span> }
|
817
|
+
285: <span class="ruby-constant">ObjectSpace</span>.<span class="ruby-identifier">undefine_finalizer</span>(<span class="ruby-keyword kw">self</span>)
|
818
|
+
286: <span class="ruby-keyword kw">end</span></pre>
|
819
|
+
</div>
|
820
|
+
|
821
|
+
</div>
|
822
|
+
|
823
|
+
|
824
|
+
|
825
|
+
|
826
|
+
</div>
|
827
|
+
|
828
|
+
|
829
|
+
</div>
|
830
|
+
|
831
|
+
<div id="public-instance-method-details" class="method-section section">
|
832
|
+
<h3 class="section-header">Public Instance Methods</h3>
|
833
|
+
|
834
|
+
|
835
|
+
<div id="--method" class="method-detail ">
|
836
|
+
<a name="M000053"></a>
|
837
|
+
|
838
|
+
<div class="method-heading">
|
839
|
+
|
840
|
+
<span class="method-name">==</span><span
|
841
|
+
class="method-args">(shiftAssignments)</span>
|
842
|
+
<span class="method-click-advice">click to toggle source</span>
|
843
|
+
|
844
|
+
</div>
|
845
|
+
|
846
|
+
<div class="method-description">
|
847
|
+
|
848
|
+
<p>
|
849
|
+
Returns true if two <a href="ShiftAssignments.html">ShiftAssignments</a>
|
850
|
+
object have the same assignment pattern.
|
851
|
+
</p>
|
852
|
+
|
853
|
+
|
854
|
+
|
855
|
+
<div class="method-source-code"
|
856
|
+
id="--source">
|
857
|
+
<pre>
|
858
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 205</span>
|
859
|
+
205: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">shiftAssignments</span>)
|
860
|
+
206: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@assignments</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">shiftAssignments</span>.<span class="ruby-identifier">assignments</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">||</span>
|
861
|
+
207: <span class="ruby-ivar">@project</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">shiftAssignments</span>.<span class="ruby-identifier">project</span>
|
862
|
+
208:
|
863
|
+
209: <span class="ruby-ivar">@assignments</span>.<span class="ruby-identifier">size</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
864
|
+
210: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@assignments</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">!=</span> <span class="ruby-identifier">shiftAssignments</span>.<span class="ruby-identifier">assignments</span>[<span class="ruby-identifier">i</span>]
|
865
|
+
211: <span class="ruby-keyword kw">end</span>
|
866
|
+
212: <span class="ruby-keyword kw">true</span>
|
867
|
+
213: <span class="ruby-keyword kw">end</span></pre>
|
868
|
+
</div>
|
869
|
+
|
870
|
+
</div>
|
871
|
+
|
872
|
+
|
873
|
+
|
874
|
+
|
875
|
+
</div>
|
876
|
+
|
877
|
+
|
878
|
+
<div id="add-ssignment-method" class="method-detail ">
|
879
|
+
<a name="M000046"></a>
|
880
|
+
|
881
|
+
<div class="method-heading">
|
882
|
+
|
883
|
+
<span class="method-name">addAssignment</span><span
|
884
|
+
class="method-args">(shiftAssignment)</span>
|
885
|
+
<span class="method-click-advice">click to toggle source</span>
|
886
|
+
|
887
|
+
</div>
|
888
|
+
|
889
|
+
<div class="method-description">
|
890
|
+
|
891
|
+
<p>
|
892
|
+
Add a new assignment to the list. In case there was no overlap the function
|
893
|
+
returns true. Otherwise false.
|
894
|
+
</p>
|
895
|
+
|
896
|
+
|
897
|
+
|
898
|
+
<div class="method-source-code"
|
899
|
+
id="add-ssignment-source">
|
900
|
+
<pre>
|
901
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 130</span>
|
902
|
+
130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addAssignment</span>(<span class="ruby-identifier">shiftAssignment</span>)
|
903
|
+
131: <span class="ruby-comment cmt"># Make sure we don't insert overlapping assignments.</span>
|
904
|
+
132: <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">overlaps?</span>(<span class="ruby-identifier">shiftAssignment</span>.<span class="ruby-identifier">interval</span>)
|
905
|
+
133:
|
906
|
+
134: <span class="ruby-ivar">@assignments</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">shiftAssignment</span>
|
907
|
+
135: <span class="ruby-ivar">@scoreboard</span> = <span class="ruby-identifier">newScoreboard</span>
|
908
|
+
136: <span class="ruby-keyword kw">true</span>
|
909
|
+
137: <span class="ruby-keyword kw">end</span></pre>
|
910
|
+
</div>
|
911
|
+
|
912
|
+
</div>
|
913
|
+
|
914
|
+
|
915
|
+
|
916
|
+
|
917
|
+
</div>
|
918
|
+
|
919
|
+
|
920
|
+
<div id="assigned--method" class="method-detail ">
|
921
|
+
<a name="M000048"></a>
|
922
|
+
|
923
|
+
<div class="method-heading">
|
924
|
+
|
925
|
+
<span class="method-name">assigned?</span><span
|
926
|
+
class="method-args">(date)</span>
|
927
|
+
<span class="method-click-advice">click to toggle source</span>
|
928
|
+
|
929
|
+
</div>
|
930
|
+
|
931
|
+
<div class="method-description">
|
932
|
+
|
933
|
+
<p>
|
934
|
+
Returns true if any of the defined shift periods overlaps with the date or
|
935
|
+
interval specified by <em>date</em>.
|
936
|
+
</p>
|
937
|
+
|
938
|
+
|
939
|
+
|
940
|
+
<div class="method-source-code"
|
941
|
+
id="assigned--source">
|
942
|
+
<pre>
|
943
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 173</span>
|
944
|
+
173: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">assigned?</span>(<span class="ruby-identifier">date</span>)
|
945
|
+
174: (<span class="ruby-identifier">getSbSlot</span>(<span class="ruby-identifier">date</span>) & <span class="ruby-value">1</span>) <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
|
946
|
+
175: <span class="ruby-keyword kw">end</span></pre>
|
947
|
+
</div>
|
948
|
+
|
949
|
+
</div>
|
950
|
+
|
951
|
+
|
952
|
+
|
953
|
+
|
954
|
+
</div>
|
955
|
+
|
956
|
+
|
957
|
+
<div id="collect-ime-ff-ntervals-method" class="method-detail ">
|
958
|
+
<a name="M000052"></a>
|
959
|
+
|
960
|
+
<div class="method-heading">
|
961
|
+
|
962
|
+
<span class="method-name">collectTimeOffIntervals</span><span
|
963
|
+
class="method-args">(iv, minDuration)</span>
|
964
|
+
<span class="method-click-advice">click to toggle source</span>
|
965
|
+
|
966
|
+
</div>
|
967
|
+
|
968
|
+
<div class="method-description">
|
969
|
+
|
970
|
+
<p>
|
971
|
+
Return a list of intervals that lay within <em>iv</em> and are at least
|
972
|
+
minDuration long and contain no working time.
|
973
|
+
</p>
|
974
|
+
|
975
|
+
|
976
|
+
|
977
|
+
<div class="method-source-code"
|
978
|
+
id="collect-ime-ff-ntervals-source">
|
979
|
+
<pre>
|
980
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 197</span>
|
981
|
+
197: <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>)
|
982
|
+
198: <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">collectIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
|
983
|
+
199: (<span class="ruby-identifier">val</span> & <span class="ruby-value">0x3E</span>) <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
|
984
|
+
200: <span class="ruby-keyword kw">end</span>
|
985
|
+
201: <span class="ruby-keyword kw">end</span></pre>
|
986
|
+
</div>
|
987
|
+
|
988
|
+
</div>
|
989
|
+
|
990
|
+
|
991
|
+
|
992
|
+
|
993
|
+
</div>
|
994
|
+
|
995
|
+
|
996
|
+
<div id="get-b-lot-method" class="method-detail ">
|
997
|
+
<a name="M000047"></a>
|
998
|
+
|
999
|
+
<div class="method-heading">
|
1000
|
+
|
1001
|
+
<span class="method-name">getSbSlot</span><span
|
1002
|
+
class="method-args">(date)</span>
|
1003
|
+
<span class="method-click-advice">click to toggle source</span>
|
1004
|
+
|
1005
|
+
</div>
|
1006
|
+
|
1007
|
+
<div class="method-description">
|
1008
|
+
|
1009
|
+
<p>
|
1010
|
+
This function returns the entry in the scoreboard that corresponds to
|
1011
|
+
<em>date</em>. If the slot has not yet been determined, it’s
|
1012
|
+
calculated first.
|
1013
|
+
</p>
|
1014
|
+
|
1015
|
+
|
1016
|
+
|
1017
|
+
<div class="method-source-code"
|
1018
|
+
id="get-b-lot-source">
|
1019
|
+
<pre>
|
1020
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 141</span>
|
1021
|
+
141: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getSbSlot</span>(<span class="ruby-identifier">date</span>)
|
1022
|
+
142: <span class="ruby-identifier">idx</span> = <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>)
|
1023
|
+
143: <span class="ruby-comment cmt"># Check if we have a value already for this slot.</span>
|
1024
|
+
144: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>].<span class="ruby-identifier">nil?</span>
|
1025
|
+
145:
|
1026
|
+
146:
|
1027
|
+
147: <span class="ruby-comment cmt"># If not, compute it.</span>
|
1028
|
+
148: <span class="ruby-ivar">@assignments</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sa</span><span class="ruby-operator">|</span>
|
1029
|
+
149: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">sa</span>.<span class="ruby-identifier">assigned?</span>(<span class="ruby-identifier">date</span>)
|
1030
|
+
150:
|
1031
|
+
151: <span class="ruby-comment cmt"># Mark the slot as 'assigned'. Meaning, the rest of the bits are valid</span>
|
1032
|
+
152: <span class="ruby-comment cmt"># for this time slot.</span>
|
1033
|
+
153: <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-value">1</span>
|
1034
|
+
154:
|
1035
|
+
155: <span class="ruby-comment cmt"># Set bit 1 if the shift is not active</span>
|
1036
|
+
156: <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>] <span class="ruby-operator">|=</span> <span class="ruby-value">1</span> <span class="ruby-operator"><<</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">sa</span>.<span class="ruby-identifier">onShift?</span>(<span class="ruby-identifier">date</span>)
|
1037
|
+
157:
|
1038
|
+
158: <span class="ruby-comment cmt"># Set bits 2 - 5 to 1 if it's a vacation slot.</span>
|
1039
|
+
159: <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>] <span class="ruby-operator">|=</span> <span class="ruby-value">1</span> <span class="ruby-operator"><<</span> <span class="ruby-value">3</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sa</span>.<span class="ruby-identifier">onVacation?</span>(<span class="ruby-identifier">date</span>)
|
1040
|
+
160:
|
1041
|
+
161: <span class="ruby-comment cmt"># Set the 8th bit if the shift replaces global vacations.</span>
|
1042
|
+
162: <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>] <span class="ruby-operator">|=</span> <span class="ruby-value">1</span> <span class="ruby-operator"><<</span> <span class="ruby-value">8</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sa</span>.<span class="ruby-identifier">replace?</span>(<span class="ruby-identifier">date</span>)
|
1043
|
+
163:
|
1044
|
+
164: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>]
|
1045
|
+
165: <span class="ruby-keyword kw">end</span>
|
1046
|
+
166:
|
1047
|
+
167: <span class="ruby-comment cmt"># The slot is not covered by any assignment.</span>
|
1048
|
+
168: <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-value">0</span>
|
1049
|
+
169: <span class="ruby-keyword kw">end</span></pre>
|
1050
|
+
</div>
|
1051
|
+
|
1052
|
+
</div>
|
1053
|
+
|
1054
|
+
|
1055
|
+
|
1056
|
+
|
1057
|
+
</div>
|
1058
|
+
|
1059
|
+
|
1060
|
+
<div id="on-hift--method" class="method-detail ">
|
1061
|
+
<a name="M000049"></a>
|
1062
|
+
|
1063
|
+
<div class="method-heading">
|
1064
|
+
|
1065
|
+
<span class="method-name">onShift?</span><span
|
1066
|
+
class="method-args">(date)</span>
|
1067
|
+
<span class="method-click-advice">click to toggle source</span>
|
1068
|
+
|
1069
|
+
</div>
|
1070
|
+
|
1071
|
+
<div class="method-description">
|
1072
|
+
|
1073
|
+
<p>
|
1074
|
+
Returns true if any of the defined shift periods contains the <em>date</em>
|
1075
|
+
and the shift has working hours defined for that <em>date</em>.
|
1076
|
+
</p>
|
1077
|
+
|
1078
|
+
|
1079
|
+
|
1080
|
+
<div class="method-source-code"
|
1081
|
+
id="on-hift--source">
|
1082
|
+
<pre>
|
1083
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 179</span>
|
1084
|
+
179: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">onShift?</span>(<span class="ruby-identifier">date</span>)
|
1085
|
+
180: (<span class="ruby-identifier">getSbSlot</span>(<span class="ruby-identifier">date</span>) & (<span class="ruby-value">1</span> <span class="ruby-operator"><<</span> <span class="ruby-value">1</span>)) <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
1086
|
+
181: <span class="ruby-keyword kw">end</span></pre>
|
1087
|
+
</div>
|
1088
|
+
|
1089
|
+
</div>
|
1090
|
+
|
1091
|
+
|
1092
|
+
|
1093
|
+
|
1094
|
+
</div>
|
1095
|
+
|
1096
|
+
|
1097
|
+
<div id="on-acation--method" class="method-detail ">
|
1098
|
+
<a name="M000051"></a>
|
1099
|
+
|
1100
|
+
<div class="method-heading">
|
1101
|
+
|
1102
|
+
<span class="method-name">onVacation?</span><span
|
1103
|
+
class="method-args">(date)</span>
|
1104
|
+
<span class="method-click-advice">click to toggle source</span>
|
1105
|
+
|
1106
|
+
</div>
|
1107
|
+
|
1108
|
+
<div class="method-description">
|
1109
|
+
|
1110
|
+
<p>
|
1111
|
+
Returns true if any of the defined shift periods contains the <em>date</em>
|
1112
|
+
and if the shift has a vacation defined for the <em>date</em>.
|
1113
|
+
</p>
|
1114
|
+
|
1115
|
+
|
1116
|
+
|
1117
|
+
<div class="method-source-code"
|
1118
|
+
id="on-acation--source">
|
1119
|
+
<pre>
|
1120
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 191</span>
|
1121
|
+
191: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">onVacation?</span>(<span class="ruby-identifier">date</span>)
|
1122
|
+
192: (<span class="ruby-identifier">getSbSlot</span>(<span class="ruby-identifier">date</span>) & <span class="ruby-value">0x3C</span>) <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
|
1123
|
+
193: <span class="ruby-keyword kw">end</span></pre>
|
1124
|
+
</div>
|
1125
|
+
|
1126
|
+
</div>
|
1127
|
+
|
1128
|
+
|
1129
|
+
|
1130
|
+
|
1131
|
+
</div>
|
1132
|
+
|
1133
|
+
|
1134
|
+
<div id="set-roject-method" class="method-detail ">
|
1135
|
+
<a name="M000045"></a>
|
1136
|
+
|
1137
|
+
<div class="method-heading">
|
1138
|
+
|
1139
|
+
<span class="method-name">setProject</span><span
|
1140
|
+
class="method-args">(project)</span>
|
1141
|
+
<span class="method-click-advice">click to toggle source</span>
|
1142
|
+
|
1143
|
+
</div>
|
1144
|
+
|
1145
|
+
<div class="method-description">
|
1146
|
+
|
1147
|
+
<p>
|
1148
|
+
Some operations require access to the whole project.
|
1149
|
+
</p>
|
1150
|
+
|
1151
|
+
|
1152
|
+
|
1153
|
+
<div class="method-source-code"
|
1154
|
+
id="set-roject-source">
|
1155
|
+
<pre>
|
1156
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 124</span>
|
1157
|
+
124: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setProject</span>(<span class="ruby-identifier">project</span>)
|
1158
|
+
125: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">project</span>
|
1159
|
+
126: <span class="ruby-keyword kw">end</span></pre>
|
1160
|
+
</div>
|
1161
|
+
|
1162
|
+
</div>
|
1163
|
+
|
1164
|
+
|
1165
|
+
|
1166
|
+
|
1167
|
+
</div>
|
1168
|
+
|
1169
|
+
|
1170
|
+
<div id="time-ff--method" class="method-detail ">
|
1171
|
+
<a name="M000050"></a>
|
1172
|
+
|
1173
|
+
<div class="method-heading">
|
1174
|
+
|
1175
|
+
<span class="method-name">timeOff?</span><span
|
1176
|
+
class="method-args">(date)</span>
|
1177
|
+
<span class="method-click-advice">click to toggle source</span>
|
1178
|
+
|
1179
|
+
</div>
|
1180
|
+
|
1181
|
+
<div class="method-description">
|
1182
|
+
|
1183
|
+
<p>
|
1184
|
+
Returns true if any of the defined shift periods contains the <em>date</em>
|
1185
|
+
and the shift has a vacation defined or all off hours defined for that
|
1186
|
+
<em>date</em>.
|
1187
|
+
</p>
|
1188
|
+
|
1189
|
+
|
1190
|
+
|
1191
|
+
<div class="method-source-code"
|
1192
|
+
id="time-ff--source">
|
1193
|
+
<pre>
|
1194
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 185</span>
|
1195
|
+
185: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timeOff?</span>(<span class="ruby-identifier">date</span>)
|
1196
|
+
186: (<span class="ruby-identifier">getSbSlot</span>(<span class="ruby-identifier">date</span>) & <span class="ruby-value">0x3E</span>) <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
|
1197
|
+
187: <span class="ruby-keyword kw">end</span></pre>
|
1198
|
+
</div>
|
1199
|
+
|
1200
|
+
</div>
|
1201
|
+
|
1202
|
+
|
1203
|
+
|
1204
|
+
|
1205
|
+
</div>
|
1206
|
+
|
1207
|
+
|
1208
|
+
<div id="to-s-method" class="method-detail ">
|
1209
|
+
<a name="M000056"></a>
|
1210
|
+
|
1211
|
+
<div class="method-heading">
|
1212
|
+
|
1213
|
+
<span class="method-name">to_s</span><span
|
1214
|
+
class="method-args">()</span>
|
1215
|
+
<span class="method-click-advice">click to toggle source</span>
|
1216
|
+
|
1217
|
+
</div>
|
1218
|
+
|
1219
|
+
<div class="method-description">
|
1220
|
+
|
1221
|
+
<p>
|
1222
|
+
This function is primarily used for debugging purposes.
|
1223
|
+
</p>
|
1224
|
+
|
1225
|
+
|
1226
|
+
|
1227
|
+
<div class="method-source-code"
|
1228
|
+
id="to-s-source">
|
1229
|
+
<pre>
|
1230
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 224</span>
|
1231
|
+
224: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
1232
|
+
225: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">''</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@assignments</span>.<span class="ruby-identifier">empty?</span>
|
1233
|
+
226:
|
1234
|
+
227: <span class="ruby-identifier">out</span> = <span class="ruby-value str">"shifts "</span>
|
1235
|
+
228: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
|
1236
|
+
229: <span class="ruby-ivar">@assignments</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sa</span><span class="ruby-operator">|</span>
|
1237
|
+
230: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
|
1238
|
+
231: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
|
1239
|
+
232: <span class="ruby-keyword kw">else</span>
|
1240
|
+
233: <span class="ruby-identifier">out</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
|
1241
|
+
234: <span class="ruby-keyword kw">end</span>
|
1242
|
+
235: <span class="ruby-identifier">out</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">sa</span>.<span class="ruby-identifier">to_s</span>
|
1243
|
+
236: <span class="ruby-keyword kw">end</span>
|
1244
|
+
237: <span class="ruby-identifier">out</span>
|
1245
|
+
238: <span class="ruby-keyword kw">end</span></pre>
|
1246
|
+
</div>
|
1247
|
+
|
1248
|
+
</div>
|
1249
|
+
|
1250
|
+
|
1251
|
+
|
1252
|
+
|
1253
|
+
</div>
|
1254
|
+
|
1255
|
+
|
1256
|
+
</div>
|
1257
|
+
|
1258
|
+
<div id="private-instance-method-details" class="method-section section">
|
1259
|
+
<h3 class="section-header">Private Instance Methods</h3>
|
1260
|
+
|
1261
|
+
|
1262
|
+
<div id="new-coreboard-method" class="method-detail ">
|
1263
|
+
<a name="M000057"></a>
|
1264
|
+
|
1265
|
+
<div class="method-heading">
|
1266
|
+
|
1267
|
+
<span class="method-name">newScoreboard</span><span
|
1268
|
+
class="method-args">()</span>
|
1269
|
+
<span class="method-click-advice">click to toggle source</span>
|
1270
|
+
|
1271
|
+
</div>
|
1272
|
+
|
1273
|
+
<div class="method-description">
|
1274
|
+
|
1275
|
+
<p>
|
1276
|
+
This function either returns a new <a href="Scoreboard.html">Scoreboard</a>
|
1277
|
+
or a reference to an existing one in case we already have one for the same
|
1278
|
+
assigment patterns.
|
1279
|
+
</p>
|
1280
|
+
|
1281
|
+
|
1282
|
+
|
1283
|
+
<div class="method-source-code"
|
1284
|
+
id="new-coreboard-source">
|
1285
|
+
<pre>
|
1286
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 244</span>
|
1287
|
+
244: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newScoreboard</span>
|
1288
|
+
245: <span class="ruby-identifier">@@scoreboards</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sbRecord</span><span class="ruby-operator">|</span>
|
1289
|
+
246: <span class="ruby-comment cmt"># We only have to look at the first ShiftAssignment for a comparison.</span>
|
1290
|
+
247: <span class="ruby-comment cmt"># The others should match as well.</span>
|
1291
|
+
248: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">==</span> <span class="ruby-constant">ObjectSpace</span>.<span class="ruby-identifier">_id2ref</span>(<span class="ruby-identifier">sbRecord</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>])
|
1292
|
+
249: <span class="ruby-comment cmt"># Register the ShiftAssignments object as a user of an existing</span>
|
1293
|
+
250: <span class="ruby-comment cmt"># scoreboard. We have to store the object_id, not the reference. If</span>
|
1294
|
+
251: <span class="ruby-comment cmt"># we'd store a reference, the GC will never destroy it.</span>
|
1295
|
+
252: <span class="ruby-identifier">sbRecord</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">object_id</span>
|
1296
|
+
253: <span class="ruby-comment cmt"># Return a reference to the existing scoreboard.</span>
|
1297
|
+
254: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">sbRecord</span>[<span class="ruby-value">1</span>]
|
1298
|
+
255: <span class="ruby-keyword kw">end</span>
|
1299
|
+
256: <span class="ruby-keyword kw">end</span>
|
1300
|
+
257: <span class="ruby-comment cmt"># We have not found a matching scoreboard, so we have to create a new one.</span>
|
1301
|
+
258: <span class="ruby-identifier">newSb</span> = <span class="ruby-constant">Scoreboard</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>], <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>],
|
1302
|
+
259: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>])
|
1303
|
+
260: <span class="ruby-comment cmt"># Create a new record for it and register the ShiftAssignments object as</span>
|
1304
|
+
261: <span class="ruby-comment cmt"># first user.</span>
|
1305
|
+
262: <span class="ruby-identifier">newRecord</span> = [ [ <span class="ruby-identifier">object_id</span> ], <span class="ruby-identifier">newSb</span> ]
|
1306
|
+
263: <span class="ruby-comment cmt"># Append the new record to the list.</span>
|
1307
|
+
264: <span class="ruby-identifier">@@scoreboards</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">newRecord</span>
|
1308
|
+
265: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">newSb</span>
|
1309
|
+
266: <span class="ruby-keyword kw">end</span></pre>
|
1310
|
+
</div>
|
1311
|
+
|
1312
|
+
</div>
|
1313
|
+
|
1314
|
+
|
1315
|
+
|
1316
|
+
|
1317
|
+
</div>
|
1318
|
+
|
1319
|
+
|
1320
|
+
<div id="overlaps--method" class="method-detail ">
|
1321
|
+
<a name="M000059"></a>
|
1322
|
+
|
1323
|
+
<div class="method-heading">
|
1324
|
+
|
1325
|
+
<span class="method-name">overlaps?</span><span
|
1326
|
+
class="method-args">(iv)</span>
|
1327
|
+
<span class="method-click-advice">click to toggle source</span>
|
1328
|
+
|
1329
|
+
</div>
|
1330
|
+
|
1331
|
+
<div class="method-description">
|
1332
|
+
|
1333
|
+
<p>
|
1334
|
+
Returns true if the interval overlaps with any of the assignment periods.
|
1335
|
+
</p>
|
1336
|
+
|
1337
|
+
|
1338
|
+
|
1339
|
+
<div class="method-source-code"
|
1340
|
+
id="overlaps--source">
|
1341
|
+
<pre>
|
1342
|
+
<span class="ruby-comment cmt"># File lib/ShiftAssignments.rb, line 289</span>
|
1343
|
+
289: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">iv</span>)
|
1344
|
+
290: <span class="ruby-ivar">@assignments</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sa</span><span class="ruby-operator">|</span>
|
1345
|
+
291: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sa</span>.<span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">iv</span>)
|
1346
|
+
292: <span class="ruby-keyword kw">end</span>
|
1347
|
+
293: <span class="ruby-keyword kw">false</span>
|
1348
|
+
294: <span class="ruby-keyword kw">end</span></pre>
|
1349
|
+
</div>
|
1350
|
+
|
1351
|
+
</div>
|
1352
|
+
|
1353
|
+
|
1354
|
+
|
1355
|
+
|
1356
|
+
</div>
|
1357
|
+
|
1358
|
+
|
1359
|
+
</div>
|
1360
|
+
|
1361
|
+
|
1362
|
+
</div>
|
1363
|
+
|
1364
|
+
|
1365
|
+
<div id="rdoc-debugging-section-dump" class="debugging-section">
|
1366
|
+
|
1367
|
+
<p>Disabled; run with --debug to generate this.</p>
|
1368
|
+
|
1369
|
+
</div>
|
1370
|
+
|
1371
|
+
<div id="validator-badges">
|
1372
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
1373
|
+
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
|
1374
|
+
Rdoc Generator</a> 1.1.6</small>.</p>
|
1375
|
+
</div>
|
1376
|
+
|
1377
|
+
</body>
|
1378
|
+
</html>
|
1379
|
+
|