taskjuggler 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +2086 -0
- data/benchmarks/666tasks.tjp +3183 -0
- data/benchmarks/booking.tjp +14 -10
- data/doc/AppConfig.html +95 -73
- data/doc/Arguments.html +22 -2
- data/doc/CHANGELOG.html +2587 -0
- data/doc/COPYING.html +21 -1
- data/doc/Object.html +161 -122
- data/doc/README.html +21 -1
- data/doc/RuntimeConfig.html +26 -6
- data/doc/String.html +38 -18
- data/doc/StringIO.html +579 -0
- data/doc/TaskJuggler.html +251 -143
- data/doc/TaskJuggler/Account.html +26 -6
- data/doc/TaskJuggler/AccountAttribute.html +28 -8
- data/doc/TaskJuggler/AccountScenario.html +24 -4
- data/doc/TaskJuggler/Allocation.html +30 -10
- data/doc/TaskJuggler/AllocationAttribute.html +28 -8
- data/doc/TaskJuggler/AttributeBase.html +46 -26
- data/doc/TaskJuggler/AttributeDefinition.html +22 -2
- data/doc/TaskJuggler/BatchProcessor.html +40 -20
- data/doc/TaskJuggler/Booking.html +26 -6
- data/doc/TaskJuggler/BookingListAttribute.html +28 -8
- data/doc/TaskJuggler/BooleanAttribute.html +28 -8
- data/doc/TaskJuggler/CSVFile.html +308 -146
- data/doc/TaskJuggler/CellSettingPattern.html +22 -2
- data/doc/TaskJuggler/CellSettingPatternList.html +26 -6
- data/doc/TaskJuggler/Charge.html +26 -6
- data/doc/TaskJuggler/ChargeListAttribute.html +26 -6
- data/doc/TaskJuggler/ChargeSet.html +33 -13
- data/doc/TaskJuggler/ChargeSetListAttribute.html +28 -8
- data/doc/TaskJuggler/ColumnListAttribute.html +26 -6
- data/doc/TaskJuggler/ColumnTable.html +24 -4
- data/doc/TaskJuggler/Daemon.html +26 -6
- data/doc/TaskJuggler/DateAttribute.html +26 -6
- data/doc/TaskJuggler/DefinitionListAttribute.html +22 -2
- data/doc/TaskJuggler/DependencyListAttribute.html +28 -8
- data/doc/TaskJuggler/DurationAttribute.html +28 -8
- data/doc/TaskJuggler/FixnumAttribute.html +24 -4
- data/doc/TaskJuggler/FlagListAttribute.html +28 -8
- data/doc/TaskJuggler/FloatAttribute.html +26 -6
- data/doc/TaskJuggler/FormatListAttribute.html +24 -4
- data/doc/TaskJuggler/GanttChart.html +147 -126
- data/doc/TaskJuggler/GanttContainer.html +34 -14
- data/doc/TaskJuggler/GanttHeader.html +28 -8
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +24 -4
- data/doc/TaskJuggler/GanttLine.html +38 -18
- data/doc/TaskJuggler/GanttLoadStack.html +26 -6
- data/doc/TaskJuggler/GanttMilestone.html +34 -14
- data/doc/TaskJuggler/GanttRouter.html +50 -30
- data/doc/TaskJuggler/GanttTaskBar.html +34 -14
- data/doc/TaskJuggler/HTMLDocument.html +26 -6
- data/doc/TaskJuggler/HTMLGraphics.html +30 -10
- data/doc/TaskJuggler/Interval.html +40 -22
- data/doc/TaskJuggler/IntervalListAttribute.html +28 -8
- data/doc/TaskJuggler/JobInfo.html +24 -4
- data/doc/TaskJuggler/Journal.html +226 -147
- data/doc/TaskJuggler/JournalEntry.html +22 -2
- data/doc/TaskJuggler/JournalEntryList.html +129 -112
- data/doc/TaskJuggler/KeywordArray.html +26 -6
- data/doc/TaskJuggler/KeywordDocumentation.html +46 -26
- data/doc/TaskJuggler/Limits.html +152 -123
- data/doc/TaskJuggler/Limits/Limit.html +149 -70
- data/doc/TaskJuggler/LimitsAttribute.html +36 -51
- data/doc/TaskJuggler/ListAttributeBase.html +24 -4
- data/doc/TaskJuggler/Log.html +50 -32
- data/doc/TaskJuggler/LogFile.html +37 -17
- data/doc/TaskJuggler/LogicalAttribute.html +53 -33
- data/doc/TaskJuggler/LogicalExpression.html +26 -6
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +32 -12
- data/doc/TaskJuggler/LogicalFlag.html +42 -22
- data/doc/TaskJuggler/LogicalFunction.html +204 -140
- data/doc/TaskJuggler/LogicalOperation.html +135 -111
- data/doc/TaskJuggler/Macro.html +22 -2
- data/doc/TaskJuggler/MacroParser.html +32 -12
- data/doc/TaskJuggler/MacroTable.html +32 -12
- data/doc/TaskJuggler/ManagerResponsibilities.html +24 -4
- data/doc/TaskJuggler/ManagerStatusRecord.html +24 -4
- data/doc/TaskJuggler/Message.html +24 -4
- data/doc/TaskJuggler/MessageHandler.html +24 -4
- data/doc/TaskJuggler/Navigator.html +104 -71
- data/doc/TaskJuggler/NavigatorElement.html +32 -12
- data/doc/TaskJuggler/NikuProject.html +22 -2
- data/doc/TaskJuggler/NikuReport.html +310 -228
- data/doc/TaskJuggler/NikuResource.html +22 -2
- data/doc/TaskJuggler/NodeListAttribute.html +615 -0
- data/doc/TaskJuggler/OnShiftCache.html +32 -12
- data/doc/TaskJuggler/ProcessIntercom.html +205 -78
- data/doc/TaskJuggler/ProcessIntercomIface.html +26 -6
- data/doc/TaskJuggler/Project.html +708 -660
- data/doc/TaskJuggler/ProjectBroker.html +506 -304
- data/doc/TaskJuggler/ProjectBrokerIface.html +61 -41
- data/doc/TaskJuggler/ProjectFileParser.html +429 -373
- data/doc/TaskJuggler/ProjectFileScanner.html +1790 -0
- data/doc/TaskJuggler/ProjectRecord.html +80 -60
- data/doc/TaskJuggler/ProjectServer.html +312 -237
- data/doc/TaskJuggler/ProjectServerIface.html +101 -43
- data/doc/TaskJuggler/PropertyAttribute.html +32 -12
- data/doc/TaskJuggler/PropertyList.html +166 -145
- data/doc/TaskJuggler/PropertySet.html +254 -224
- data/doc/TaskJuggler/PropertyTreeNode.html +670 -536
- data/doc/TaskJuggler/Query.html +169 -148
- data/doc/TaskJuggler/RTFHandlers.html +622 -0
- data/doc/TaskJuggler/RTFNavigator.html +28 -8
- data/doc/TaskJuggler/RTFQuery.html +40 -20
- data/doc/TaskJuggler/RTFReport.html +62 -25
- data/doc/TaskJuggler/RTFReportLink.html +765 -0
- data/doc/TaskJuggler/RealFormat.html +26 -6
- data/doc/TaskJuggler/RealFormatAttribute.html +26 -6
- data/doc/TaskJuggler/ReferenceAttribute.html +59 -39
- data/doc/TaskJuggler/Report.html +402 -251
- data/doc/TaskJuggler/ReportBase.html +162 -137
- data/doc/TaskJuggler/ReportContext.html +112 -29
- data/doc/TaskJuggler/ReportServer.html +89 -64
- data/doc/TaskJuggler/ReportServerIface.html +75 -55
- data/doc/TaskJuggler/ReportServerRecord.html +54 -31
- data/doc/TaskJuggler/ReportServlet.html +980 -0
- data/doc/TaskJuggler/ReportTable.html +41 -21
- data/doc/TaskJuggler/ReportTableCell.html +214 -170
- data/doc/TaskJuggler/ReportTableColumn.html +30 -10
- data/doc/TaskJuggler/ReportTableLegend.html +36 -16
- data/doc/TaskJuggler/ReportTableLine.html +32 -12
- data/doc/TaskJuggler/Resource.html +99 -87
- data/doc/TaskJuggler/ResourceListAttribute.html +59 -39
- data/doc/TaskJuggler/ResourceListRE.html +47 -26
- data/doc/TaskJuggler/ResourceScenario.html +403 -437
- data/doc/TaskJuggler/RichText.html +26 -6
- data/doc/TaskJuggler/RichTextAttribute.html +50 -30
- data/doc/TaskJuggler/RichTextDocument.html +37 -17
- data/doc/TaskJuggler/RichTextElement.html +475 -413
- data/doc/TaskJuggler/RichTextException.html +22 -2
- data/doc/TaskJuggler/RichTextFunctionExample.html +28 -8
- data/doc/TaskJuggler/RichTextFunctionHandler.html +24 -4
- data/doc/TaskJuggler/RichTextImage.html +22 -2
- data/doc/TaskJuggler/RichTextIntermediate.html +38 -18
- data/doc/TaskJuggler/RichTextParser.html +56 -34
- data/doc/TaskJuggler/RichTextScanner.html +82 -61
- data/doc/TaskJuggler/RichTextSnip.html +34 -14
- data/doc/TaskJuggler/RichTextSyntaxRules.html +507 -353
- data/doc/TaskJuggler/Scenario.html +22 -2
- data/doc/TaskJuggler/ScenarioData.html +30 -46
- data/doc/TaskJuggler/ScenarioListAttribute.html +38 -18
- data/doc/TaskJuggler/Scoreboard.html +42 -22
- data/doc/TaskJuggler/SheetHandlerBase.html +40 -20
- data/doc/TaskJuggler/SheetReceiver.html +333 -295
- data/doc/TaskJuggler/SheetSender.html +253 -230
- data/doc/TaskJuggler/Shift.html +26 -6
- data/doc/TaskJuggler/ShiftAssignment.html +89 -73
- data/doc/TaskJuggler/ShiftAssignments.html +226 -234
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +39 -54
- data/doc/TaskJuggler/ShiftScenario.html +28 -8
- data/doc/TaskJuggler/SortListAttribute.html +34 -14
- data/doc/TaskJuggler/SourceFileInfo.html +24 -4
- data/doc/TaskJuggler/StatusSheetReceiver.html +24 -3
- data/doc/TaskJuggler/StatusSheetReport.html +168 -153
- data/doc/TaskJuggler/StatusSheetSender.html +24 -3
- data/doc/TaskJuggler/StringAttribute.html +38 -18
- data/doc/TaskJuggler/SymbolAttribute.html +32 -12
- data/doc/TaskJuggler/SyntaxReference.html +40 -20
- data/doc/TaskJuggler/TOCEntry.html +26 -6
- data/doc/TaskJuggler/TSResourceRecord.html +22 -2
- data/doc/TaskJuggler/TSTaskRecord.html +22 -2
- data/doc/TaskJuggler/TableColumnDefinition.html +59 -22
- data/doc/TaskJuggler/TableOfContents.html +26 -6
- data/doc/TaskJuggler/TableReport.html +937 -904
- data/doc/TaskJuggler/Task.html +55 -36
- data/doc/TaskJuggler/TaskDependency.html +24 -4
- data/doc/TaskJuggler/TaskListAttribute.html +50 -30
- data/doc/TaskJuggler/TaskListRE.html +27 -7
- data/doc/TaskJuggler/TaskScenario.html +1273 -1153
- data/doc/TaskJuggler/TextFormatter.html +28 -8
- data/doc/TaskJuggler/TextParser.html +585 -338
- data/doc/TaskJuggler/TextParser/Pattern.html +54 -34
- data/doc/TaskJuggler/TextParser/Rule.html +95 -73
- data/doc/TaskJuggler/TextParser/StackElement.html +39 -17
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +24 -4
- data/doc/TaskJuggler/TextParser/TokenDoc.html +22 -2
- data/doc/TaskJuggler/TextReport.html +28 -8
- data/doc/TaskJuggler/TextScanner.html +400 -1404
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +28 -240
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +37 -184
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +682 -0
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +342 -67
- data/doc/TaskJuggler/TimeSheet.html +48 -28
- data/doc/TaskJuggler/TimeSheetReceiver.html +24 -3
- data/doc/TaskJuggler/TimeSheetRecord.html +47 -27
- data/doc/TaskJuggler/TimeSheetReport.html +154 -133
- data/doc/TaskJuggler/TimeSheetSender.html +24 -3
- data/doc/TaskJuggler/TimeSheetSummary.html +137 -91
- data/doc/TaskJuggler/TimeSheets.html +26 -6
- data/doc/TaskJuggler/Tj3AppBase.html +85 -58
- data/doc/TaskJuggler/Tj3Client.html +292 -238
- data/doc/TaskJuggler/Tj3Daemon.html +159 -74
- data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -6
- data/doc/TaskJuggler/Tj3SsReceiver.html +26 -6
- data/doc/TaskJuggler/Tj3SsSender.html +53 -26
- data/doc/TaskJuggler/Tj3TsReceiver.html +28 -7
- data/doc/TaskJuggler/Tj3TsSender.html +26 -6
- data/doc/TaskJuggler/Tj3TsSummary.html +26 -6
- data/doc/TaskJuggler/TjException.html +22 -2
- data/doc/TaskJuggler/TjTime.html +216 -160
- data/doc/TaskJuggler/TjpExample.html +34 -14
- data/doc/TaskJuggler/TjpExportRE.html +403 -407
- data/doc/TaskJuggler/TjpSyntaxRules.html +4805 -4408
- data/doc/TaskJuggler/URLParameter.html +649 -0
- data/doc/TaskJuggler/UserManual.html +42 -22
- data/doc/TaskJuggler/WebServer.html +702 -0
- data/doc/TaskJuggler/WorkingHours.html +38 -18
- data/doc/TaskJuggler/WorkingHoursAttribute.html +61 -41
- data/doc/TaskJuggler/XMLBlob.html +24 -4
- data/doc/TaskJuggler/XMLComment.html +24 -4
- data/doc/TaskJuggler/XMLDocument.html +30 -10
- data/doc/TaskJuggler/XMLElement.html +34 -14
- data/doc/TaskJuggler/XMLNamedText.html +22 -2
- data/doc/TaskJuggler/XMLText.html +24 -4
- data/doc/index.html +1841 -1666
- data/doc/lib/AccountScenario_rb.html +1 -1
- data/doc/lib/Account_rb.html +1 -1
- data/doc/lib/Allocation_rb.html +1 -1
- data/doc/lib/AppConfig_rb.html +2 -2
- data/doc/lib/AttributeBase_rb.html +1 -1
- data/doc/lib/AttributeDefinition_rb.html +1 -1
- data/doc/lib/Attributes_rb.html +2 -2
- data/doc/lib/BatchProcessor_rb.html +1 -1
- data/doc/lib/Booking_rb.html +1 -1
- data/doc/lib/ChargeSet_rb.html +1 -1
- data/doc/lib/Charge_rb.html +1 -1
- data/doc/lib/HTMLDocument_rb.html +1 -1
- data/doc/lib/Interval_rb.html +1 -1
- data/doc/lib/Journal_rb.html +2 -2
- data/doc/lib/KeywordArray_rb.html +1 -1
- data/doc/lib/KeywordDocumentation_rb.html +1 -1
- data/doc/lib/Limits_rb.html +2 -2
- data/doc/lib/LogFile_rb.html +2 -2
- data/doc/lib/Log_rb.html +1 -1
- data/doc/lib/LogicalExpression_rb.html +1 -1
- data/doc/lib/LogicalFunction_rb.html +2 -2
- data/doc/lib/LogicalOperation_rb.html +2 -2
- data/doc/lib/MacroParser_rb.html +1 -1
- data/doc/lib/MacroTable_rb.html +1 -1
- data/doc/lib/MessageHandler_rb.html +1 -1
- data/doc/lib/Message_rb.html +1 -1
- data/doc/lib/ProjectFileParser_rb.html +4 -8
- data/doc/lib/ProjectFileScanner_rb.html +67 -0
- data/doc/lib/Project_rb.html +2 -2
- data/doc/lib/PropertyList_rb.html +2 -2
- data/doc/lib/PropertySet_rb.html +2 -2
- data/doc/lib/PropertyTreeNode_rb.html +2 -2
- data/doc/lib/Query_rb.html +2 -2
- data/doc/lib/RTFHandlers_rb.html +73 -0
- data/doc/lib/RTFNavigator_rb.html +1 -1
- data/doc/lib/RTFQuery_rb.html +1 -1
- data/doc/lib/RTFReportLink_rb.html +71 -0
- data/doc/lib/RTFReport_rb.html +2 -2
- data/doc/lib/RealFormat_rb.html +1 -1
- data/doc/lib/ResourceScenario_rb.html +2 -2
- data/doc/lib/Resource_rb.html +2 -2
- data/doc/lib/RichTextDocument_rb.html +1 -1
- data/doc/lib/RichTextElement_rb.html +2 -2
- data/doc/lib/RichTextFunctionExample_rb.html +1 -1
- data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
- data/doc/lib/RichTextParser_rb.html +2 -2
- data/doc/lib/RichTextScanner_rb.html +2 -2
- data/doc/lib/RichTextSnip_rb.html +1 -1
- data/doc/lib/RichTextSyntaxRules_rb.html +2 -2
- data/doc/lib/RichText_rb.html +1 -1
- data/doc/lib/RuntimeConfig_rb.html +1 -1
- data/doc/lib/ScenarioData_rb.html +2 -2
- data/doc/lib/Scenario_rb.html +1 -1
- data/doc/lib/Scoreboard_rb.html +1 -1
- data/doc/lib/SheetHandlerBase_rb.html +1 -1
- data/doc/lib/SheetReceiver_rb.html +2 -2
- data/doc/lib/SheetSender_rb.html +4 -2
- data/doc/lib/ShiftAssignments_rb.html +4 -2
- data/doc/lib/ShiftScenario_rb.html +1 -1
- data/doc/lib/Shift_rb.html +1 -1
- data/doc/lib/SourceFileInfo_rb.html +1 -1
- data/doc/lib/StatusSheetReceiver_rb.html +2 -2
- data/doc/lib/StatusSheetSender_rb.html +2 -2
- data/doc/lib/SyntaxReference_rb.html +1 -1
- data/doc/lib/TOCEntry_rb.html +1 -1
- data/doc/lib/TableColumnDefinition_rb.html +2 -2
- data/doc/lib/TableOfContents_rb.html +1 -1
- data/doc/lib/TaskDependency_rb.html +1 -1
- data/doc/lib/TaskJuggler_rb.html +2 -2
- data/doc/lib/TaskScenario_rb.html +2 -2
- data/doc/lib/Task_rb.html +2 -2
- data/doc/lib/TextFormatter_rb.html +1 -1
- data/doc/lib/TextParser/Pattern_rb.html +1 -1
- data/doc/lib/TextParser/Rule_rb.html +2 -2
- data/doc/lib/TextParser/StackElement_rb.html +2 -2
- data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
- data/doc/lib/TextParser_rb.html +2 -2
- data/doc/lib/TextScanner_rb.html +6 -2
- data/doc/lib/TimeSheetReceiver_rb.html +2 -2
- data/doc/lib/TimeSheetSender_rb.html +2 -2
- data/doc/lib/TimeSheetSummary_rb.html +2 -2
- data/doc/lib/TimeSheets_rb.html +2 -2
- data/doc/lib/Tj3AppBase_rb.html +2 -2
- data/doc/lib/Tj3Config_rb.html +2 -2
- data/doc/lib/Tj3SheetAppBase_rb.html +2 -2
- data/doc/lib/TjException_rb.html +1 -1
- data/doc/lib/TjTime_rb.html +2 -2
- data/doc/lib/TjpExample_rb.html +1 -1
- data/doc/lib/TjpSyntaxRules_rb.html +2 -2
- data/doc/lib/URLParameter_rb.html +67 -0
- data/doc/lib/UTF8String_rb.html +1 -1
- data/doc/lib/UserManual_rb.html +1 -1
- data/doc/lib/WorkingHours_rb.html +1 -1
- data/doc/lib/XMLDocument_rb.html +2 -2
- data/doc/lib/XMLElement_rb.html +1 -1
- data/doc/lib/daemon/Daemon_rb.html +1 -1
- data/doc/lib/daemon/ProcessIntercom_rb.html +2 -2
- data/doc/lib/daemon/ProjectBroker_rb.html +4 -2
- data/doc/lib/daemon/ProjectServer_rb.html +2 -2
- data/doc/lib/daemon/ReportServer_rb.html +2 -2
- data/doc/lib/daemon/WebServer_rb.html +75 -0
- data/doc/lib/deep_copy_rb.html +2 -2
- data/doc/lib/reports/CSVFile_rb.html +2 -2
- data/doc/lib/reports/ColumnTable_rb.html +1 -1
- data/doc/lib/reports/GanttChart_rb.html +2 -2
- data/doc/lib/reports/GanttContainer_rb.html +1 -1
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
- data/doc/lib/reports/GanttHeader_rb.html +1 -1
- data/doc/lib/reports/GanttLine_rb.html +1 -1
- data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
- data/doc/lib/reports/GanttMilestone_rb.html +1 -1
- data/doc/lib/reports/GanttRouter_rb.html +1 -1
- data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
- data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
- data/doc/lib/reports/Navigator_rb.html +2 -2
- data/doc/lib/reports/NikuReport_rb.html +2 -2
- data/doc/lib/reports/ReportBase_rb.html +2 -2
- data/doc/lib/reports/ReportContext_rb.html +2 -2
- data/doc/lib/reports/ReportTableCell_rb.html +2 -2
- data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
- data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
- data/doc/lib/reports/ReportTableLine_rb.html +1 -1
- data/doc/lib/reports/ReportTable_rb.html +2 -2
- data/doc/lib/reports/Report_rb.html +2 -2
- data/doc/lib/reports/ResourceListRE_rb.html +2 -2
- data/doc/lib/reports/StatusSheetReport_rb.html +2 -2
- data/doc/lib/reports/TableReport_rb.html +2 -2
- data/doc/lib/reports/TaskListRE_rb.html +2 -2
- data/doc/lib/reports/TextReport_rb.html +1 -1
- data/doc/lib/reports/TimeSheetReport_rb.html +2 -2
- data/doc/lib/reports/TjpExportRE_rb.html +2 -2
- data/doc/lib/ruby-signal-bug_rb.html +1 -1
- data/doc/lib/taskjuggler3_rb.html +2 -2
- data/doc/lib/tj3client_rb.html +2 -2
- data/doc/lib/tj3d_rb.html +2 -2
- data/doc/lib/tj3man_rb.html +1 -1
- data/doc/lib/tj3ss_receiver_rb.html +1 -1
- data/doc/lib/tj3ss_sender_rb.html +2 -2
- data/doc/lib/tj3ts_receiver_rb.html +2 -2
- data/doc/lib/tj3ts_sender_rb.html +1 -1
- data/doc/lib/tj3ts_summary_rb.html +1 -1
- data/doc/rdoc.css +9 -4
- data/examples/tutorial.tjp +17 -15
- data/gem_spec.rb +3 -0
- data/lib/AppConfig.rb +3 -1
- data/lib/Attributes.rb +10 -8
- data/lib/Journal.rb +55 -20
- data/lib/Limits.rb +72 -46
- data/lib/LogFile.rb +3 -3
- data/lib/LogicalFunction.rb +19 -6
- data/lib/LogicalOperation.rb +5 -1
- data/lib/Project.rb +37 -9
- data/lib/ProjectFileParser.rb +25 -22
- data/lib/ProjectFileScanner.rb +365 -0
- data/lib/PropertyList.rb +2 -1
- data/lib/PropertySet.rb +14 -4
- data/lib/PropertyTreeNode.rb +42 -29
- data/lib/Query.rb +3 -1
- data/lib/RTFHandlers.rb +35 -0
- data/lib/RTFReport.rb +23 -6
- data/lib/RTFReportLink.rb +72 -0
- data/lib/Resource.rb +8 -16
- data/lib/ResourceScenario.rb +1 -22
- data/lib/RichTextElement.rb +42 -0
- data/lib/RichTextParser.rb +6 -4
- data/lib/RichTextScanner.rb +5 -5
- data/lib/RichTextSyntaxRules.rb +48 -10
- data/lib/ScenarioData.rb +5 -3
- data/lib/SheetReceiver.rb +24 -6
- data/lib/SheetSender.rb +17 -13
- data/lib/ShiftAssignments.rb +56 -52
- data/lib/StatusSheetReceiver.rb +1 -0
- data/lib/StatusSheetSender.rb +1 -0
- data/lib/TableColumnDefinition.rb +4 -2
- data/lib/Task.rb +8 -9
- data/lib/TaskJuggler.rb +21 -11
- data/lib/TaskScenario.rb +61 -26
- data/lib/TextParser.rb +268 -106
- data/lib/TextParser/Rule.rb +4 -2
- data/lib/TextParser/StackElement.rb +6 -4
- data/lib/TextScanner.rb +283 -700
- data/lib/TimeSheetReceiver.rb +1 -0
- data/lib/TimeSheetSender.rb +1 -0
- data/lib/TimeSheetSummary.rb +51 -26
- data/lib/TimeSheets.rb +1 -1
- data/lib/Tj3AppBase.rb +8 -1
- data/lib/Tj3Config.rb +1 -1
- data/lib/TjTime.rb +5 -0
- data/lib/TjpSyntaxRules.rb +360 -144
- data/lib/URLParameter.rb +30 -0
- data/lib/XMLDocument.rb +2 -2
- data/lib/daemon/ProcessIntercom.rb +50 -9
- data/lib/daemon/ProjectBroker.rb +63 -10
- data/lib/daemon/ProjectServer.rb +47 -16
- data/lib/daemon/ReportServer.rb +9 -4
- data/lib/daemon/WebServer.rb +204 -0
- data/lib/deep_copy.rb +4 -1
- data/lib/reports/CSVFile.rb +150 -66
- data/lib/reports/GanttChart.rb +2 -1
- data/lib/reports/Navigator.rb +18 -5
- data/lib/reports/NikuReport.rb +32 -2
- data/lib/reports/Report.rb +65 -37
- data/lib/reports/ReportBase.rb +14 -9
- data/lib/reports/ReportContext.rb +19 -4
- data/lib/reports/ReportTable.rb +2 -2
- data/lib/reports/ReportTableCell.rb +54 -30
- data/lib/reports/ResourceListRE.rb +4 -3
- data/lib/reports/StatusSheetReport.rb +8 -13
- data/lib/reports/TableReport.rb +47 -32
- data/lib/reports/TaskListRE.rb +3 -3
- data/lib/reports/TimeSheetReport.rb +14 -5
- data/lib/reports/TjpExportRE.rb +14 -19
- data/lib/taskjuggler3.rb +15 -0
- data/lib/tj3client.rb +9 -7
- data/lib/tj3d.rb +38 -10
- data/lib/tj3ss_sender.rb +7 -0
- data/lib/tj3ts_receiver.rb +1 -0
- data/manual/Day_To_Day_Juggling +1 -1
- data/manual/Rich_Text_Attributes +8 -0
- data/manual/TaskJuggler_2x_Migration +7 -0
- data/manual/The_TaskJuggler_Syntax +20 -6
- data/prj_cfg.rb +3 -2
- data/tasks/changelog.rake +36 -0
- data/tasks/csts.rake +2 -3
- data/tasks/gem.rake +10 -0
- data/tasks/missing.rake +0 -17
- data/test/TestSuite/ReportGenerator/Correct/Journal.html +63 -0
- data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +14 -0
- data/test/TestSuite/{HTML-Reports/LogicalFunctions.tjp → ReportGenerator/Correct/LogicalFunctions1.tjp} +2 -2
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +3 -0
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.tjp +19 -0
- data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +66 -0
- data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +407 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +26 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +6 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions1-1.csv +7 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions2-1.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +20 -0
- data/test/TestSuite/Scheduler/Correct/Container.html +349 -0
- data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -4
- data/test/TestSuite/Scheduler/Correct/Shift2.html +464 -150
- data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +108 -0
- data/test/TestSuite/Scheduler/Correct/TimeSheet2.tjp +7 -0
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +14 -0
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +233 -21
- data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +20 -20
- data/test/TestSuite/StatusSheetTemplates/project.tji +35 -0
- data/test/TestSuite/StatusSheetTemplates/project.tjp +56 -0
- data/test/TestSuite/StatusSheets/run +3 -2
- data/test/TestSuite/Syntax/Correct/Include.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/Macro-1.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/Macro-2.tjp +6 -0
- data/test/TestSuite/Syntax/Correct/Macro-3.tjp +14 -0
- data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +32 -0
- data/test/TestSuite/Syntax/Correct/css/tjmanual.css +66 -0
- data/test/TestSuite/Syntax/Correct/css/tjreport.css +407 -0
- data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/Syntax/Correct/include/dir1/file2.tji +3 -0
- data/test/TestSuite/Syntax/Correct/include/dir1/file5.tji +2 -0
- data/test/TestSuite/Syntax/Correct/include/dir3/all.tji +3 -0
- data/test/TestSuite/Syntax/Correct/include/dir3/file1.tji +2 -0
- data/test/TestSuite/Syntax/Correct/include/dir3/file2.tji +1 -0
- data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +13 -13
- data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/include_recursion.tjp +1 -0
- data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +2 -1
- data/test/TestSuite/Syntax/Errors/{eof_in_istring1.tjp → no_token_match1.tjp} +2 -2
- data/test/TestSuite/Syntax/Errors/{eof_in_istring2.tjp → no_token_match2.tjp} +2 -2
- data/test/TestSuite/Syntax/Errors/{eof_in_istring3.tjp → no_token_match3.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/{eof_in_istring4.tjp → no_token_match4.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/{eof_in_istring5.tjp → no_token_match5.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/not_scheduled.tjp +13 -0
- data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
- data/test/TestSuite/TimeSheets/run +5 -5
- data/test/test_CSVFile.rb +75 -0
- data/test/test_Limits.rb +63 -5
- data/test/test_ProjectFileScanner.rb +163 -0
- data/test/test_ReportGenerator.rb +81 -0
- data/test/test_RichText.rb +21 -3
- data/test/test_Scheduler.rb +1 -1
- data/test/test_ShiftAssignments.rb +4 -4
- data/test/test_Syntax.rb +1 -1
- data/test/test_URLParameter.rb +30 -0
- metadata +126 -32
- data/test/TestSuite/Scheduler/Errors/not_scheduled.tjp +0 -8
- data/test/TestSuite/Syntax/Errors/bad_comment.tjp +0 -7
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/boss_2002-03-01.tji +0 -36
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev1_2002-03-01.tji +0 -48
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev2_2002-03-01.tji +0 -67
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev3_2002-03-01.tji +0 -67
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/doc_2002-03-01.tji +0 -48
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/resources.yml +0 -31
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/test_2002-03-01.tji +0 -36
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/acceptable_intervals +0 -1
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/all.tji +0 -1
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/dev2_2002-03-01.tji +0 -54
- data/test/TestSuite/TimeSheets/TimeSheets/all.tji +0 -2
- data/test/TestSuite/TimeSheets/receiver.log +0 -102
- data/test/TestSuite/TimeSheets/sender.log +0 -794
- data/test/TestSuite/TimeSheets/summary.log +0 -884
- data/test/TestSuite/TimeSheets/timesheets.log +0 -45
- data/test/TestSuite/TimeSheets/tj3d.log +0 -292
- data/test/test_TextScanner.rb +0 -95
data/doc/TaskJuggler/Query.html
CHANGED
|
@@ -69,37 +69,37 @@
|
|
|
69
69
|
<h3 class="section-header">Methods</h3>
|
|
70
70
|
<ul class="link-list">
|
|
71
71
|
|
|
72
|
-
<li><a href="#
|
|
72
|
+
<li><a href="#method-c-new">::new</a></li>
|
|
73
73
|
|
|
74
|
-
<li><a href="#
|
|
74
|
+
<li><a href="#method-i-end">#end</a></li>
|
|
75
75
|
|
|
76
|
-
<li><a href="#
|
|
76
|
+
<li><a href="#method-i-endIdx%3D">#endIdx=</a></li>
|
|
77
77
|
|
|
78
|
-
<li><a href="#
|
|
78
|
+
<li><a href="#method-i-process">#process</a></li>
|
|
79
79
|
|
|
80
|
-
<li><a href="#
|
|
80
|
+
<li><a href="#method-i-reset">#reset</a></li>
|
|
81
81
|
|
|
82
|
-
<li><a href="#
|
|
82
|
+
<li><a href="#method-i-resolvePropertyId">#resolvePropertyId</a></li>
|
|
83
83
|
|
|
84
|
-
<li><a href="#
|
|
84
|
+
<li><a href="#method-i-result">#result</a></li>
|
|
85
85
|
|
|
86
|
-
<li><a href="#
|
|
86
|
+
<li><a href="#method-i-scaleDuration">#scaleDuration</a></li>
|
|
87
87
|
|
|
88
|
-
<li><a href="#
|
|
88
|
+
<li><a href="#method-i-scaleLoad">#scaleLoad</a></li>
|
|
89
89
|
|
|
90
|
-
<li><a href="#
|
|
90
|
+
<li><a href="#method-i-scaleValue">#scaleValue</a></li>
|
|
91
91
|
|
|
92
|
-
<li><a href="#
|
|
92
|
+
<li><a href="#method-i-start%3D">#start=</a></li>
|
|
93
93
|
|
|
94
|
-
<li><a href="#
|
|
94
|
+
<li><a href="#method-i-startIdx%3D">#startIdx=</a></li>
|
|
95
95
|
|
|
96
|
-
<li><a href="#
|
|
96
|
+
<li><a href="#method-i-to_num">#to_num</a></li>
|
|
97
97
|
|
|
98
|
-
<li><a href="#
|
|
98
|
+
<li><a href="#method-i-to_rti">#to_rti</a></li>
|
|
99
99
|
|
|
100
|
-
<li><a href="#
|
|
100
|
+
<li><a href="#method-i-to_s">#to_s</a></li>
|
|
101
101
|
|
|
102
|
-
<li><a href="#
|
|
102
|
+
<li><a href="#method-i-to_sort">#to_sort</a></li>
|
|
103
103
|
|
|
104
104
|
</ul>
|
|
105
105
|
</div>
|
|
@@ -116,6 +116,8 @@
|
|
|
116
116
|
<h3 class="section-header">Files</h3>
|
|
117
117
|
<ul>
|
|
118
118
|
|
|
119
|
+
<li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
|
|
120
|
+
|
|
119
121
|
<li class="file"><a href="../COPYING.html">COPYING</a></li>
|
|
120
122
|
|
|
121
123
|
<li class="file"><a href="../README.html">README</a></li>
|
|
@@ -285,6 +287,8 @@
|
|
|
285
287
|
|
|
286
288
|
<li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
|
|
287
289
|
|
|
290
|
+
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
291
|
+
|
|
288
292
|
<li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
|
|
289
293
|
|
|
290
294
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
@@ -299,6 +303,8 @@
|
|
|
299
303
|
|
|
300
304
|
<li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
|
|
301
305
|
|
|
306
|
+
<li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
|
|
307
|
+
|
|
302
308
|
<li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
|
|
303
309
|
|
|
304
310
|
<li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
|
|
@@ -315,12 +321,16 @@
|
|
|
315
321
|
|
|
316
322
|
<li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
|
|
317
323
|
|
|
324
|
+
<li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
|
|
325
|
+
|
|
318
326
|
<li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
|
|
319
327
|
|
|
320
328
|
<li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
|
|
321
329
|
|
|
322
330
|
<li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
|
|
323
331
|
|
|
332
|
+
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
333
|
+
|
|
324
334
|
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
325
335
|
|
|
326
336
|
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
@@ -339,6 +349,8 @@
|
|
|
339
349
|
|
|
340
350
|
<li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
|
|
341
351
|
|
|
352
|
+
<li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
|
|
353
|
+
|
|
342
354
|
<li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
|
|
343
355
|
|
|
344
356
|
<li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
|
|
@@ -467,6 +479,8 @@
|
|
|
467
479
|
|
|
468
480
|
<li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
|
|
469
481
|
|
|
482
|
+
<li><a href="../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
|
|
483
|
+
|
|
470
484
|
<li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
|
|
471
485
|
|
|
472
486
|
<li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
|
@@ -511,8 +525,12 @@
|
|
|
511
525
|
|
|
512
526
|
<li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
|
|
513
527
|
|
|
528
|
+
<li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
|
|
529
|
+
|
|
514
530
|
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
515
531
|
|
|
532
|
+
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
533
|
+
|
|
516
534
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
517
535
|
|
|
518
536
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -539,6 +557,8 @@
|
|
|
539
557
|
|
|
540
558
|
<li><a href="../String.html">String</a></li>
|
|
541
559
|
|
|
560
|
+
<li><a href="../StringIO.html">StringIO</a></li>
|
|
561
|
+
|
|
542
562
|
</ul>
|
|
543
563
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
544
564
|
</div>
|
|
@@ -557,7 +577,7 @@ run has been completed. It is possible to make a <a
|
|
|
557
577
|
href="Query.html">Query</a> before the scheduling run has been completed,
|
|
558
578
|
but it only produces good results for static attributes. And for such
|
|
559
579
|
queries, the <a
|
|
560
|
-
href="PropertyTreeNode.html#
|
|
580
|
+
href="PropertyTreeNode.html#method-i-get">PropertyTreeNode.get</a> and []
|
|
561
581
|
functions are a lot more efficient.
|
|
562
582
|
</p>
|
|
563
583
|
<p>
|
|
@@ -568,13 +588,12 @@ and end time will be incorporated into the result computation.
|
|
|
568
588
|
</p>
|
|
569
589
|
<p>
|
|
570
590
|
The result is returned as <a href="../String.html">String</a> (<a
|
|
571
|
-
href="Query.html#
|
|
591
|
+
href="Query.html#method-i-result">Query#result</a>), in numerical form
|
|
572
592
|
(Query#numericalResult) if available as number, and as an entity that can
|
|
573
593
|
be used for sorting (Query#sortableResult). To get the result, <a
|
|
574
|
-
href="Query.html#
|
|
575
|
-
error occured,
|
|
576
|
-
|
|
577
|
-
message.
|
|
594
|
+
href="Query.html#method-i-process">Query#process</a> needs to be called. In
|
|
595
|
+
case an error occured, Query#ok is set to false and Query#errorMessage
|
|
596
|
+
contains an error message.
|
|
578
597
|
</p>
|
|
579
598
|
|
|
580
599
|
</div>
|
|
@@ -1015,7 +1034,7 @@ message.
|
|
|
1015
1034
|
|
|
1016
1035
|
|
|
1017
1036
|
<div id="new-method" class="method-detail ">
|
|
1018
|
-
<a name="
|
|
1037
|
+
<a name="method-c-new"></a>
|
|
1019
1038
|
|
|
1020
1039
|
<div class="method-heading">
|
|
1021
1040
|
|
|
@@ -1072,7 +1091,7 @@ need to be sufficent to uniquely identify an attribute.
|
|
|
1072
1091
|
|
|
1073
1092
|
|
|
1074
1093
|
<div id="end-method" class="method-detail ">
|
|
1075
|
-
<a name="
|
|
1094
|
+
<a name="method-i-end"></a>
|
|
1076
1095
|
|
|
1077
1096
|
<div class="method-heading">
|
|
1078
1097
|
|
|
@@ -1113,7 +1132,7 @@ need to be sufficent to uniquely identify an attribute.
|
|
|
1113
1132
|
|
|
1114
1133
|
|
|
1115
1134
|
<div id="end-dx--method" class="method-detail ">
|
|
1116
|
-
<a name="
|
|
1135
|
+
<a name="method-i-endIdx%3D"></a>
|
|
1117
1136
|
|
|
1118
1137
|
<div class="method-heading">
|
|
1119
1138
|
|
|
@@ -1154,7 +1173,7 @@ need to be sufficent to uniquely identify an attribute.
|
|
|
1154
1173
|
|
|
1155
1174
|
|
|
1156
1175
|
<div id="process-method" class="method-detail ">
|
|
1157
|
-
<a name="
|
|
1176
|
+
<a name="method-i-process"></a>
|
|
1158
1177
|
|
|
1159
1178
|
<div class="method-heading">
|
|
1160
1179
|
|
|
@@ -1171,9 +1190,9 @@ This method tries to resolve the query and return a result. In case it
|
|
|
1171
1190
|
finds an attribute that matches the query, it returns true; false
|
|
1172
1191
|
otherwise. The actual result data is stored in the <a
|
|
1173
1192
|
href="Query.html">Query</a> object. It can then be retrieved by the caller
|
|
1174
|
-
with the methods <a href="Query.html#
|
|
1175
|
-
href="Query.html#
|
|
1176
|
-
href="Query.html#
|
|
1193
|
+
with the methods <a href="Query.html#method-i-to_s">to_s</a>(), <a
|
|
1194
|
+
href="Query.html#method-i-to_num">to_num</a>(), <a
|
|
1195
|
+
href="Query.html#method-i-to_sort">to_sort</a>() and result().
|
|
1177
1196
|
</p>
|
|
1178
1197
|
|
|
1179
1198
|
|
|
@@ -1255,7 +1274,7 @@ href="Query.html#M000088">to_sort</a>() and result().
|
|
|
1255
1274
|
|
|
1256
1275
|
|
|
1257
1276
|
<div id="result-method" class="method-detail ">
|
|
1258
|
-
<a name="
|
|
1277
|
+
<a name="method-i-result"></a>
|
|
1259
1278
|
|
|
1260
1279
|
<div class="method-heading">
|
|
1261
1280
|
|
|
@@ -1284,12 +1303,14 @@ Return the result in the orginal form. It may be nil.
|
|
|
1284
1303
|
207: <span class="ruby-keyword kw">else</span>
|
|
1285
1304
|
208: <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">value</span>
|
|
1286
1305
|
209: <span class="ruby-keyword kw">end</span>
|
|
1287
|
-
210: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@
|
|
1288
|
-
211: <span class="ruby-ivar">@
|
|
1289
|
-
212: <span class="ruby-keyword kw">
|
|
1290
|
-
213: <span class="ruby-ivar">@
|
|
1291
|
-
214: <span class="ruby-keyword kw">
|
|
1292
|
-
215:
|
|
1306
|
+
210: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@rti</span>
|
|
1307
|
+
211: <span class="ruby-ivar">@rti</span>
|
|
1308
|
+
212: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@numerical</span>
|
|
1309
|
+
213: <span class="ruby-ivar">@numerical</span>
|
|
1310
|
+
214: <span class="ruby-keyword kw">else</span>
|
|
1311
|
+
215: <span class="ruby-ivar">@string</span>
|
|
1312
|
+
216: <span class="ruby-keyword kw">end</span>
|
|
1313
|
+
217: <span class="ruby-keyword kw">end</span></pre>
|
|
1293
1314
|
</div>
|
|
1294
1315
|
|
|
1295
1316
|
</div>
|
|
@@ -1301,7 +1322,7 @@ Return the result in the orginal form. It may be nil.
|
|
|
1301
1322
|
|
|
1302
1323
|
|
|
1303
1324
|
<div id="scale-uration-method" class="method-detail ">
|
|
1304
|
-
<a name="
|
|
1325
|
+
<a name="method-i-scaleDuration"></a>
|
|
1305
1326
|
|
|
1306
1327
|
<div class="method-heading">
|
|
1307
1328
|
|
|
@@ -1324,10 +1345,10 @@ optional unit as a <a href="../String.html">String</a>.
|
|
|
1324
1345
|
<div class="method-source-code"
|
|
1325
1346
|
id="scale-uration-source">
|
|
1326
1347
|
<pre>
|
|
1327
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1348
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 222</span>
|
|
1349
|
+
222: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scaleDuration</span>(<span class="ruby-identifier">value</span>)
|
|
1350
|
+
223: <span class="ruby-identifier">scaleValue</span>(<span class="ruby-identifier">value</span>, [ <span class="ruby-value">24</span> * <span class="ruby-value">60</span>, <span class="ruby-value">24</span>, <span class="ruby-value">1</span>, <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-value">7</span>, <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-value">30.42</span>, <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-value">365</span> ])
|
|
1351
|
+
224: <span class="ruby-keyword kw">end</span></pre>
|
|
1331
1352
|
</div>
|
|
1332
1353
|
|
|
1333
1354
|
</div>
|
|
@@ -1339,7 +1360,7 @@ optional unit as a <a href="../String.html">String</a>.
|
|
|
1339
1360
|
|
|
1340
1361
|
|
|
1341
1362
|
<div id="scale-oad-method" class="method-detail ">
|
|
1342
|
-
<a name="
|
|
1363
|
+
<a name="method-i-scaleLoad"></a>
|
|
1343
1364
|
|
|
1344
1365
|
<div class="method-heading">
|
|
1345
1366
|
|
|
@@ -1362,15 +1383,15 @@ value with optional unit as a <a href="../String.html">String</a>.
|
|
|
1362
1383
|
<div class="method-source-code"
|
|
1363
1384
|
id="scale-oad-source">
|
|
1364
1385
|
<pre>
|
|
1365
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1386
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 229</span>
|
|
1387
|
+
229: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scaleLoad</span>(<span class="ruby-identifier">value</span>)
|
|
1388
|
+
230: <span class="ruby-identifier">scaleValue</span>(<span class="ruby-identifier">value</span>, [ <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dailyWorkingHours</span> * <span class="ruby-value">60</span>,
|
|
1389
|
+
231: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dailyWorkingHours</span>,
|
|
1390
|
+
232: <span class="ruby-value">1.0</span>,
|
|
1391
|
+
233: <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">weeklyWorkingDays</span>,
|
|
1392
|
+
234: <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">monthlyWorkingDays</span>,
|
|
1393
|
+
235: <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">yearlyWorkingDays</span> ])
|
|
1394
|
+
236: <span class="ruby-keyword kw">end</span></pre>
|
|
1374
1395
|
</div>
|
|
1375
1396
|
|
|
1376
1397
|
</div>
|
|
@@ -1382,7 +1403,7 @@ value with optional unit as a <a href="../String.html">String</a>.
|
|
|
1382
1403
|
|
|
1383
1404
|
|
|
1384
1405
|
<div id="start--method" class="method-detail ">
|
|
1385
|
-
<a name="
|
|
1406
|
+
<a name="method-i-start%3D"></a>
|
|
1386
1407
|
|
|
1387
1408
|
<div class="method-heading">
|
|
1388
1409
|
|
|
@@ -1427,7 +1448,7 @@ index. We store both, but we need to assure they are always in sync.
|
|
|
1427
1448
|
|
|
1428
1449
|
|
|
1429
1450
|
<div id="start-dx--method" class="method-detail ">
|
|
1430
|
-
<a name="
|
|
1451
|
+
<a name="method-i-startIdx%3D"></a>
|
|
1431
1452
|
|
|
1432
1453
|
<div class="method-heading">
|
|
1433
1454
|
|
|
@@ -1468,7 +1489,7 @@ index. We store both, but we need to assure they are always in sync.
|
|
|
1468
1489
|
|
|
1469
1490
|
|
|
1470
1491
|
<div id="to-num-method" class="method-detail ">
|
|
1471
|
-
<a name="
|
|
1492
|
+
<a name="method-i-to_num"></a>
|
|
1472
1493
|
|
|
1473
1494
|
<div class="method-heading">
|
|
1474
1495
|
|
|
@@ -1505,7 +1526,7 @@ The result may be nil.
|
|
|
1505
1526
|
|
|
1506
1527
|
|
|
1507
1528
|
<div id="to-rti-method" class="method-detail ">
|
|
1508
|
-
<a name="
|
|
1529
|
+
<a name="method-i-to_rti"></a>
|
|
1509
1530
|
|
|
1510
1531
|
<div class="method-heading">
|
|
1511
1532
|
|
|
@@ -1543,7 +1564,7 @@ result may be nil.
|
|
|
1543
1564
|
|
|
1544
1565
|
|
|
1545
1566
|
<div id="to-s-method" class="method-detail ">
|
|
1546
|
-
<a name="
|
|
1567
|
+
<a name="method-i-to_s"></a>
|
|
1547
1568
|
|
|
1548
1569
|
<div class="method-heading">
|
|
1549
1570
|
|
|
@@ -1567,7 +1588,7 @@ href="../String.html">String</a>. The result may be nil.
|
|
|
1567
1588
|
<pre>
|
|
1568
1589
|
<span class="ruby-comment cmt"># File lib/Query.rb, line 181</span>
|
|
1569
1590
|
181: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
|
1570
|
-
182: <span class="ruby-ivar">@attr</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-operator">:</span> (<span class="ruby-ivar">@string</span> <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>)
|
|
1591
|
+
182: <span class="ruby-ivar">@attr</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-operator">:</span> (<span class="ruby-ivar">@rti</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@rti</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">:</span> (<span class="ruby-ivar">@string</span> <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>))
|
|
1571
1592
|
183: <span class="ruby-keyword kw">end</span></pre>
|
|
1572
1593
|
</div>
|
|
1573
1594
|
|
|
@@ -1580,7 +1601,7 @@ href="../String.html">String</a>. The result may be nil.
|
|
|
1580
1601
|
|
|
1581
1602
|
|
|
1582
1603
|
<div id="to-sort-method" class="method-detail ">
|
|
1583
|
-
<a name="
|
|
1604
|
+
<a name="method-i-to_sort"></a>
|
|
1584
1605
|
|
|
1585
1606
|
<div class="method-heading">
|
|
1586
1607
|
|
|
@@ -1623,7 +1644,7 @@ result may be nil.
|
|
|
1623
1644
|
|
|
1624
1645
|
|
|
1625
1646
|
<div id="reset-method" class="method-detail ">
|
|
1626
|
-
<a name="
|
|
1647
|
+
<a name="method-i-reset"></a>
|
|
1627
1648
|
|
|
1628
1649
|
<div class="method-heading">
|
|
1629
1650
|
|
|
@@ -1645,12 +1666,12 @@ result data.
|
|
|
1645
1666
|
<div class="method-source-code"
|
|
1646
1667
|
id="reset-source">
|
|
1647
1668
|
<pre>
|
|
1648
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1669
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 330</span>
|
|
1670
|
+
330: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
|
|
1671
|
+
331: <span class="ruby-ivar">@attr</span> = <span class="ruby-ivar">@numerical</span> = <span class="ruby-ivar">@sortable</span> = <span class="ruby-ivar">@string</span> = <span class="ruby-ivar">@rti</span> = <span class="ruby-keyword kw">nil</span>
|
|
1672
|
+
332: <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">true</span>
|
|
1673
|
+
333: <span class="ruby-ivar">@errorMessage</span> = <span class="ruby-keyword kw">nil</span>
|
|
1674
|
+
334: <span class="ruby-keyword kw">end</span></pre>
|
|
1654
1675
|
</div>
|
|
1655
1676
|
|
|
1656
1677
|
</div>
|
|
@@ -1662,7 +1683,7 @@ result data.
|
|
|
1662
1683
|
|
|
1663
1684
|
|
|
1664
1685
|
<div id="resolve-roperty-d-method" class="method-detail ">
|
|
1665
|
-
<a name="
|
|
1686
|
+
<a name="method-i-resolvePropertyId"></a>
|
|
1666
1687
|
|
|
1667
1688
|
<div class="method-heading">
|
|
1668
1689
|
|
|
@@ -1681,22 +1702,22 @@ result data.
|
|
|
1681
1702
|
<div class="method-source-code"
|
|
1682
1703
|
id="resolve-roperty-d-source">
|
|
1683
1704
|
<pre>
|
|
1684
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1705
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 240</span>
|
|
1706
|
+
240: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolvePropertyId</span>(<span class="ruby-identifier">pType</span>, <span class="ruby-identifier">pId</span>)
|
|
1707
|
+
241: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@project</span>
|
|
1708
|
+
242: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">"Need Project reference to process the query"</span>
|
|
1709
|
+
243: <span class="ruby-keyword kw">end</span>
|
|
1710
|
+
244: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">pType</span>
|
|
1711
|
+
245: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:Account</span>
|
|
1712
|
+
246: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">account</span>(<span class="ruby-identifier">pId</span>)
|
|
1713
|
+
247: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:Task</span>
|
|
1714
|
+
248: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">task</span>(<span class="ruby-identifier">pId</span>)
|
|
1715
|
+
249: <span class="ruby-keyword kw">when</span><span class="ruby-value">:Resource</span>
|
|
1716
|
+
250: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">resource</span>(<span class="ruby-identifier">pId</span>)
|
|
1717
|
+
251: <span class="ruby-keyword kw">else</span>
|
|
1718
|
+
252: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">"Unknown property type #{pType}"</span>
|
|
1719
|
+
253: <span class="ruby-keyword kw">end</span>
|
|
1720
|
+
254: <span class="ruby-keyword kw">end</span></pre>
|
|
1700
1721
|
</div>
|
|
1701
1722
|
|
|
1702
1723
|
</div>
|
|
@@ -1708,7 +1729,7 @@ result data.
|
|
|
1708
1729
|
|
|
1709
1730
|
|
|
1710
1731
|
<div id="scale-alue-method" class="method-detail ">
|
|
1711
|
-
<a name="
|
|
1732
|
+
<a name="method-i-scaleValue"></a>
|
|
1712
1733
|
|
|
1713
1734
|
<div class="method-heading">
|
|
1714
1735
|
|
|
@@ -1733,71 +1754,71 @@ the different units.
|
|
|
1733
1754
|
<div class="method-source-code"
|
|
1734
1755
|
id="scale-alue-source">
|
|
1735
1756
|
<pre>
|
|
1736
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1757
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 261</span>
|
|
1758
|
+
261: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scaleValue</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">factors</span>)
|
|
1759
|
+
262: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@loadUnit</span> <span class="ruby-operator">==</span> <span class="ruby-value">:shortauto</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@loadUnit</span> <span class="ruby-operator">==</span> <span class="ruby-value">:longauto</span>
|
|
1760
|
+
263: <span class="ruby-comment cmt"># We try all possible units and store the resulting strings here.</span>
|
|
1761
|
+
264: <span class="ruby-identifier">options</span> = []
|
|
1762
|
+
265: <span class="ruby-comment cmt"># For each option we also save the delta between the String value and</span>
|
|
1763
|
+
266: <span class="ruby-comment cmt"># the original value.</span>
|
|
1764
|
+
267: <span class="ruby-identifier">delta</span> = []
|
|
1765
|
+
268: <span class="ruby-comment cmt"># For each of the units we can define a maximum value that the value</span>
|
|
1766
|
+
269: <span class="ruby-comment cmt"># should not exceed. nil means no limit.</span>
|
|
1767
|
+
270: <span class="ruby-identifier">max</span> = [ <span class="ruby-value">60</span>, <span class="ruby-value">48</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-value">8</span>, <span class="ruby-value">24</span>, <span class="ruby-keyword kw">nil</span> ]
|
|
1768
|
+
271:
|
|
1769
|
+
272: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
|
|
1770
|
+
273: <span class="ruby-identifier">factors</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">factor</span><span class="ruby-operator">|</span>
|
|
1771
|
+
274: <span class="ruby-identifier">scaledValue</span> = <span class="ruby-identifier">value</span> * <span class="ruby-identifier">factor</span>
|
|
1772
|
+
275: <span class="ruby-identifier">str</span> = <span class="ruby-ivar">@numberFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">scaledValue</span>)
|
|
1773
|
+
276: <span class="ruby-identifier">delta</span>[<span class="ruby-identifier">i</span>] = ((<span class="ruby-identifier">scaledValue</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">abs</span> * <span class="ruby-value">1000</span>).<span class="ruby-identifier">to_i</span>
|
|
1774
|
+
277: <span class="ruby-comment cmt"># We ignore results that are 0 or exceed the maximum. To ensure that</span>
|
|
1775
|
+
278: <span class="ruby-comment cmt"># we have at least one result the unscaled value is always taken.</span>
|
|
1776
|
+
279: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">factor</span> <span class="ruby-operator">!=</span> <span class="ruby-value">1.0</span> <span class="ruby-operator">&&</span> <span class="ruby-regexp re">/^[0.]*$/</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">str</span>) <span class="ruby-operator">||</span>
|
|
1777
|
+
280: (<span class="ruby-identifier">max</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">&&</span> <span class="ruby-identifier">scaledValue</span> <span class="ruby-operator">></span> <span class="ruby-identifier">max</span>[<span class="ruby-identifier">i</span>])
|
|
1778
|
+
281: <span class="ruby-identifier">options</span> <span class="ruby-operator"><<</span> <span class="ruby-keyword kw">nil</span>
|
|
1779
|
+
282: <span class="ruby-keyword kw">else</span>
|
|
1780
|
+
283: <span class="ruby-identifier">options</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">str</span>
|
|
1781
|
+
284: <span class="ruby-keyword kw">end</span>
|
|
1782
|
+
285: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
1783
|
+
286: <span class="ruby-keyword kw">end</span>
|
|
1784
|
+
287:
|
|
1785
|
+
288: <span class="ruby-comment cmt"># Find the value that is the closest to the original value. This will be</span>
|
|
1786
|
+
289: <span class="ruby-comment cmt"># the default if all values have the same length.</span>
|
|
1787
|
+
290: <span class="ruby-identifier">shortest</span> = <span class="ruby-value">2</span>
|
|
1788
|
+
291: <span class="ruby-identifier">delta</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
|
|
1789
|
+
292: <span class="ruby-identifier">shortest</span> = <span class="ruby-identifier">j</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">j</span>] <span class="ruby-operator">&&</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">j</span>][<span class="ruby-value">0</span>, <span class="ruby-value">2</span>] <span class="ruby-operator">!=</span> <span class="ruby-value str">'0.'</span> <span class="ruby-operator">&&</span>
|
|
1790
|
+
293: <span class="ruby-identifier">delta</span>[<span class="ruby-identifier">j</span>] <span class="ruby-operator"><=</span> <span class="ruby-identifier">delta</span>[<span class="ruby-identifier">shortest</span>]
|
|
1791
|
+
294: <span class="ruby-keyword kw">end</span>
|
|
1792
|
+
295:
|
|
1793
|
+
296: <span class="ruby-comment cmt"># Find the shortest option.</span>
|
|
1794
|
+
297: <span class="ruby-value">6</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
|
|
1795
|
+
298: <span class="ruby-identifier">shortest</span> = <span class="ruby-identifier">j</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">j</span>] <span class="ruby-operator">&&</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">j</span>][<span class="ruby-value">0</span>, <span class="ruby-value">2</span>] <span class="ruby-operator">!=</span> <span class="ruby-value str">'0.'</span> <span class="ruby-operator">&&</span>
|
|
1796
|
+
299: <span class="ruby-identifier">options</span>[<span class="ruby-identifier">j</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">shortest</span>].<span class="ruby-identifier">length</span>
|
|
1797
|
+
300: <span class="ruby-keyword kw">end</span>
|
|
1798
|
+
301:
|
|
1799
|
+
302: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">shortest</span>]
|
|
1800
|
+
303: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@loadUnit</span> <span class="ruby-operator">==</span> <span class="ruby-value">:longauto</span>
|
|
1801
|
+
304: <span class="ruby-comment cmt"># For the long units we handle singular and plural properly. For</span>
|
|
1802
|
+
305: <span class="ruby-comment cmt"># English we just need to append an 's', but this code will work for</span>
|
|
1803
|
+
306: <span class="ruby-comment cmt"># other languages as well.</span>
|
|
1804
|
+
307: <span class="ruby-identifier">units</span> = []
|
|
1805
|
+
308: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">str</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"1"</span>
|
|
1806
|
+
309: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minute hour day week month year )</span>
|
|
1807
|
+
310: <span class="ruby-keyword kw">else</span>
|
|
1808
|
+
311: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minutes hours days weeks months years )</span>
|
|
1809
|
+
312: <span class="ruby-keyword kw">end</span>
|
|
1810
|
+
313: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">' '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">units</span>[<span class="ruby-identifier">shortest</span>]
|
|
1811
|
+
314: <span class="ruby-keyword kw">else</span>
|
|
1812
|
+
315: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">%( min h d w m y )</span>[<span class="ruby-identifier">shortest</span>]
|
|
1813
|
+
316: <span class="ruby-keyword kw">end</span>
|
|
1814
|
+
317: <span class="ruby-keyword kw">else</span>
|
|
1815
|
+
318: <span class="ruby-comment cmt"># For fixed units we just need to do the conversion. No unit is</span>
|
|
1816
|
+
319: <span class="ruby-comment cmt"># included.</span>
|
|
1817
|
+
320: <span class="ruby-identifier">units</span> = [ <span class="ruby-value">:minutes</span>, <span class="ruby-value">:hours</span>, <span class="ruby-value">:days</span>, <span class="ruby-value">:weeks</span>, <span class="ruby-value">:months</span>, <span class="ruby-value">:years</span> ]
|
|
1818
|
+
321: <span class="ruby-identifier">str</span> = <span class="ruby-ivar">@numberFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">value</span> * <span class="ruby-identifier">factors</span>[<span class="ruby-identifier">units</span>.<span class="ruby-identifier">index</span>(<span class="ruby-ivar">@loadUnit</span>)])
|
|
1819
|
+
322: <span class="ruby-keyword kw">end</span>
|
|
1820
|
+
323: <span class="ruby-identifier">str</span>
|
|
1821
|
+
324: <span class="ruby-keyword kw">end</span></pre>
|
|
1801
1822
|
</div>
|
|
1802
1823
|
|
|
1803
1824
|
</div>
|