taskjuggler 0.0.8 → 0.0.9
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 +1144 -2047
- data/README +1 -1
- data/Rakefile +6 -6
- data/data/css/tjmanual.css +20 -0
- data/data/css/tjreport.css +7 -6
- data/doc/AppConfig.html +136 -130
- data/doc/Arguments.html +46 -40
- data/doc/CHANGELOG.html +1162 -2057
- data/doc/COPYING.html +8 -2
- data/doc/Object.html +205 -199
- data/doc/README.html +9 -3
- data/doc/RuntimeConfig.html +75 -69
- data/doc/String.html +69 -63
- data/doc/TaskJuggler.html +350 -291
- data/doc/TaskJuggler/Account.html +26 -20
- data/doc/TaskJuggler/AccountAttribute.html +24 -18
- data/doc/TaskJuggler/AccountScenario.html +24 -18
- data/doc/TaskJuggler/Allocation.html +74 -68
- data/doc/TaskJuggler/AllocationAttribute.html +54 -48
- data/doc/TaskJuggler/AttributeBase.html +172 -93
- data/doc/TaskJuggler/AttributeDefinition.html +22 -16
- data/doc/TaskJuggler/AttributeOverwrite.html +586 -0
- data/doc/TaskJuggler/BatchProcessor.html +263 -257
- data/doc/TaskJuggler/Booking.html +44 -38
- data/doc/TaskJuggler/BookingListAttribute.html +25 -21
- data/doc/TaskJuggler/BooleanAttribute.html +24 -18
- data/doc/TaskJuggler/CSVFile.html +193 -187
- data/doc/TaskJuggler/CellSettingPattern.html +13 -7
- data/doc/TaskJuggler/CellSettingPatternList.html +25 -19
- data/doc/TaskJuggler/Charge.html +49 -43
- data/doc/TaskJuggler/ChargeListAttribute.html +21 -15
- data/doc/TaskJuggler/ChargeSet.html +94 -88
- data/doc/TaskJuggler/ChargeSetListAttribute.html +29 -25
- data/doc/TaskJuggler/CollisionDetector.html +142 -136
- data/doc/TaskJuggler/ColumnListAttribute.html +21 -17
- data/doc/TaskJuggler/ColumnTable.html +50 -44
- data/doc/TaskJuggler/Daemon.html +71 -50
- data/doc/TaskJuggler/DataCache.html +110 -58
- data/doc/TaskJuggler/DataCacheEntry.html +22 -16
- data/doc/TaskJuggler/DateAttribute.html +24 -18
- data/doc/TaskJuggler/DefinitionListAttribute.html +12 -6
- data/doc/TaskJuggler/DependencyListAttribute.html +29 -25
- data/doc/TaskJuggler/DurationAttribute.html +25 -19
- data/doc/TaskJuggler/FileList.html +25 -19
- data/doc/TaskJuggler/FileRecord.html +17 -11
- data/doc/TaskJuggler/FixnumAttribute.html +16 -10
- data/doc/TaskJuggler/FlagListAttribute.html +25 -21
- data/doc/TaskJuggler/FloatAttribute.html +20 -14
- data/doc/TaskJuggler/FormatListAttribute.html +17 -11
- data/doc/TaskJuggler/GanttChart.html +242 -236
- data/doc/TaskJuggler/GanttContainer.html +71 -67
- data/doc/TaskJuggler/GanttHeader.html +113 -107
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -20
- data/doc/TaskJuggler/GanttLine.html +217 -210
- data/doc/TaskJuggler/GanttLoadStack.html +89 -83
- data/doc/TaskJuggler/GanttMilestone.html +11 -6
- data/doc/TaskJuggler/GanttRouter.html +194 -186
- data/doc/TaskJuggler/GanttTaskBar.html +41 -34
- data/doc/TaskJuggler/HTMLDocument.html +52 -46
- data/doc/TaskJuggler/HTMLGraphics.html +58 -52
- data/doc/TaskJuggler/Interval.html +90 -84
- data/doc/TaskJuggler/IntervalList.html +777 -0
- data/doc/TaskJuggler/IntervalListAttribute.html +29 -25
- data/doc/TaskJuggler/JobInfo.html +36 -30
- data/doc/TaskJuggler/Journal.html +188 -177
- data/doc/TaskJuggler/JournalEntry.html +36 -30
- data/doc/TaskJuggler/JournalEntryList.html +88 -82
- data/doc/TaskJuggler/KeywordArray.html +12 -6
- data/doc/TaskJuggler/KeywordDocumentation.html +512 -503
- data/doc/TaskJuggler/Limits.html +111 -105
- data/doc/TaskJuggler/Limits/Limit.html +71 -65
- data/doc/TaskJuggler/LimitsAttribute.html +21 -15
- data/doc/TaskJuggler/ListAttributeBase.html +16 -10
- data/doc/TaskJuggler/Log.html +111 -105
- data/doc/TaskJuggler/LogFile.html +54 -48
- data/doc/TaskJuggler/LogicalAttribute.html +35 -29
- data/doc/TaskJuggler/LogicalExpression.html +32 -26
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +16 -10
- data/doc/TaskJuggler/LogicalExpressionListAttribute.html +671 -0
- data/doc/TaskJuggler/LogicalFlag.html +24 -18
- data/doc/TaskJuggler/LogicalFunction.html +164 -158
- data/doc/TaskJuggler/LogicalOperation.html +138 -132
- data/doc/TaskJuggler/Macro.html +14 -8
- data/doc/TaskJuggler/MacroTable.html +42 -36
- data/doc/TaskJuggler/ManagerResponsibilities.html +19 -13
- data/doc/TaskJuggler/ManagerStatusRecord.html +23 -17
- data/doc/TaskJuggler/Message.html +56 -50
- data/doc/TaskJuggler/MessageHandler.html +73 -67
- data/doc/TaskJuggler/Navigator.html +92 -86
- data/doc/TaskJuggler/NavigatorElement.html +88 -82
- data/doc/TaskJuggler/NikuProject.html +15 -9
- data/doc/TaskJuggler/NikuReport.html +405 -370
- data/doc/TaskJuggler/NikuResource.html +13 -7
- data/doc/TaskJuggler/NodeListAttribute.html +13 -9
- data/doc/TaskJuggler/PlaceHolderCell.html +22 -16
- data/doc/TaskJuggler/ProcessIntercom.html +116 -110
- data/doc/TaskJuggler/ProcessIntercomIface.html +39 -33
- data/doc/TaskJuggler/Project.html +1064 -895
- data/doc/TaskJuggler/ProjectBroker.html +439 -366
- data/doc/TaskJuggler/ProjectBrokerIface.html +63 -53
- data/doc/TaskJuggler/ProjectFileParser.html +329 -319
- data/doc/TaskJuggler/ProjectFileScanner.html +351 -345
- data/doc/TaskJuggler/ProjectRecord.html +66 -60
- data/doc/TaskJuggler/ProjectServer.html +287 -280
- data/doc/TaskJuggler/ProjectServerIface.html +43 -37
- data/doc/TaskJuggler/PropertyAttribute.html +16 -10
- data/doc/TaskJuggler/PropertyList.html +205 -199
- data/doc/TaskJuggler/PropertySet.html +264 -296
- data/doc/TaskJuggler/PropertyTreeNode.html +455 -505
- data/doc/TaskJuggler/Query.html +309 -524
- data/doc/TaskJuggler/RTFHandlers.html +17 -11
- data/doc/TaskJuggler/RTFNavigator.html +33 -27
- data/doc/TaskJuggler/RTFQuery.html +135 -129
- data/doc/TaskJuggler/RTFReport.html +63 -57
- data/doc/TaskJuggler/RTFReportLink.html +55 -49
- data/doc/TaskJuggler/RTFWithQuerySupport.html +17 -11
- data/doc/TaskJuggler/RealFormat.html +64 -58
- data/doc/TaskJuggler/RealFormatAttribute.html +12 -6
- data/doc/TaskJuggler/ReferenceAttribute.html +35 -29
- data/doc/TaskJuggler/Report.html +294 -249
- data/doc/TaskJuggler/ReportBase.html +229 -223
- data/doc/TaskJuggler/ReportContext.html +52 -46
- data/doc/TaskJuggler/ReportServer.html +143 -137
- data/doc/TaskJuggler/ReportServerIface.html +51 -43
- data/doc/TaskJuggler/ReportServerRecord.html +36 -30
- data/doc/TaskJuggler/ReportServlet.html +167 -140
- data/doc/TaskJuggler/ReportTable.html +137 -131
- data/doc/TaskJuggler/ReportTableCell.html +332 -292
- data/doc/TaskJuggler/ReportTableColumn.html +46 -40
- data/doc/TaskJuggler/ReportTableLegend.html +43 -38
- data/doc/TaskJuggler/ReportTableLine.html +66 -60
- data/doc/TaskJuggler/Resource.html +166 -160
- data/doc/TaskJuggler/ResourceListAttribute.html +54 -32
- data/doc/TaskJuggler/ResourceListRE.html +47 -41
- data/doc/TaskJuggler/ResourceScenario.html +671 -644
- data/doc/TaskJuggler/RichText.html +51 -45
- data/doc/TaskJuggler/RichTextAttribute.html +28 -22
- data/doc/TaskJuggler/RichTextDocument.html +96 -90
- data/doc/TaskJuggler/RichTextElement.html +503 -497
- data/doc/TaskJuggler/RichTextFunctionExample.html +41 -35
- data/doc/TaskJuggler/RichTextFunctionHandler.html +19 -13
- data/doc/TaskJuggler/RichTextImage.html +14 -8
- data/doc/TaskJuggler/RichTextIntermediate.html +86 -80
- data/doc/TaskJuggler/RichTextParser.html +59 -53
- data/doc/TaskJuggler/RichTextScanner.html +184 -178
- data/doc/TaskJuggler/RichTextSnip.html +69 -63
- data/doc/TaskJuggler/RichTextSyntaxRules.html +416 -410
- data/doc/TaskJuggler/Scenario.html +13 -7
- data/doc/TaskJuggler/ScenarioData.html +40 -34
- data/doc/TaskJuggler/ScenarioListAttribute.html +21 -15
- data/doc/TaskJuggler/Scoreboard.html +129 -107
- data/doc/TaskJuggler/SheetHandlerBase.html +245 -239
- data/doc/TaskJuggler/SheetReceiver.html +333 -327
- data/doc/TaskJuggler/SheetSender.html +227 -221
- data/doc/TaskJuggler/Shift.html +26 -20
- data/doc/TaskJuggler/ShiftAssignment.html +45 -39
- data/doc/TaskJuggler/ShiftAssignments.html +178 -172
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +21 -15
- data/doc/TaskJuggler/ShiftScenario.html +29 -23
- data/doc/TaskJuggler/SimpleQueryExpander.html +36 -30
- data/doc/TaskJuggler/SortListAttribute.html +17 -13
- data/doc/TaskJuggler/SourceFileInfo.html +19 -13
- data/doc/TaskJuggler/StatusSheetReceiver.html +31 -25
- data/doc/TaskJuggler/StatusSheetReport.html +166 -159
- data/doc/TaskJuggler/StatusSheetSender.html +80 -74
- data/doc/TaskJuggler/StringAttribute.html +20 -14
- data/doc/TaskJuggler/SymbolAttribute.html +16 -10
- data/doc/TaskJuggler/SyntaxReference.html +231 -225
- data/doc/TaskJuggler/TOCEntry.html +46 -40
- data/doc/TaskJuggler/TSResourceRecord.html +15 -9
- data/doc/TaskJuggler/TSTaskRecord.html +16 -10
- data/doc/TaskJuggler/TableColumnDefinition.html +84 -39
- data/doc/TaskJuggler/TableOfContents.html +28 -22
- data/doc/TaskJuggler/TableReport.html +906 -866
- data/doc/TaskJuggler/Task.html +99 -93
- data/doc/TaskJuggler/TaskDependency.html +24 -18
- data/doc/TaskJuggler/TaskListAttribute.html +29 -25
- data/doc/TaskJuggler/TaskListRE.html +46 -39
- data/doc/TaskJuggler/TaskScenario.html +2218 -1965
- data/doc/TaskJuggler/TextFormatter.html +154 -148
- data/doc/TaskJuggler/TextParser.html +362 -348
- data/doc/TaskJuggler/TextParser/Pattern.html +313 -307
- data/doc/TaskJuggler/TextParser/Rule.html +147 -141
- data/doc/TaskJuggler/TextParser/StackElement.html +58 -52
- data/doc/TaskJuggler/TextParser/State.html +88 -82
- data/doc/TaskJuggler/TextParser/StateTransition.html +42 -36
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +20 -14
- data/doc/TaskJuggler/TextParser/TokenDoc.html +19 -13
- data/doc/TaskJuggler/TextReport.html +80 -74
- data/doc/TaskJuggler/TextScanner.html +284 -272
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +14 -8
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +21 -15
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +15 -9
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
- data/doc/TaskJuggler/TimeSheet.html +123 -117
- data/doc/TaskJuggler/TimeSheetReceiver.html +28 -22
- data/doc/TaskJuggler/TimeSheetRecord.html +212 -206
- data/doc/TaskJuggler/TimeSheetReport.html +206 -199
- data/doc/TaskJuggler/TimeSheetSender.html +27 -21
- data/doc/TaskJuggler/TimeSheetSummary.html +140 -134
- data/doc/TaskJuggler/TimeSheets.html +20 -14
- data/doc/TaskJuggler/Tj3AppBase.html +100 -94
- data/doc/TaskJuggler/Tj3Client.html +407 -483
- data/doc/TaskJuggler/Tj3Daemon.html +116 -107
- data/doc/TaskJuggler/Tj3SheetAppBase.html +45 -39
- data/doc/TaskJuggler/Tj3SsReceiver.html +31 -25
- data/doc/TaskJuggler/Tj3SsSender.html +64 -58
- data/doc/TaskJuggler/Tj3TsReceiver.html +31 -25
- data/doc/TaskJuggler/Tj3TsSender.html +51 -45
- data/doc/TaskJuggler/Tj3TsSummary.html +59 -53
- data/doc/TaskJuggler/TjException.html +13 -7
- data/doc/TaskJuggler/TjTime.html +444 -438
- data/doc/TaskJuggler/TjpExample.html +84 -78
- data/doc/TaskJuggler/TjpExportRE.html +356 -349
- data/doc/TaskJuggler/TjpSyntaxRules.html +4279 -4151
- data/doc/TaskJuggler/URLParameter.html +16 -10
- data/doc/TaskJuggler/UserManual.html +185 -179
- data/doc/TaskJuggler/VimSyntax.html +144 -138
- data/doc/TaskJuggler/WebServer.html +46 -39
- data/doc/TaskJuggler/WelcomePage.html +769 -0
- data/doc/TaskJuggler/WorkingHours.html +185 -179
- data/doc/TaskJuggler/WorkingHoursAttribute.html +42 -36
- data/doc/TaskJuggler/XMLBlob.html +21 -15
- data/doc/TaskJuggler/XMLComment.html +17 -11
- data/doc/TaskJuggler/XMLDocument.html +33 -27
- data/doc/TaskJuggler/XMLElement.html +97 -91
- data/doc/TaskJuggler/XMLNamedText.html +13 -7
- data/doc/TaskJuggler/XMLText.html +32 -26
- data/doc/index.html +601 -563
- data/doc/lib/AccountScenario_rb.html +5 -3
- data/doc/lib/Account_rb.html +5 -3
- data/doc/lib/Allocation_rb.html +5 -3
- data/doc/lib/AppConfig_rb.html +5 -3
- data/doc/lib/AttributeBase_rb.html +5 -3
- data/doc/lib/AttributeDefinition_rb.html +5 -3
- data/doc/lib/Attributes_rb.html +5 -3
- data/doc/lib/BatchProcessor_rb.html +5 -3
- data/doc/lib/Booking_rb.html +5 -3
- data/doc/lib/ChargeSet_rb.html +5 -3
- data/doc/lib/Charge_rb.html +5 -3
- data/doc/lib/DataCache_rb.html +5 -3
- data/doc/lib/FileList_rb.html +5 -3
- data/doc/lib/HTMLDocument_rb.html +5 -3
- data/doc/lib/IntervalList_rb.html +69 -0
- data/doc/lib/Interval_rb.html +5 -3
- data/doc/lib/Journal_rb.html +5 -3
- data/doc/lib/KeywordArray_rb.html +5 -3
- data/doc/lib/KeywordDocumentation_rb.html +5 -3
- data/doc/lib/Limits_rb.html +5 -3
- data/doc/lib/LogFile_rb.html +5 -3
- data/doc/lib/Log_rb.html +5 -3
- data/doc/lib/LogicalExpression_rb.html +5 -3
- data/doc/lib/LogicalFunction_rb.html +5 -3
- data/doc/lib/LogicalOperation_rb.html +5 -3
- data/doc/lib/MacroTable_rb.html +5 -3
- data/doc/lib/MessageHandler_rb.html +5 -3
- data/doc/lib/ProjectFileParser_rb.html +5 -3
- data/doc/lib/ProjectFileScanner_rb.html +5 -3
- data/doc/lib/Project_rb.html +5 -3
- data/doc/lib/PropertyList_rb.html +5 -3
- data/doc/lib/PropertySet_rb.html +5 -3
- data/doc/lib/PropertyTreeNode_rb.html +5 -3
- data/doc/lib/Query_rb.html +5 -3
- data/doc/lib/RTFHandlers_rb.html +5 -3
- data/doc/lib/RTFNavigator_rb.html +5 -3
- data/doc/lib/RTFQuery_rb.html +5 -3
- data/doc/lib/RTFReportLink_rb.html +5 -3
- data/doc/lib/RTFReport_rb.html +5 -3
- data/doc/lib/RTFWithQuerySupport_rb.html +5 -3
- data/doc/lib/RealFormat_rb.html +5 -3
- data/doc/lib/ResourceScenario_rb.html +5 -3
- data/doc/lib/Resource_rb.html +5 -3
- data/doc/lib/RichTextDocument_rb.html +5 -3
- data/doc/lib/RichTextElement_rb.html +5 -3
- data/doc/lib/RichTextFunctionExample_rb.html +5 -3
- data/doc/lib/RichTextFunctionHandler_rb.html +5 -3
- data/doc/lib/RichTextParser_rb.html +5 -3
- data/doc/lib/RichTextScanner_rb.html +5 -3
- data/doc/lib/RichTextSnip_rb.html +5 -3
- data/doc/lib/RichTextSyntaxRules_rb.html +5 -3
- data/doc/lib/RichText_rb.html +5 -3
- data/doc/lib/RuntimeConfig_rb.html +5 -3
- data/doc/lib/ScenarioData_rb.html +5 -3
- data/doc/lib/Scenario_rb.html +5 -3
- data/doc/lib/Scoreboard_rb.html +7 -3
- data/doc/lib/SheetHandlerBase_rb.html +5 -3
- data/doc/lib/SheetReceiver_rb.html +5 -3
- data/doc/lib/SheetSender_rb.html +5 -3
- data/doc/lib/ShiftAssignments_rb.html +5 -3
- data/doc/lib/ShiftScenario_rb.html +5 -3
- data/doc/lib/Shift_rb.html +5 -3
- data/doc/lib/SimpleQueryExpander_rb.html +5 -3
- data/doc/lib/SourceFileInfo_rb.html +5 -3
- data/doc/lib/StatusSheetReceiver_rb.html +5 -3
- data/doc/lib/StatusSheetSender_rb.html +5 -3
- data/doc/lib/SyntaxReference_rb.html +5 -3
- data/doc/lib/TOCEntry_rb.html +5 -3
- data/doc/lib/TableColumnDefinition_rb.html +5 -3
- data/doc/lib/TableOfContents_rb.html +5 -3
- data/doc/lib/TaskDependency_rb.html +5 -3
- data/doc/lib/TaskJuggler_rb.html +5 -3
- data/doc/lib/TaskScenario_rb.html +5 -3
- data/doc/lib/Task_rb.html +5 -3
- data/doc/lib/TextFormatter_rb.html +6 -4
- data/doc/lib/TextParser/Pattern_rb.html +5 -3
- data/doc/lib/TextParser/Rule_rb.html +5 -3
- data/doc/lib/TextParser/StackElement_rb.html +5 -3
- data/doc/lib/TextParser/State_rb.html +6 -4
- data/doc/lib/TextParser/TokenDoc_rb.html +5 -3
- data/doc/lib/TextParser_rb.html +5 -3
- data/doc/lib/TextScanner_rb.html +5 -3
- data/doc/lib/TimeSheetReceiver_rb.html +5 -3
- data/doc/lib/TimeSheetSender_rb.html +5 -3
- data/doc/lib/TimeSheetSummary_rb.html +6 -4
- data/doc/lib/TimeSheets_rb.html +5 -3
- data/doc/lib/Tj3AppBase_rb.html +5 -3
- data/doc/lib/Tj3Config_rb.html +5 -3
- data/doc/lib/Tj3SheetAppBase_rb.html +5 -3
- data/doc/lib/TjException_rb.html +5 -3
- data/doc/lib/TjTime_rb.html +5 -3
- data/doc/lib/TjpExample_rb.html +5 -3
- data/doc/lib/TjpSyntaxRules_rb.html +5 -3
- data/doc/lib/URLParameter_rb.html +5 -3
- data/doc/lib/UTF8String_rb.html +5 -3
- data/doc/lib/UserManual_rb.html +5 -3
- data/doc/lib/VimSyntax_rb.html +6 -4
- data/doc/lib/WorkingHours_rb.html +5 -3
- data/doc/lib/XMLDocument_rb.html +5 -3
- data/doc/lib/XMLElement_rb.html +5 -3
- data/doc/lib/daemon/Daemon_rb.html +5 -3
- data/doc/lib/daemon/ProcessIntercom_rb.html +7 -3
- data/doc/lib/daemon/ProjectBroker_rb.html +5 -3
- data/doc/lib/daemon/ProjectServer_rb.html +5 -3
- data/doc/lib/daemon/ReportServer_rb.html +5 -3
- data/doc/lib/daemon/ReportServlet_rb.html +69 -0
- data/doc/lib/daemon/WebServer_rb.html +9 -3
- data/doc/lib/daemon/WelcomePage_rb.html +71 -0
- data/doc/lib/deep_copy_rb.html +5 -3
- data/doc/lib/reports/CSVFile_rb.html +5 -3
- data/doc/lib/reports/CollisionDetector_rb.html +5 -3
- data/doc/lib/reports/ColumnTable_rb.html +5 -3
- data/doc/lib/reports/GanttChart_rb.html +5 -3
- data/doc/lib/reports/GanttContainer_rb.html +5 -3
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +5 -3
- data/doc/lib/reports/GanttHeader_rb.html +5 -3
- data/doc/lib/reports/GanttLine_rb.html +5 -3
- data/doc/lib/reports/GanttLoadStack_rb.html +5 -3
- data/doc/lib/reports/GanttMilestone_rb.html +5 -3
- data/doc/lib/reports/GanttRouter_rb.html +5 -3
- data/doc/lib/reports/GanttTaskBar_rb.html +5 -3
- data/doc/lib/reports/HTMLGraphics_rb.html +5 -3
- data/doc/lib/reports/Navigator_rb.html +5 -3
- data/doc/lib/reports/NikuReport_rb.html +5 -3
- data/doc/lib/reports/ReportBase_rb.html +5 -3
- data/doc/lib/reports/ReportContext_rb.html +5 -3
- data/doc/lib/reports/ReportTableCell_rb.html +5 -3
- data/doc/lib/reports/ReportTableColumn_rb.html +5 -3
- data/doc/lib/reports/ReportTableLegend_rb.html +5 -3
- data/doc/lib/reports/ReportTableLine_rb.html +5 -3
- data/doc/lib/reports/ReportTable_rb.html +5 -3
- data/doc/lib/reports/Report_rb.html +5 -3
- data/doc/lib/reports/ResourceListRE_rb.html +5 -3
- data/doc/lib/reports/StatusSheetReport_rb.html +5 -3
- data/doc/lib/reports/TableReport_rb.html +5 -3
- data/doc/lib/reports/TaskListRE_rb.html +5 -3
- data/doc/lib/reports/TextReport_rb.html +5 -3
- data/doc/lib/reports/TimeSheetReport_rb.html +5 -3
- data/doc/lib/reports/TjpExportRE_rb.html +5 -3
- data/doc/lib/{taskjuggler3_rb.html → tj3_rb.html} +7 -5
- data/doc/lib/tj3client_rb.html +5 -3
- data/doc/lib/tj3d_rb.html +6 -4
- data/doc/lib/tj3man_rb.html +5 -3
- data/doc/lib/tj3ss_receiver_rb.html +5 -3
- data/doc/lib/tj3ss_sender_rb.html +5 -3
- data/doc/lib/tj3ts_receiver_rb.html +5 -3
- data/doc/lib/tj3ts_sender_rb.html +5 -3
- data/doc/lib/tj3ts_summary_rb.html +5 -3
- data/examples/tutorial.tjp +13 -5
- data/gem_spec.rb +3 -0
- data/lib/Account.rb +2 -1
- data/lib/AccountScenario.rb +2 -1
- data/lib/Allocation.rb +2 -1
- data/lib/AppConfig.rb +2 -1
- data/lib/AttributeBase.rb +19 -5
- data/lib/AttributeDefinition.rb +2 -1
- data/lib/Attributes.rb +49 -38
- data/lib/BatchProcessor.rb +2 -1
- data/lib/Booking.rb +2 -1
- data/lib/Charge.rb +2 -1
- data/lib/ChargeSet.rb +2 -1
- data/lib/DataCache.rb +15 -1
- data/lib/FileList.rb +2 -1
- data/lib/HTMLDocument.rb +2 -1
- data/lib/Interval.rb +2 -1
- data/lib/IntervalList.rb +100 -0
- data/lib/Journal.rb +8 -2
- data/lib/KeywordArray.rb +2 -1
- data/lib/KeywordDocumentation.rb +10 -6
- data/lib/Limits.rb +2 -1
- data/lib/Log.rb +3 -2
- data/lib/LogFile.rb +2 -1
- data/lib/LogicalExpression.rb +2 -1
- data/lib/LogicalFunction.rb +2 -1
- data/lib/LogicalOperation.rb +2 -1
- data/lib/MacroTable.rb +2 -1
- data/lib/MessageHandler.rb +2 -1
- data/lib/Project.rb +92 -25
- data/lib/ProjectFileParser.rb +7 -2
- data/lib/ProjectFileScanner.rb +2 -1
- data/lib/PropertyList.rb +2 -1
- data/lib/PropertySet.rb +2 -6
- data/lib/PropertyTreeNode.rb +22 -44
- data/lib/Query.rb +32 -13
- data/lib/RTFHandlers.rb +2 -1
- data/lib/RTFNavigator.rb +2 -1
- data/lib/RTFQuery.rb +3 -2
- data/lib/RTFReport.rb +2 -1
- data/lib/RTFReportLink.rb +2 -1
- data/lib/RTFWithQuerySupport.rb +2 -1
- data/lib/RealFormat.rb +2 -1
- data/lib/Resource.rb +2 -1
- data/lib/ResourceScenario.rb +35 -14
- data/lib/RichText.rb +2 -1
- data/lib/RichTextDocument.rb +2 -1
- data/lib/RichTextElement.rb +2 -1
- data/lib/RichTextFunctionExample.rb +2 -1
- data/lib/RichTextFunctionHandler.rb +2 -1
- data/lib/RichTextParser.rb +2 -1
- data/lib/RichTextScanner.rb +2 -1
- data/lib/RichTextSnip.rb +2 -1
- data/lib/RichTextSyntaxRules.rb +2 -1
- data/lib/RuntimeConfig.rb +2 -1
- data/lib/Scenario.rb +2 -1
- data/lib/ScenarioData.rb +2 -1
- data/lib/Scoreboard.rb +27 -8
- data/lib/SheetHandlerBase.rb +2 -1
- data/lib/SheetReceiver.rb +2 -1
- data/lib/SheetSender.rb +2 -1
- data/lib/Shift.rb +2 -1
- data/lib/ShiftAssignments.rb +2 -1
- data/lib/ShiftScenario.rb +2 -1
- data/lib/SimpleQueryExpander.rb +2 -1
- data/lib/SourceFileInfo.rb +2 -1
- data/lib/StatusSheetReceiver.rb +2 -1
- data/lib/StatusSheetSender.rb +2 -1
- data/lib/SyntaxReference.rb +2 -1
- data/lib/TOCEntry.rb +2 -1
- data/lib/TableColumnDefinition.rb +9 -2
- data/lib/TableOfContents.rb +2 -1
- data/lib/Task.rb +2 -1
- data/lib/TaskDependency.rb +2 -1
- data/lib/TaskJuggler.rb +8 -6
- data/lib/TaskScenario.rb +337 -153
- data/lib/TextFormatter.rb +3 -2
- data/lib/TextParser.rb +7 -2
- data/lib/TextParser/Pattern.rb +2 -1
- data/lib/TextParser/Rule.rb +2 -1
- data/lib/TextParser/StackElement.rb +2 -1
- data/lib/TextParser/State.rb +3 -2
- data/lib/TextParser/TokenDoc.rb +2 -1
- data/lib/TextScanner.rb +12 -5
- data/lib/TimeSheetReceiver.rb +2 -1
- data/lib/TimeSheetSender.rb +2 -1
- data/lib/TimeSheetSummary.rb +3 -2
- data/lib/TimeSheets.rb +2 -1
- data/lib/Tj3AppBase.rb +6 -5
- data/lib/Tj3Config.rb +5 -4
- data/lib/Tj3SheetAppBase.rb +2 -1
- data/lib/TjException.rb +2 -1
- data/lib/TjTime.rb +2 -1
- data/lib/TjpExample.rb +2 -1
- data/lib/TjpSyntaxRules.rb +264 -65
- data/lib/URLParameter.rb +2 -1
- data/lib/UTF8String.rb +2 -1
- data/lib/UserManual.rb +2 -1
- data/lib/VimSyntax.rb +3 -2
- data/lib/WorkingHours.rb +2 -1
- data/lib/XMLDocument.rb +2 -1
- data/lib/XMLElement.rb +2 -1
- data/lib/daemon/Daemon.rb +3 -1
- data/lib/daemon/ProcessIntercom.rb +3 -1
- data/lib/daemon/ProjectBroker.rb +84 -32
- data/lib/daemon/ProjectServer.rb +5 -3
- data/lib/daemon/ReportServer.rb +8 -5
- data/lib/daemon/ReportServlet.rb +166 -0
- data/lib/daemon/WebServer.rb +6 -150
- data/lib/daemon/WelcomePage.rb +80 -0
- data/lib/deep_copy.rb +2 -1
- data/lib/reports/CSVFile.rb +2 -1
- data/lib/reports/CollisionDetector.rb +2 -1
- data/lib/reports/ColumnTable.rb +2 -1
- data/lib/reports/GanttChart.rb +2 -1
- data/lib/reports/GanttContainer.rb +3 -4
- data/lib/reports/GanttHeader.rb +2 -1
- data/lib/reports/GanttHeaderScaleItem.rb +2 -1
- data/lib/reports/GanttLine.rb +12 -10
- data/lib/reports/GanttLoadStack.rb +2 -1
- data/lib/reports/GanttMilestone.rb +3 -3
- data/lib/reports/GanttRouter.rb +4 -1
- data/lib/reports/GanttTaskBar.rb +9 -7
- data/lib/reports/HTMLGraphics.rb +2 -1
- data/lib/reports/Navigator.rb +2 -1
- data/lib/reports/NikuReport.rb +79 -49
- data/lib/reports/Report.rb +42 -10
- data/lib/reports/ReportBase.rb +2 -1
- data/lib/reports/ReportContext.rb +2 -1
- data/lib/reports/ReportTable.rb +2 -1
- data/lib/reports/ReportTableCell.rb +63 -28
- data/lib/reports/ReportTableColumn.rb +2 -1
- data/lib/reports/ReportTableLegend.rb +5 -5
- data/lib/reports/ReportTableLine.rb +2 -1
- data/lib/reports/ResourceListRE.rb +2 -1
- data/lib/reports/StatusSheetReport.rb +4 -2
- data/lib/reports/TableReport.rb +42 -38
- data/lib/reports/TaskListRE.rb +4 -2
- data/lib/reports/TextReport.rb +2 -1
- data/lib/reports/TimeSheetReport.rb +4 -2
- data/lib/reports/TjpExportRE.rb +4 -2
- data/lib/{taskjuggler3.rb → tj3.rb} +6 -5
- data/lib/tj3client.rb +19 -36
- data/lib/tj3d.rb +6 -2
- data/lib/tj3man.rb +4 -3
- data/lib/tj3ss_receiver.rb +2 -1
- data/lib/tj3ss_sender.rb +2 -1
- data/lib/tj3ts_receiver.rb +2 -1
- data/lib/tj3ts_sender.rb +2 -1
- data/lib/tj3ts_summary.rb +2 -1
- data/manual/Day_To_Day_Juggling +36 -0
- data/manual/How_To_Contribute +9 -4
- data/manual/Installation +10 -3
- data/manual/TaskJuggler_Internals +0 -2
- data/manual/Tutorial +25 -3
- data/prj_cfg.rb +4 -2
- data/spec/IntervalList_spec.rb +138 -0
- data/spec/ProjectBroker_spec.rb +133 -0
- data/tasks/changelog.rake +41 -24
- data/tasks/csts.rake +1 -0
- data/tasks/gem.rake +1 -0
- data/tasks/rcov.rake +1 -1
- data/tasks/spec.rake +7 -0
- data/tasks/test.rake +1 -0
- data/test/MessageChecker.rb +2 -1
- data/test/TestSuite/CSV-Reports/niku.tjp +70 -0
- data/test/TestSuite/CSV-Reports/{celltext-Reference.csv → refs/celltext.csv} +0 -0
- data/test/TestSuite/CSV-Reports/refs/niku.csv +5 -0
- data/test/TestSuite/CSV-Reports/{resourcereport-Reference.csv → refs/resourcereport.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{resourcereport_with_tasks-Reference.csv → refs/resourcereport_with_tasks.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortByTree-Reference.csv → refs/sortByTree.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_duration.down-Reference.csv → refs/sortBy_duration.down.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_effort.up-Reference.csv → refs/sortBy_effort.up.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_plan.start.down-Reference.csv → refs/sortBy_plan.start.down.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{taskreport-Reference.csv → refs/taskreport.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{taskreport_with_resources-Reference.csv → refs/taskreport_with_resources.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{weekly-Reference.csv → refs/weekly.csv} +0 -0
- data/test/TestSuite/HTML-Reports/Alerts.tjp +12 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
- data/test/TestSuite/Scheduler/Correct/Container-2.tjp +1 -2
- data/test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp +77 -0
- data/test/TestSuite/Scheduler/Correct/WeakDeps.tjp +40 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +2 -2
- data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +3 -4
- data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +2 -2
- data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +8 -7
- data/test/TestSuite/Scheduler/Errors/onend_wrong_direction.tjp +19 -0
- data/test/TestSuite/Scheduler/Errors/onstart_wrong_direction.tjp +18 -0
- data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +1 -2
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/boss_2002-03-02.tji +46 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/dev2_2002-03-02.tji +22 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/resources.yml +11 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/acceptable_intervals +1 -0
- data/test/TestSuite/StatusSheets/sender.log +256 -0
- data/test/TestSuite/StatusSheets/statussheets.log +9 -0
- data/test/TestSuite/StatusSheets/tj3d.log +395 -0
- data/test/TestSuite/Syntax/Correct/Limits-1.tjp +2 -0
- data/test/TestSuite/Syntax/Correct/Niku.tjp +6 -1
- data/test/TestSuite/Syntax/Correct/Scenario.tjp +4 -1
- data/test/TestSuite/Syntax/Correct/Supplement.tjp +12 -5
- data/test/TestSuite/Syntax/Correct/TaskPrefix.tji +3 -0
- data/test/TestSuite/Syntax/Correct/TaskPrefix.tjp +24 -0
- data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -2
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +15 -5
- data/test/all.rb +2 -4
- data/test/test_BatchProcessor.rb +2 -1
- data/test/test_CSV-Reports.rb +34 -23
- data/test/test_CSVFile.rb +2 -1
- data/test/test_CollisionDetector.rb +3 -2
- data/test/test_Journal.rb +2 -1
- data/test/test_Limits.rb +2 -1
- data/test/test_LogicalExpression.rb +2 -1
- data/test/test_MacroTable.rb +2 -1
- data/test/test_Project.rb +3 -2
- data/test/test_ProjectFileScanner.rb +2 -1
- data/test/test_PropertySet.rb +2 -1
- data/test/test_Query.rb +2 -1
- data/test/test_RealFormat.rb +2 -1
- data/test/test_ReportGenerator.rb +2 -1
- data/test/test_RichText.rb +2 -1
- data/test/test_Scheduler.rb +2 -1
- data/test/test_ShiftAssignments.rb +2 -1
- data/test/test_SimpleQueryExpander.rb +2 -1
- data/test/test_Syntax.rb +2 -1
- data/test/test_TextFormatter.rb +3 -2
- data/test/test_TjTime.rb +2 -1
- data/test/test_TjpExample.rb +2 -1
- data/test/test_URLParameter.rb +2 -1
- data/test/test_UTF8String.rb +2 -1
- data/test/test_WorkingHours.rb +2 -1
- data/test/test_deep_copy.rb +2 -1
- metadata +74 -20
- data/doc/StringIO.html +0 -595
- data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +0 -46
- data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +0 -51
- data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +0 -11
data/doc/TaskJuggler/Query.html
CHANGED
|
@@ -71,6 +71,8 @@
|
|
|
71
71
|
|
|
72
72
|
<li><a href="#method-c-new">::new</a></li>
|
|
73
73
|
|
|
74
|
+
<li><a href="#method-i-assignList">#assignList</a></li>
|
|
75
|
+
|
|
74
76
|
<li><a href="#method-i-end">#end</a></li>
|
|
75
77
|
|
|
76
78
|
<li><a href="#method-i-endIdx%3D">#endIdx=</a></li>
|
|
@@ -157,6 +159,8 @@
|
|
|
157
159
|
|
|
158
160
|
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
159
161
|
|
|
162
|
+
<li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
|
|
163
|
+
|
|
160
164
|
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
161
165
|
|
|
162
166
|
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
@@ -235,6 +239,8 @@
|
|
|
235
239
|
|
|
236
240
|
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
237
241
|
|
|
242
|
+
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
243
|
+
|
|
238
244
|
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
239
245
|
|
|
240
246
|
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
@@ -267,6 +273,8 @@
|
|
|
267
273
|
|
|
268
274
|
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
269
275
|
|
|
276
|
+
<li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
|
|
277
|
+
|
|
270
278
|
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
271
279
|
|
|
272
280
|
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
@@ -547,6 +555,8 @@
|
|
|
547
555
|
|
|
548
556
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
549
557
|
|
|
558
|
+
<li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
|
|
559
|
+
|
|
550
560
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
551
561
|
|
|
552
562
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -573,8 +583,6 @@
|
|
|
573
583
|
|
|
574
584
|
<li><a href="../String.html">String</a></li>
|
|
575
585
|
|
|
576
|
-
<li><a href="../StringIO.html">StringIO</a></li>
|
|
577
|
-
|
|
578
586
|
</ul>
|
|
579
587
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
580
588
|
</div>
|
|
@@ -623,278 +631,6 @@ contains an error message.
|
|
|
623
631
|
<h3 class="section-header">Attributes</h3>
|
|
624
632
|
|
|
625
633
|
|
|
626
|
-
<div id="project-attribute-method" class="method-detail">
|
|
627
|
-
<a name="project"></a>
|
|
628
|
-
|
|
629
|
-
<a name="project="></a>
|
|
630
|
-
|
|
631
|
-
<div class="method-heading attribute-method-heading">
|
|
632
|
-
<span class="method-name">project</span><span
|
|
633
|
-
class="attribute-access-type">[RW]</span>
|
|
634
|
-
</div>
|
|
635
|
-
|
|
636
|
-
<div class="method-description">
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
</div>
|
|
641
|
-
</div>
|
|
642
|
-
|
|
643
|
-
<div id="property-ype-attribute-method" class="method-detail">
|
|
644
|
-
<a name="propertyType"></a>
|
|
645
|
-
|
|
646
|
-
<a name="propertyType="></a>
|
|
647
|
-
|
|
648
|
-
<div class="method-heading attribute-method-heading">
|
|
649
|
-
<span class="method-name">propertyType</span><span
|
|
650
|
-
class="attribute-access-type">[RW]</span>
|
|
651
|
-
</div>
|
|
652
|
-
|
|
653
|
-
<div class="method-description">
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
</div>
|
|
658
|
-
</div>
|
|
659
|
-
|
|
660
|
-
<div id="property-d-attribute-method" class="method-detail">
|
|
661
|
-
<a name="propertyId"></a>
|
|
662
|
-
|
|
663
|
-
<a name="propertyId="></a>
|
|
664
|
-
|
|
665
|
-
<div class="method-heading attribute-method-heading">
|
|
666
|
-
<span class="method-name">propertyId</span><span
|
|
667
|
-
class="attribute-access-type">[RW]</span>
|
|
668
|
-
</div>
|
|
669
|
-
|
|
670
|
-
<div class="method-description">
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
</div>
|
|
675
|
-
</div>
|
|
676
|
-
|
|
677
|
-
<div id="property-attribute-method" class="method-detail">
|
|
678
|
-
<a name="property"></a>
|
|
679
|
-
|
|
680
|
-
<a name="property="></a>
|
|
681
|
-
|
|
682
|
-
<div class="method-heading attribute-method-heading">
|
|
683
|
-
<span class="method-name">property</span><span
|
|
684
|
-
class="attribute-access-type">[RW]</span>
|
|
685
|
-
</div>
|
|
686
|
-
|
|
687
|
-
<div class="method-description">
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
</div>
|
|
692
|
-
</div>
|
|
693
|
-
|
|
694
|
-
<div id="scope-roperty-ype-attribute-method" class="method-detail">
|
|
695
|
-
<a name="scopePropertyType"></a>
|
|
696
|
-
|
|
697
|
-
<a name="scopePropertyType="></a>
|
|
698
|
-
|
|
699
|
-
<div class="method-heading attribute-method-heading">
|
|
700
|
-
<span class="method-name">scopePropertyType</span><span
|
|
701
|
-
class="attribute-access-type">[RW]</span>
|
|
702
|
-
</div>
|
|
703
|
-
|
|
704
|
-
<div class="method-description">
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
</div>
|
|
709
|
-
</div>
|
|
710
|
-
|
|
711
|
-
<div id="scope-roperty-d-attribute-method" class="method-detail">
|
|
712
|
-
<a name="scopePropertyId"></a>
|
|
713
|
-
|
|
714
|
-
<a name="scopePropertyId="></a>
|
|
715
|
-
|
|
716
|
-
<div class="method-heading attribute-method-heading">
|
|
717
|
-
<span class="method-name">scopePropertyId</span><span
|
|
718
|
-
class="attribute-access-type">[RW]</span>
|
|
719
|
-
</div>
|
|
720
|
-
|
|
721
|
-
<div class="method-description">
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
</div>
|
|
726
|
-
</div>
|
|
727
|
-
|
|
728
|
-
<div id="scope-roperty-attribute-method" class="method-detail">
|
|
729
|
-
<a name="scopeProperty"></a>
|
|
730
|
-
|
|
731
|
-
<a name="scopeProperty="></a>
|
|
732
|
-
|
|
733
|
-
<div class="method-heading attribute-method-heading">
|
|
734
|
-
<span class="method-name">scopeProperty</span><span
|
|
735
|
-
class="attribute-access-type">[RW]</span>
|
|
736
|
-
</div>
|
|
737
|
-
|
|
738
|
-
<div class="method-description">
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
</div>
|
|
743
|
-
</div>
|
|
744
|
-
|
|
745
|
-
<div id="attribute-d-attribute-method" class="method-detail">
|
|
746
|
-
<a name="attributeId"></a>
|
|
747
|
-
|
|
748
|
-
<a name="attributeId="></a>
|
|
749
|
-
|
|
750
|
-
<div class="method-heading attribute-method-heading">
|
|
751
|
-
<span class="method-name">attributeId</span><span
|
|
752
|
-
class="attribute-access-type">[RW]</span>
|
|
753
|
-
</div>
|
|
754
|
-
|
|
755
|
-
<div class="method-description">
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
</div>
|
|
760
|
-
</div>
|
|
761
|
-
|
|
762
|
-
<div id="scenario-dx-attribute-method" class="method-detail">
|
|
763
|
-
<a name="scenarioIdx"></a>
|
|
764
|
-
|
|
765
|
-
<a name="scenarioIdx="></a>
|
|
766
|
-
|
|
767
|
-
<div class="method-heading attribute-method-heading">
|
|
768
|
-
<span class="method-name">scenarioIdx</span><span
|
|
769
|
-
class="attribute-access-type">[RW]</span>
|
|
770
|
-
</div>
|
|
771
|
-
|
|
772
|
-
<div class="method-description">
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
</div>
|
|
777
|
-
</div>
|
|
778
|
-
|
|
779
|
-
<div id="time-ormat-attribute-method" class="method-detail">
|
|
780
|
-
<a name="timeFormat"></a>
|
|
781
|
-
|
|
782
|
-
<a name="timeFormat="></a>
|
|
783
|
-
|
|
784
|
-
<div class="method-heading attribute-method-heading">
|
|
785
|
-
<span class="method-name">timeFormat</span><span
|
|
786
|
-
class="attribute-access-type">[RW]</span>
|
|
787
|
-
</div>
|
|
788
|
-
|
|
789
|
-
<div class="method-description">
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
</div>
|
|
794
|
-
</div>
|
|
795
|
-
|
|
796
|
-
<div id="number-ormat-attribute-method" class="method-detail">
|
|
797
|
-
<a name="numberFormat"></a>
|
|
798
|
-
|
|
799
|
-
<a name="numberFormat="></a>
|
|
800
|
-
|
|
801
|
-
<div class="method-heading attribute-method-heading">
|
|
802
|
-
<span class="method-name">numberFormat</span><span
|
|
803
|
-
class="attribute-access-type">[RW]</span>
|
|
804
|
-
</div>
|
|
805
|
-
|
|
806
|
-
<div class="method-description">
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
</div>
|
|
811
|
-
</div>
|
|
812
|
-
|
|
813
|
-
<div id="currency-ormat-attribute-method" class="method-detail">
|
|
814
|
-
<a name="currencyFormat"></a>
|
|
815
|
-
|
|
816
|
-
<a name="currencyFormat="></a>
|
|
817
|
-
|
|
818
|
-
<div class="method-heading attribute-method-heading">
|
|
819
|
-
<span class="method-name">currencyFormat</span><span
|
|
820
|
-
class="attribute-access-type">[RW]</span>
|
|
821
|
-
</div>
|
|
822
|
-
|
|
823
|
-
<div class="method-description">
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
</div>
|
|
828
|
-
</div>
|
|
829
|
-
|
|
830
|
-
<div id="cost-ccount-attribute-method" class="method-detail">
|
|
831
|
-
<a name="costAccount"></a>
|
|
832
|
-
|
|
833
|
-
<a name="costAccount="></a>
|
|
834
|
-
|
|
835
|
-
<div class="method-heading attribute-method-heading">
|
|
836
|
-
<span class="method-name">costAccount</span><span
|
|
837
|
-
class="attribute-access-type">[RW]</span>
|
|
838
|
-
</div>
|
|
839
|
-
|
|
840
|
-
<div class="method-description">
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
</div>
|
|
845
|
-
</div>
|
|
846
|
-
|
|
847
|
-
<div id="revenue-ccount-attribute-method" class="method-detail">
|
|
848
|
-
<a name="revenueAccount"></a>
|
|
849
|
-
|
|
850
|
-
<a name="revenueAccount="></a>
|
|
851
|
-
|
|
852
|
-
<div class="method-heading attribute-method-heading">
|
|
853
|
-
<span class="method-name">revenueAccount</span><span
|
|
854
|
-
class="attribute-access-type">[RW]</span>
|
|
855
|
-
</div>
|
|
856
|
-
|
|
857
|
-
<div class="method-description">
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
</div>
|
|
862
|
-
</div>
|
|
863
|
-
|
|
864
|
-
<div id="load-nit-attribute-method" class="method-detail">
|
|
865
|
-
<a name="loadUnit"></a>
|
|
866
|
-
|
|
867
|
-
<a name="loadUnit="></a>
|
|
868
|
-
|
|
869
|
-
<div class="method-heading attribute-method-heading">
|
|
870
|
-
<span class="method-name">loadUnit</span><span
|
|
871
|
-
class="attribute-access-type">[RW]</span>
|
|
872
|
-
</div>
|
|
873
|
-
|
|
874
|
-
<div class="method-description">
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
</div>
|
|
879
|
-
</div>
|
|
880
|
-
|
|
881
|
-
<div id="self-ontained-attribute-method" class="method-detail">
|
|
882
|
-
<a name="selfContained"></a>
|
|
883
|
-
|
|
884
|
-
<a name="selfContained="></a>
|
|
885
|
-
|
|
886
|
-
<div class="method-heading attribute-method-heading">
|
|
887
|
-
<span class="method-name">selfContained</span><span
|
|
888
|
-
class="attribute-access-type">[RW]</span>
|
|
889
|
-
</div>
|
|
890
|
-
|
|
891
|
-
<div class="method-description">
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
</div>
|
|
896
|
-
</div>
|
|
897
|
-
|
|
898
634
|
<div id="ok-attribute-method" class="method-detail">
|
|
899
635
|
<a name="ok"></a>
|
|
900
636
|
|
|
@@ -1089,25 +825,21 @@ need to be sufficent to uniquely identify an attribute.
|
|
|
1089
825
|
<div class="method-source-code"
|
|
1090
826
|
id="new-source">
|
|
1091
827
|
<pre>
|
|
1092
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
61: <span class="ruby-keyword kw">end</span>
|
|
1108
|
-
62:
|
|
1109
|
-
63: <span class="ruby-identifier">reset</span>
|
|
1110
|
-
64: <span class="ruby-keyword kw">end</span></pre>
|
|
828
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 50</span>
|
|
829
|
+
50: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">parameters</span> = { })
|
|
830
|
+
51: <span class="ruby-ivar">@selfContained</span> = <span class="ruby-keyword kw">false</span>
|
|
831
|
+
52: <span class="ruby-identifier">@@ps</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
|
|
832
|
+
53: <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">p</span>, <span class="ruby-identifier">parameters</span>[<span class="ruby-identifier">p</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">parameters</span>[<span class="ruby-identifier">p</span>] <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>)
|
|
833
|
+
54: <span class="ruby-keyword kw">end</span>
|
|
834
|
+
55:
|
|
835
|
+
56: <span class="ruby-comment cmt"># instance_variable_set does not call writer functions. So we need to</span>
|
|
836
|
+
57: <span class="ruby-comment cmt"># handle @start, @end, @startIdx and @endIdx separately.</span>
|
|
837
|
+
58: <span class="ruby-node">%( end endIdx start startIdx )</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
|
|
838
|
+
59: <span class="ruby-identifier">send</span>(<span class="ruby-identifier">p</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'='</span>, <span class="ruby-identifier">parameters</span>[<span class="ruby-identifier">p</span>]) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parameters</span>[<span class="ruby-identifier">p</span>]
|
|
839
|
+
60: <span class="ruby-keyword kw">end</span>
|
|
840
|
+
61:
|
|
841
|
+
62: <span class="ruby-identifier">reset</span>
|
|
842
|
+
63: <span class="ruby-keyword kw">end</span></pre>
|
|
1111
843
|
</div>
|
|
1112
844
|
|
|
1113
845
|
</div>
|
|
@@ -1124,6 +856,59 @@ need to be sufficent to uniquely identify an attribute.
|
|
|
1124
856
|
<h3 class="section-header">Public Instance Methods</h3>
|
|
1125
857
|
|
|
1126
858
|
|
|
859
|
+
<div id="assign-ist-method" class="method-detail ">
|
|
860
|
+
<a name="method-i-assignList"></a>
|
|
861
|
+
|
|
862
|
+
<div class="method-heading">
|
|
863
|
+
|
|
864
|
+
<span class="method-name">assignList</span><span
|
|
865
|
+
class="method-args">(listItems)</span>
|
|
866
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
867
|
+
|
|
868
|
+
</div>
|
|
869
|
+
|
|
870
|
+
<div class="method-description">
|
|
871
|
+
|
|
872
|
+
<p>
|
|
873
|
+
Converts the <a href="../String.html">String</a> items in
|
|
874
|
+
<em>listItems</em> into a <a
|
|
875
|
+
href="RichTextIntermediate.html">RichTextIntermediate</a> objects and
|
|
876
|
+
assigns it as result of the query.
|
|
877
|
+
</p>
|
|
878
|
+
|
|
879
|
+
|
|
880
|
+
|
|
881
|
+
<div class="method-source-code"
|
|
882
|
+
id="assign-ist-source">
|
|
883
|
+
<pre>
|
|
884
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 174</span>
|
|
885
|
+
174: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">assignList</span>(<span class="ruby-identifier">listItems</span>)
|
|
886
|
+
175: <span class="ruby-identifier">list</span> = <span class="ruby-value str">''</span>
|
|
887
|
+
176: <span class="ruby-identifier">listItems</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span>
|
|
888
|
+
177: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@listType</span>
|
|
889
|
+
178: <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-value">:comma</span>
|
|
890
|
+
179: <span class="ruby-identifier">list</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">list</span>.<span class="ruby-identifier">empty?</span>
|
|
891
|
+
180: <span class="ruby-identifier">list</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">item</span>
|
|
892
|
+
181: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:bullets</span>
|
|
893
|
+
182: <span class="ruby-identifier">list</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"* #{item}\n"</span>
|
|
894
|
+
183: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:numbered</span>
|
|
895
|
+
184: <span class="ruby-identifier">list</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"# #{item}\n"</span>
|
|
896
|
+
185: <span class="ruby-keyword kw">end</span>
|
|
897
|
+
186: <span class="ruby-keyword kw">end</span>
|
|
898
|
+
187: <span class="ruby-ivar">@sortable</span> = <span class="ruby-ivar">@string</span> = <span class="ruby-identifier">list</span>
|
|
899
|
+
188: <span class="ruby-identifier">rText</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">list</span>)
|
|
900
|
+
189: <span class="ruby-ivar">@rti</span> = <span class="ruby-identifier">rText</span>.<span class="ruby-identifier">generateIntermediateFormat</span>
|
|
901
|
+
190: <span class="ruby-keyword kw">end</span></pre>
|
|
902
|
+
</div>
|
|
903
|
+
|
|
904
|
+
</div>
|
|
905
|
+
|
|
906
|
+
|
|
907
|
+
|
|
908
|
+
|
|
909
|
+
</div>
|
|
910
|
+
|
|
911
|
+
|
|
1127
912
|
<div id="end-method" class="method-detail ">
|
|
1128
913
|
<a name="method-i-end"></a>
|
|
1129
914
|
|
|
@@ -1144,15 +929,15 @@ need to be sufficent to uniquely identify an attribute.
|
|
|
1144
929
|
<div class="method-source-code"
|
|
1145
930
|
id="end-source">
|
|
1146
931
|
<pre>
|
|
1147
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
932
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 86</span>
|
|
933
|
+
86: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">end</span>=(<span class="ruby-identifier">date</span>)
|
|
934
|
+
87: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">date</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
|
|
935
|
+
88: <span class="ruby-ivar">@end</span> = <span class="ruby-identifier">date</span>
|
|
936
|
+
89: <span class="ruby-ivar">@endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>, <span class="ruby-keyword kw">true</span>)
|
|
937
|
+
90: <span class="ruby-keyword kw">else</span>
|
|
938
|
+
91: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unsupported type #{date.class}"</span>
|
|
939
|
+
92: <span class="ruby-keyword kw">end</span>
|
|
940
|
+
93: <span class="ruby-keyword kw">end</span></pre>
|
|
1156
941
|
</div>
|
|
1157
942
|
|
|
1158
943
|
</div>
|
|
@@ -1183,15 +968,15 @@ need to be sufficent to uniquely identify an attribute.
|
|
|
1183
968
|
<div class="method-source-code"
|
|
1184
969
|
id="end-dx--source">
|
|
1185
970
|
<pre>
|
|
1186
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
971
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 95</span>
|
|
972
|
+
95: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endIdx=</span>(<span class="ruby-identifier">idx</span>)
|
|
973
|
+
96: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>)
|
|
974
|
+
97: <span class="ruby-ivar">@endIdx</span> = <span class="ruby-identifier">idx</span>
|
|
975
|
+
98: <span class="ruby-ivar">@end</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>)
|
|
976
|
+
99: <span class="ruby-keyword kw">else</span>
|
|
977
|
+
100: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unsupported type #{idx.class}"</span>
|
|
978
|
+
101: <span class="ruby-keyword kw">end</span>
|
|
979
|
+
102: <span class="ruby-keyword kw">end</span></pre>
|
|
1195
980
|
</div>
|
|
1196
981
|
|
|
1197
982
|
</div>
|
|
@@ -1230,69 +1015,69 @@ href="Query.html#method-i-to_sort">to_sort</a>() and result().
|
|
|
1230
1015
|
<div class="method-source-code"
|
|
1231
1016
|
id="process-source">
|
|
1232
1017
|
<pre>
|
|
1233
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1018
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 109</span>
|
|
1019
|
+
109: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process</span>
|
|
1020
|
+
110: <span class="ruby-identifier">reset</span>
|
|
1021
|
+
111: <span class="ruby-keyword kw">begin</span>
|
|
1022
|
+
112: <span class="ruby-comment cmt"># Resolve property reference from property ID.</span>
|
|
1023
|
+
113: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertyId</span>.<span class="ruby-identifier">nil?</span>
|
|
1024
|
+
114: <span class="ruby-ivar">@property</span> = <span class="ruby-identifier">resolvePropertyId</span>(<span class="ruby-ivar">@propertyType</span>, <span class="ruby-ivar">@propertyId</span>)
|
|
1025
|
+
115: <span class="ruby-keyword kw">end</span>
|
|
1026
|
+
116:
|
|
1027
|
+
117: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@property</span>
|
|
1028
|
+
118: <span class="ruby-comment cmt"># No property was provided. We are looking for a project attribute.</span>
|
|
1029
|
+
119: <span class="ruby-identifier">supportedAttrs</span> = <span class="ruby-node">%( copyright currency end name now projectid
|
|
1030
|
+
120: start version )</span>
|
|
1031
|
+
121: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">supportedAttrs</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@attributeId</span>)
|
|
1032
|
+
122: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
|
|
1033
|
+
123: <span class="ruby-node">"Unsupported project attribute '#{@attributeId}'"</span>
|
|
1034
|
+
124: <span class="ruby-keyword kw">end</span>
|
|
1035
|
+
125: <span class="ruby-identifier">attr</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-ivar">@attributeId</span>]
|
|
1036
|
+
126: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
|
|
1037
|
+
127: <span class="ruby-ivar">@sortable</span> = <span class="ruby-ivar">@numerical</span> = <span class="ruby-identifier">attr</span>
|
|
1038
|
+
128: <span class="ruby-ivar">@string</span> = <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-ivar">@timeFormat</span>)
|
|
1039
|
+
129: <span class="ruby-keyword kw">else</span>
|
|
1040
|
+
130: <span class="ruby-ivar">@sortable</span> = <span class="ruby-ivar">@string</span> = <span class="ruby-identifier">attr</span>
|
|
1041
|
+
131: <span class="ruby-keyword kw">end</span>
|
|
1042
|
+
132: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">true</span>
|
|
1043
|
+
133: <span class="ruby-keyword kw">end</span>
|
|
1044
|
+
134:
|
|
1045
|
+
135: <span class="ruby-comment cmt"># Same for the scope property.</span>
|
|
1046
|
+
136: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@scopeProperty</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@scopePropertyId</span>.<span class="ruby-identifier">nil?</span>
|
|
1047
|
+
137: <span class="ruby-ivar">@scopeProperty</span> = <span class="ruby-identifier">resolvePropertyId</span>(<span class="ruby-ivar">@scopePropertyType</span>,
|
|
1048
|
+
138: <span class="ruby-ivar">@scopePropertyId</span>)
|
|
1049
|
+
139: <span class="ruby-keyword kw">end</span>
|
|
1050
|
+
140: <span class="ruby-comment cmt"># Make sure the have a reference to the project.</span>
|
|
1051
|
+
141: <span class="ruby-ivar">@project</span> = <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">project</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@project</span>
|
|
1052
|
+
142:
|
|
1053
|
+
143: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenario</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@scenarioIdx</span>
|
|
1054
|
+
144: <span class="ruby-ivar">@scenarioIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-ivar">@scenario</span>)
|
|
1055
|
+
145: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@scenarioIdx</span>
|
|
1056
|
+
146: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Query cannot resolve scenario '#{@scenario}'"</span>
|
|
1057
|
+
147: <span class="ruby-keyword kw">end</span>
|
|
1058
|
+
148: <span class="ruby-keyword kw">end</span>
|
|
1059
|
+
149:
|
|
1060
|
+
150: <span class="ruby-identifier">queryMethodName</span> = <span class="ruby-value str">'query_'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@attributeId</span>
|
|
1061
|
+
151: <span class="ruby-comment cmt"># First we check for non-scenario-specific query functions.</span>
|
|
1062
|
+
152: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">queryMethodName</span>)
|
|
1063
|
+
153: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">queryMethodName</span>, <span class="ruby-keyword kw">self</span>)
|
|
1064
|
+
154: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@scenarioIdx</span> <span class="ruby-operator">&&</span>
|
|
1065
|
+
155: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">data</span>[<span class="ruby-ivar">@scenarioIdx</span>].<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">queryMethodName</span>)
|
|
1066
|
+
156: <span class="ruby-comment cmt"># Then we check for scenario-specific ones via the @data member.</span>
|
|
1067
|
+
157: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">queryMethodName</span>, <span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-keyword kw">self</span>)
|
|
1068
|
+
158: <span class="ruby-keyword kw">else</span>
|
|
1069
|
+
159: <span class="ruby-comment cmt"># The result is a BaseAttribute</span>
|
|
1070
|
+
160: <span class="ruby-keyword kw">unless</span> (<span class="ruby-ivar">@attr</span> = <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">getAttribute</span>(<span class="ruby-ivar">@attributeId</span>, <span class="ruby-ivar">@scenarioIdx</span>))
|
|
1071
|
+
161: <span class="ruby-ivar">@errorMessage</span> = <span class="ruby-node">"Unknown attribute #{@attributeId} queried"</span>
|
|
1072
|
+
162: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">false</span>
|
|
1073
|
+
163: <span class="ruby-keyword kw">end</span>
|
|
1074
|
+
164: <span class="ruby-keyword kw">end</span>
|
|
1075
|
+
165: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span>
|
|
1076
|
+
166: <span class="ruby-ivar">@errorMessage</span> = <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">message</span>
|
|
1077
|
+
167: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">false</span>
|
|
1078
|
+
168: <span class="ruby-keyword kw">end</span>
|
|
1079
|
+
169: <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">true</span>
|
|
1080
|
+
170: <span class="ruby-keyword kw">end</span></pre>
|
|
1296
1081
|
</div>
|
|
1297
1082
|
|
|
1298
1083
|
</div>
|
|
@@ -1325,22 +1110,22 @@ Return the result in the orginal form. It may be nil.
|
|
|
1325
1110
|
<div class="method-source-code"
|
|
1326
1111
|
id="result-source">
|
|
1327
1112
|
<pre>
|
|
1328
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1113
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 215</span>
|
|
1114
|
+
215: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">result</span>
|
|
1115
|
+
216: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attr</span>
|
|
1116
|
+
217: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">value</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">ReferenceAttribute</span>)
|
|
1117
|
+
218: <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">value</span>[<span class="ruby-value">0</span>]
|
|
1118
|
+
219: <span class="ruby-keyword kw">else</span>
|
|
1119
|
+
220: <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">value</span>
|
|
1120
|
+
221: <span class="ruby-keyword kw">end</span>
|
|
1121
|
+
222: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@rti</span>
|
|
1122
|
+
223: <span class="ruby-ivar">@rti</span>
|
|
1123
|
+
224: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@numerical</span>
|
|
1124
|
+
225: <span class="ruby-ivar">@numerical</span>
|
|
1125
|
+
226: <span class="ruby-keyword kw">else</span>
|
|
1126
|
+
227: <span class="ruby-ivar">@string</span>
|
|
1127
|
+
228: <span class="ruby-keyword kw">end</span>
|
|
1128
|
+
229: <span class="ruby-keyword kw">end</span></pre>
|
|
1344
1129
|
</div>
|
|
1345
1130
|
|
|
1346
1131
|
</div>
|
|
@@ -1375,10 +1160,10 @@ optional unit as a <a href="../String.html">String</a>.
|
|
|
1375
1160
|
<div class="method-source-code"
|
|
1376
1161
|
id="scale-uration-source">
|
|
1377
1162
|
<pre>
|
|
1378
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1163
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 234</span>
|
|
1164
|
+
234: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scaleDuration</span>(<span class="ruby-identifier">value</span>)
|
|
1165
|
+
235: <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> ])
|
|
1166
|
+
236: <span class="ruby-keyword kw">end</span></pre>
|
|
1382
1167
|
</div>
|
|
1383
1168
|
|
|
1384
1169
|
</div>
|
|
@@ -1413,15 +1198,15 @@ value with optional unit as a <a href="../String.html">String</a>.
|
|
|
1413
1198
|
<div class="method-source-code"
|
|
1414
1199
|
id="scale-oad-source">
|
|
1415
1200
|
<pre>
|
|
1416
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1201
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 241</span>
|
|
1202
|
+
241: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scaleLoad</span>(<span class="ruby-identifier">value</span>)
|
|
1203
|
+
242: <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>,
|
|
1204
|
+
243: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dailyWorkingHours</span>,
|
|
1205
|
+
244: <span class="ruby-value">1.0</span>,
|
|
1206
|
+
245: <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">weeklyWorkingDays</span>,
|
|
1207
|
+
246: <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">monthlyWorkingDays</span>,
|
|
1208
|
+
247: <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">yearlyWorkingDays</span> ])
|
|
1209
|
+
248: <span class="ruby-keyword kw">end</span></pre>
|
|
1425
1210
|
</div>
|
|
1426
1211
|
|
|
1427
1212
|
</div>
|
|
@@ -1456,15 +1241,15 @@ index. We store both, but we need to assure they are always in sync.
|
|
|
1456
1241
|
<div class="method-source-code"
|
|
1457
1242
|
id="start--source">
|
|
1458
1243
|
<pre>
|
|
1459
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1244
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 68</span>
|
|
1245
|
+
68: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start=</span>(<span class="ruby-identifier">date</span>)
|
|
1246
|
+
69: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">date</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
|
|
1247
|
+
70: <span class="ruby-ivar">@start</span> = <span class="ruby-identifier">date</span>
|
|
1248
|
+
71: <span class="ruby-ivar">@startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>, <span class="ruby-keyword kw">true</span>)
|
|
1249
|
+
72: <span class="ruby-keyword kw">else</span>
|
|
1250
|
+
73: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unsupported type #{date.class}"</span>
|
|
1251
|
+
74: <span class="ruby-keyword kw">end</span>
|
|
1252
|
+
75: <span class="ruby-keyword kw">end</span></pre>
|
|
1468
1253
|
</div>
|
|
1469
1254
|
|
|
1470
1255
|
</div>
|
|
@@ -1495,15 +1280,15 @@ index. We store both, but we need to assure they are always in sync.
|
|
|
1495
1280
|
<div class="method-source-code"
|
|
1496
1281
|
id="start-dx--source">
|
|
1497
1282
|
<pre>
|
|
1498
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1283
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 77</span>
|
|
1284
|
+
77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startIdx=</span>(<span class="ruby-identifier">idx</span>)
|
|
1285
|
+
78: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>)
|
|
1286
|
+
79: <span class="ruby-ivar">@startIdx</span> = <span class="ruby-identifier">idx</span>
|
|
1287
|
+
80: <span class="ruby-ivar">@start</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>)
|
|
1288
|
+
81: <span class="ruby-keyword kw">else</span>
|
|
1289
|
+
82: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unsupported type #{idx.class}"</span>
|
|
1290
|
+
83: <span class="ruby-keyword kw">end</span>
|
|
1291
|
+
84: <span class="ruby-keyword kw">end</span></pre>
|
|
1507
1292
|
</div>
|
|
1508
1293
|
|
|
1509
1294
|
</div>
|
|
@@ -1537,10 +1322,10 @@ The result may be nil.
|
|
|
1537
1322
|
<div class="method-source-code"
|
|
1538
1323
|
id="to-num-source">
|
|
1539
1324
|
<pre>
|
|
1540
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1325
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 199</span>
|
|
1326
|
+
199: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_num</span>
|
|
1327
|
+
200: <span class="ruby-ivar">@attr</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">to_num</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@numerical</span>
|
|
1328
|
+
201: <span class="ruby-keyword kw">end</span></pre>
|
|
1544
1329
|
</div>
|
|
1545
1330
|
|
|
1546
1331
|
</div>
|
|
@@ -1575,10 +1360,10 @@ result may be nil.
|
|
|
1575
1360
|
<div class="method-source-code"
|
|
1576
1361
|
id="to-rti-source">
|
|
1577
1362
|
<pre>
|
|
1578
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1363
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 210</span>
|
|
1364
|
+
210: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_rti</span>
|
|
1365
|
+
211: <span class="ruby-ivar">@attr</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">to_rti</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-operator">:</span> <span class="ruby-ivar">@rti</span>
|
|
1366
|
+
212: <span class="ruby-keyword kw">end</span></pre>
|
|
1582
1367
|
</div>
|
|
1583
1368
|
|
|
1584
1369
|
</div>
|
|
@@ -1612,10 +1397,10 @@ href="../String.html">String</a>. The result may be nil.
|
|
|
1612
1397
|
<div class="method-source-code"
|
|
1613
1398
|
id="to-s-source">
|
|
1614
1399
|
<pre>
|
|
1615
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1400
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 193</span>
|
|
1401
|
+
193: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
|
1402
|
+
194: <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>))
|
|
1403
|
+
195: <span class="ruby-keyword kw">end</span></pre>
|
|
1619
1404
|
</div>
|
|
1620
1405
|
|
|
1621
1406
|
</div>
|
|
@@ -1649,10 +1434,10 @@ result may be nil.
|
|
|
1649
1434
|
<div class="method-source-code"
|
|
1650
1435
|
id="to-sort-source">
|
|
1651
1436
|
<pre>
|
|
1652
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1437
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 205</span>
|
|
1438
|
+
205: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_sort</span>
|
|
1439
|
+
206: <span class="ruby-ivar">@attr</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">to_sort</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@sortable</span>
|
|
1440
|
+
207: <span class="ruby-keyword kw">end</span></pre>
|
|
1656
1441
|
</div>
|
|
1657
1442
|
|
|
1658
1443
|
</div>
|
|
@@ -1692,12 +1477,12 @@ result data.
|
|
|
1692
1477
|
<div class="method-source-code"
|
|
1693
1478
|
id="reset-source">
|
|
1694
1479
|
<pre>
|
|
1695
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1480
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 342</span>
|
|
1481
|
+
342: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
|
|
1482
|
+
343: <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>
|
|
1483
|
+
344: <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">true</span>
|
|
1484
|
+
345: <span class="ruby-ivar">@errorMessage</span> = <span class="ruby-keyword kw">nil</span>
|
|
1485
|
+
346: <span class="ruby-keyword kw">end</span></pre>
|
|
1701
1486
|
</div>
|
|
1702
1487
|
|
|
1703
1488
|
</div>
|
|
@@ -1728,22 +1513,22 @@ result data.
|
|
|
1728
1513
|
<div class="method-source-code"
|
|
1729
1514
|
id="resolve-roperty-d-source">
|
|
1730
1515
|
<pre>
|
|
1731
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1516
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 252</span>
|
|
1517
|
+
252: <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>)
|
|
1518
|
+
253: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@project</span>
|
|
1519
|
+
254: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Need Project reference to process the query"</span>
|
|
1520
|
+
255: <span class="ruby-keyword kw">end</span>
|
|
1521
|
+
256: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">pType</span>
|
|
1522
|
+
257: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:Account</span>
|
|
1523
|
+
258: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">account</span>(<span class="ruby-identifier">pId</span>)
|
|
1524
|
+
259: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:Task</span>
|
|
1525
|
+
260: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">task</span>(<span class="ruby-identifier">pId</span>)
|
|
1526
|
+
261: <span class="ruby-keyword kw">when</span><span class="ruby-value">:Resource</span>
|
|
1527
|
+
262: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">resource</span>(<span class="ruby-identifier">pId</span>)
|
|
1528
|
+
263: <span class="ruby-keyword kw">else</span>
|
|
1529
|
+
264: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown property type #{pType}"</span>
|
|
1530
|
+
265: <span class="ruby-keyword kw">end</span>
|
|
1531
|
+
266: <span class="ruby-keyword kw">end</span></pre>
|
|
1747
1532
|
</div>
|
|
1748
1533
|
|
|
1749
1534
|
</div>
|
|
@@ -1780,71 +1565,71 @@ the different units.
|
|
|
1780
1565
|
<div class="method-source-code"
|
|
1781
1566
|
id="scale-alue-source">
|
|
1782
1567
|
<pre>
|
|
1783
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1568
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 273</span>
|
|
1569
|
+
273: <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>)
|
|
1570
|
+
274: <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>
|
|
1571
|
+
275: <span class="ruby-comment cmt"># We try all possible units and store the resulting strings here.</span>
|
|
1572
|
+
276: <span class="ruby-identifier">options</span> = []
|
|
1573
|
+
277: <span class="ruby-comment cmt"># For each option we also save the delta between the String value and</span>
|
|
1574
|
+
278: <span class="ruby-comment cmt"># the original value.</span>
|
|
1575
|
+
279: <span class="ruby-identifier">delta</span> = []
|
|
1576
|
+
280: <span class="ruby-comment cmt"># For each of the units we can define a maximum value that the value</span>
|
|
1577
|
+
281: <span class="ruby-comment cmt"># should not exceed. nil means no limit.</span>
|
|
1578
|
+
282: <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> ]
|
|
1579
|
+
283:
|
|
1580
|
+
284: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
|
|
1581
|
+
285: <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>
|
|
1582
|
+
286: <span class="ruby-identifier">scaledValue</span> = <span class="ruby-identifier">value</span> * <span class="ruby-identifier">factor</span>
|
|
1583
|
+
287: <span class="ruby-identifier">str</span> = <span class="ruby-ivar">@numberFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">scaledValue</span>)
|
|
1584
|
+
288: <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>
|
|
1585
|
+
289: <span class="ruby-comment cmt"># We ignore results that are 0 or exceed the maximum. To ensure that</span>
|
|
1586
|
+
290: <span class="ruby-comment cmt"># we have at least one result the unscaled value is always taken.</span>
|
|
1587
|
+
291: <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>
|
|
1588
|
+
292: (<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>])
|
|
1589
|
+
293: <span class="ruby-identifier">options</span> <span class="ruby-operator"><<</span> <span class="ruby-keyword kw">nil</span>
|
|
1590
|
+
294: <span class="ruby-keyword kw">else</span>
|
|
1591
|
+
295: <span class="ruby-identifier">options</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">str</span>
|
|
1592
|
+
296: <span class="ruby-keyword kw">end</span>
|
|
1593
|
+
297: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
1594
|
+
298: <span class="ruby-keyword kw">end</span>
|
|
1595
|
+
299:
|
|
1596
|
+
300: <span class="ruby-comment cmt"># Find the value that is the closest to the original value. This will be</span>
|
|
1597
|
+
301: <span class="ruby-comment cmt"># the default if all values have the same length.</span>
|
|
1598
|
+
302: <span class="ruby-identifier">shortest</span> = <span class="ruby-value">2</span>
|
|
1599
|
+
303: <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>
|
|
1600
|
+
304: <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>
|
|
1601
|
+
305: <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>]
|
|
1602
|
+
306: <span class="ruby-keyword kw">end</span>
|
|
1603
|
+
307:
|
|
1604
|
+
308: <span class="ruby-comment cmt"># Find the shortest option.</span>
|
|
1605
|
+
309: <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>
|
|
1606
|
+
310: <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>
|
|
1607
|
+
311: <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>
|
|
1608
|
+
312: <span class="ruby-keyword kw">end</span>
|
|
1609
|
+
313:
|
|
1610
|
+
314: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">shortest</span>]
|
|
1611
|
+
315: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@loadUnit</span> <span class="ruby-operator">==</span> <span class="ruby-value">:longauto</span>
|
|
1612
|
+
316: <span class="ruby-comment cmt"># For the long units we handle singular and plural properly. For</span>
|
|
1613
|
+
317: <span class="ruby-comment cmt"># English we just need to append an 's', but this code will work for</span>
|
|
1614
|
+
318: <span class="ruby-comment cmt"># other languages as well.</span>
|
|
1615
|
+
319: <span class="ruby-identifier">units</span> = []
|
|
1616
|
+
320: <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>
|
|
1617
|
+
321: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minute hour day week month year )</span>
|
|
1618
|
+
322: <span class="ruby-keyword kw">else</span>
|
|
1619
|
+
323: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minutes hours days weeks months years )</span>
|
|
1620
|
+
324: <span class="ruby-keyword kw">end</span>
|
|
1621
|
+
325: <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>]
|
|
1622
|
+
326: <span class="ruby-keyword kw">else</span>
|
|
1623
|
+
327: <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>]
|
|
1624
|
+
328: <span class="ruby-keyword kw">end</span>
|
|
1625
|
+
329: <span class="ruby-keyword kw">else</span>
|
|
1626
|
+
330: <span class="ruby-comment cmt"># For fixed units we just need to do the conversion. No unit is</span>
|
|
1627
|
+
331: <span class="ruby-comment cmt"># included.</span>
|
|
1628
|
+
332: <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> ]
|
|
1629
|
+
333: <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>)])
|
|
1630
|
+
334: <span class="ruby-keyword kw">end</span>
|
|
1631
|
+
335: <span class="ruby-identifier">str</span>
|
|
1632
|
+
336: <span class="ruby-keyword kw">end</span></pre>
|
|
1848
1633
|
</div>
|
|
1849
1634
|
|
|
1850
1635
|
</div>
|