taskjuggler 0.0.6 → 0.0.7
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 +160 -0
- data/benchmarks/UTF-8-Strings.rb +58 -0
- data/data/css/tjreport.css +7 -2
- data/doc/AppConfig.html +10 -4
- data/doc/Arguments.html +10 -4
- data/doc/CHANGELOG.html +171 -5
- data/doc/COPYING.html +10 -4
- data/doc/Object.html +11 -107
- data/doc/README.html +10 -4
- data/doc/RuntimeConfig.html +10 -4
- data/doc/String.html +16 -11
- data/doc/StringIO.html +10 -4
- data/doc/TaskJuggler.html +506 -435
- data/doc/TaskJuggler/Account.html +10 -4
- data/doc/TaskJuggler/AccountAttribute.html +10 -4
- data/doc/TaskJuggler/AccountScenario.html +10 -4
- data/doc/TaskJuggler/Allocation.html +69 -60
- data/doc/TaskJuggler/AllocationAttribute.html +10 -4
- data/doc/TaskJuggler/AttributeBase.html +10 -4
- data/doc/TaskJuggler/AttributeDefinition.html +10 -4
- data/doc/TaskJuggler/BatchProcessor.html +202 -192
- data/doc/TaskJuggler/Booking.html +10 -4
- data/doc/TaskJuggler/BookingListAttribute.html +10 -4
- data/doc/TaskJuggler/BooleanAttribute.html +10 -4
- data/doc/TaskJuggler/CSVFile.html +10 -4
- data/doc/TaskJuggler/CellSettingPattern.html +10 -4
- data/doc/TaskJuggler/CellSettingPatternList.html +10 -4
- data/doc/TaskJuggler/Charge.html +10 -4
- data/doc/TaskJuggler/ChargeListAttribute.html +10 -4
- data/doc/TaskJuggler/ChargeSet.html +10 -4
- data/doc/TaskJuggler/ChargeSetListAttribute.html +10 -4
- data/doc/TaskJuggler/ColumnListAttribute.html +10 -4
- data/doc/TaskJuggler/ColumnTable.html +10 -4
- data/doc/TaskJuggler/Daemon.html +71 -52
- data/doc/TaskJuggler/DateAttribute.html +10 -4
- data/doc/TaskJuggler/DefinitionListAttribute.html +10 -4
- data/doc/TaskJuggler/DependencyListAttribute.html +10 -4
- data/doc/TaskJuggler/DurationAttribute.html +10 -4
- data/doc/TaskJuggler/{MacroParser.html → FileList.html} +58 -173
- data/doc/TaskJuggler/{RichTextException.html → FileRecord.html} +59 -80
- data/doc/TaskJuggler/FixnumAttribute.html +10 -4
- data/doc/TaskJuggler/FlagListAttribute.html +10 -4
- data/doc/TaskJuggler/FloatAttribute.html +10 -4
- data/doc/TaskJuggler/FormatListAttribute.html +10 -4
- data/doc/TaskJuggler/GanttChart.html +10 -4
- data/doc/TaskJuggler/GanttContainer.html +14 -8
- data/doc/TaskJuggler/GanttHeader.html +10 -4
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +10 -4
- data/doc/TaskJuggler/GanttLine.html +29 -24
- data/doc/TaskJuggler/GanttLoadStack.html +10 -4
- data/doc/TaskJuggler/GanttMilestone.html +10 -4
- data/doc/TaskJuggler/GanttRouter.html +10 -4
- data/doc/TaskJuggler/GanttTaskBar.html +20 -10
- data/doc/TaskJuggler/HTMLDocument.html +10 -4
- data/doc/TaskJuggler/HTMLGraphics.html +10 -4
- data/doc/TaskJuggler/Interval.html +10 -4
- data/doc/TaskJuggler/IntervalListAttribute.html +10 -4
- data/doc/TaskJuggler/JobInfo.html +10 -4
- data/doc/TaskJuggler/Journal.html +227 -160
- data/doc/TaskJuggler/JournalEntry.html +10 -4
- data/doc/TaskJuggler/JournalEntryList.html +158 -72
- data/doc/TaskJuggler/KeywordArray.html +21 -9
- data/doc/TaskJuggler/KeywordDocumentation.html +612 -475
- data/doc/TaskJuggler/Limits.html +13 -8
- data/doc/TaskJuggler/Limits/Limit.html +10 -4
- data/doc/TaskJuggler/LimitsAttribute.html +10 -4
- data/doc/TaskJuggler/ListAttributeBase.html +10 -4
- data/doc/TaskJuggler/Log.html +10 -4
- data/doc/TaskJuggler/LogFile.html +10 -4
- data/doc/TaskJuggler/LogicalAttribute.html +10 -4
- data/doc/TaskJuggler/LogicalExpression.html +11 -5
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +10 -4
- data/doc/TaskJuggler/LogicalFlag.html +10 -4
- data/doc/TaskJuggler/LogicalFunction.html +132 -124
- data/doc/TaskJuggler/LogicalOperation.html +10 -4
- data/doc/TaskJuggler/Macro.html +16 -10
- data/doc/TaskJuggler/MacroTable.html +44 -38
- data/doc/TaskJuggler/ManagerResponsibilities.html +10 -4
- data/doc/TaskJuggler/ManagerStatusRecord.html +10 -4
- data/doc/TaskJuggler/Message.html +92 -68
- data/doc/TaskJuggler/MessageHandler.html +349 -28
- data/doc/TaskJuggler/Navigator.html +10 -4
- data/doc/TaskJuggler/NavigatorElement.html +10 -4
- data/doc/TaskJuggler/NikuProject.html +10 -4
- data/doc/TaskJuggler/NikuReport.html +10 -4
- data/doc/TaskJuggler/NikuResource.html +10 -4
- data/doc/TaskJuggler/NodeListAttribute.html +10 -4
- data/doc/TaskJuggler/OnShiftCache.html +10 -4
- data/doc/TaskJuggler/ProcessIntercom.html +118 -111
- data/doc/TaskJuggler/ProcessIntercomIface.html +75 -22
- data/doc/TaskJuggler/Project.html +886 -913
- data/doc/TaskJuggler/ProjectBroker.html +442 -331
- data/doc/TaskJuggler/ProjectBrokerIface.html +95 -38
- data/doc/TaskJuggler/ProjectFileParser.html +320 -317
- data/doc/TaskJuggler/ProjectFileScanner.html +336 -339
- data/doc/TaskJuggler/ProjectRecord.html +119 -56
- data/doc/TaskJuggler/ProjectServer.html +282 -237
- data/doc/TaskJuggler/ProjectServerIface.html +45 -39
- data/doc/TaskJuggler/PropertyAttribute.html +10 -4
- data/doc/TaskJuggler/PropertyList.html +177 -173
- data/doc/TaskJuggler/PropertySet.html +11 -5
- data/doc/TaskJuggler/PropertyTreeNode.html +194 -191
- data/doc/TaskJuggler/Query.html +280 -256
- data/doc/TaskJuggler/RTFHandlers.html +10 -4
- data/doc/TaskJuggler/RTFNavigator.html +33 -26
- data/doc/TaskJuggler/RTFQuery.html +135 -169
- data/doc/TaskJuggler/RTFReport.html +63 -56
- data/doc/TaskJuggler/RTFReportLink.html +58 -47
- data/doc/TaskJuggler/RTFWithQuerySupport.html +666 -0
- data/doc/TaskJuggler/RealFormat.html +10 -4
- data/doc/TaskJuggler/RealFormatAttribute.html +10 -4
- data/doc/TaskJuggler/ReferenceAttribute.html +10 -4
- data/doc/TaskJuggler/Report.html +333 -290
- data/doc/TaskJuggler/ReportBase.html +182 -174
- data/doc/TaskJuggler/ReportContext.html +10 -4
- data/doc/TaskJuggler/ReportServer.html +144 -126
- data/doc/TaskJuggler/ReportServerIface.html +50 -44
- data/doc/TaskJuggler/ReportServerRecord.html +38 -32
- data/doc/TaskJuggler/ReportServlet.html +144 -137
- data/doc/TaskJuggler/ReportTable.html +10 -4
- data/doc/TaskJuggler/ReportTableCell.html +169 -164
- data/doc/TaskJuggler/ReportTableColumn.html +10 -4
- data/doc/TaskJuggler/ReportTableLegend.html +10 -4
- data/doc/TaskJuggler/ReportTableLine.html +10 -4
- data/doc/TaskJuggler/Resource.html +121 -115
- data/doc/TaskJuggler/ResourceListAttribute.html +10 -4
- data/doc/TaskJuggler/ResourceListRE.html +10 -4
- data/doc/TaskJuggler/ResourceScenario.html +13 -7
- data/doc/TaskJuggler/RichText.html +61 -37
- data/doc/TaskJuggler/RichTextAttribute.html +10 -4
- data/doc/TaskJuggler/RichTextDocument.html +91 -81
- data/doc/TaskJuggler/RichTextElement.html +378 -317
- data/doc/TaskJuggler/RichTextFunctionExample.html +10 -4
- data/doc/TaskJuggler/RichTextFunctionHandler.html +16 -11
- data/doc/TaskJuggler/RichTextImage.html +10 -4
- data/doc/TaskJuggler/RichTextIntermediate.html +138 -70
- data/doc/TaskJuggler/RichTextParser.html +48 -40
- data/doc/TaskJuggler/RichTextScanner.html +328 -906
- data/doc/TaskJuggler/RichTextSnip.html +59 -57
- data/doc/TaskJuggler/RichTextSyntaxRules.html +458 -369
- data/doc/TaskJuggler/Scenario.html +10 -4
- data/doc/TaskJuggler/ScenarioData.html +33 -30
- data/doc/TaskJuggler/ScenarioListAttribute.html +10 -4
- data/doc/TaskJuggler/Scoreboard.html +10 -4
- data/doc/TaskJuggler/SheetHandlerBase.html +315 -191
- data/doc/TaskJuggler/SheetReceiver.html +334 -313
- data/doc/TaskJuggler/SheetSender.html +10 -4
- data/doc/TaskJuggler/Shift.html +10 -4
- data/doc/TaskJuggler/ShiftAssignment.html +10 -4
- data/doc/TaskJuggler/ShiftAssignments.html +10 -4
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +10 -4
- data/doc/TaskJuggler/ShiftScenario.html +10 -4
- data/doc/TaskJuggler/SimpleQueryExpander.html +697 -0
- data/doc/TaskJuggler/SortListAttribute.html +10 -4
- data/doc/TaskJuggler/SourceFileInfo.html +10 -4
- data/doc/TaskJuggler/StatusSheetReceiver.html +10 -4
- data/doc/TaskJuggler/StatusSheetReport.html +10 -4
- data/doc/TaskJuggler/StatusSheetSender.html +10 -4
- data/doc/TaskJuggler/StringAttribute.html +10 -4
- data/doc/TaskJuggler/SymbolAttribute.html +10 -4
- data/doc/TaskJuggler/SyntaxReference.html +260 -230
- data/doc/TaskJuggler/TOCEntry.html +99 -42
- data/doc/TaskJuggler/TSResourceRecord.html +10 -4
- data/doc/TaskJuggler/TSTaskRecord.html +10 -4
- data/doc/TaskJuggler/TableColumnDefinition.html +10 -4
- data/doc/TaskJuggler/TableOfContents.html +54 -12
- data/doc/TaskJuggler/TableReport.html +877 -872
- data/doc/TaskJuggler/Task.html +117 -68
- data/doc/TaskJuggler/TaskDependency.html +10 -4
- data/doc/TaskJuggler/TaskListAttribute.html +10 -4
- data/doc/TaskJuggler/TaskListRE.html +10 -4
- data/doc/TaskJuggler/TaskScenario.html +1681 -1563
- data/doc/TaskJuggler/TextFormatter.html +10 -4
- data/doc/TaskJuggler/TextParser.html +567 -534
- data/doc/TaskJuggler/TextParser/Pattern.html +128 -118
- data/doc/TaskJuggler/TextParser/Rule.html +26 -15
- data/doc/TaskJuggler/TextParser/StackElement.html +10 -4
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +22 -16
- data/doc/TaskJuggler/TextParser/TokenDoc.html +10 -4
- data/doc/TaskJuggler/TextReport.html +15 -6
- data/doc/TaskJuggler/TextScanner.html +319 -287
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +16 -10
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +23 -17
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +17 -11
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
- data/doc/TaskJuggler/TimeSheet.html +138 -175
- data/doc/TaskJuggler/TimeSheetReceiver.html +10 -4
- data/doc/TaskJuggler/TimeSheetRecord.html +65 -58
- data/doc/TaskJuggler/TimeSheetReport.html +47 -42
- data/doc/TaskJuggler/TimeSheetSender.html +10 -4
- data/doc/TaskJuggler/TimeSheetSummary.html +91 -83
- data/doc/TaskJuggler/TimeSheets.html +22 -16
- data/doc/TaskJuggler/Tj3AppBase.html +10 -4
- data/doc/TaskJuggler/Tj3Client.html +399 -365
- data/doc/TaskJuggler/Tj3Daemon.html +107 -94
- data/doc/TaskJuggler/Tj3SheetAppBase.html +10 -4
- data/doc/TaskJuggler/Tj3SsReceiver.html +10 -4
- data/doc/TaskJuggler/Tj3SsSender.html +10 -4
- data/doc/TaskJuggler/Tj3TsReceiver.html +10 -4
- data/doc/TaskJuggler/Tj3TsSender.html +10 -4
- data/doc/TaskJuggler/Tj3TsSummary.html +10 -4
- data/doc/TaskJuggler/TjException.html +10 -4
- data/doc/TaskJuggler/TjTime.html +145 -140
- data/doc/TaskJuggler/TjpExample.html +10 -4
- data/doc/TaskJuggler/TjpExportRE.html +122 -118
- data/doc/TaskJuggler/TjpSyntaxRules.html +4065 -4052
- data/doc/TaskJuggler/URLParameter.html +10 -4
- data/doc/TaskJuggler/UserManual.html +162 -155
- data/doc/TaskJuggler/VimSyntax.html +1028 -0
- data/doc/TaskJuggler/WebServer.html +45 -27
- data/doc/TaskJuggler/WorkingHours.html +10 -4
- data/doc/TaskJuggler/WorkingHoursAttribute.html +10 -4
- data/doc/TaskJuggler/XMLBlob.html +10 -4
- data/doc/TaskJuggler/XMLComment.html +10 -4
- data/doc/TaskJuggler/XMLDocument.html +10 -4
- data/doc/TaskJuggler/XMLElement.html +10 -4
- data/doc/TaskJuggler/XMLNamedText.html +10 -4
- data/doc/TaskJuggler/XMLText.html +10 -4
- data/doc/index.html +735 -677
- 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 +1 -1
- data/doc/lib/AttributeBase_rb.html +1 -1
- data/doc/lib/AttributeDefinition_rb.html +1 -1
- data/doc/lib/Attributes_rb.html +1 -1
- 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/{Message_rb.html → FileList_rb.html} +3 -5
- data/doc/lib/HTMLDocument_rb.html +1 -1
- data/doc/lib/Interval_rb.html +1 -1
- data/doc/lib/Journal_rb.html +1 -1
- data/doc/lib/KeywordArray_rb.html +1 -1
- data/doc/lib/KeywordDocumentation_rb.html +1 -1
- data/doc/lib/Limits_rb.html +1 -1
- data/doc/lib/LogFile_rb.html +1 -1
- data/doc/lib/Log_rb.html +1 -1
- data/doc/lib/LogicalExpression_rb.html +1 -1
- data/doc/lib/LogicalFunction_rb.html +1 -1
- data/doc/lib/LogicalOperation_rb.html +1 -1
- data/doc/lib/MacroTable_rb.html +1 -3
- data/doc/lib/MessageHandler_rb.html +1 -1
- data/doc/lib/ProjectFileParser_rb.html +1 -1
- data/doc/lib/ProjectFileScanner_rb.html +1 -1
- data/doc/lib/Project_rb.html +4 -2
- data/doc/lib/PropertyList_rb.html +1 -1
- data/doc/lib/PropertySet_rb.html +1 -1
- data/doc/lib/PropertyTreeNode_rb.html +1 -1
- data/doc/lib/Query_rb.html +1 -1
- data/doc/lib/RTFHandlers_rb.html +1 -1
- data/doc/lib/RTFNavigator_rb.html +1 -1
- data/doc/lib/RTFQuery_rb.html +2 -2
- data/doc/lib/RTFReportLink_rb.html +4 -2
- data/doc/lib/RTFReport_rb.html +1 -1
- data/doc/lib/{MacroParser_rb.html → RTFWithQuerySupport_rb.html} +4 -6
- data/doc/lib/RealFormat_rb.html +1 -1
- data/doc/lib/ResourceScenario_rb.html +1 -1
- data/doc/lib/Resource_rb.html +1 -1
- data/doc/lib/RichTextDocument_rb.html +1 -1
- data/doc/lib/RichTextElement_rb.html +1 -1
- data/doc/lib/RichTextFunctionExample_rb.html +1 -1
- data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
- data/doc/lib/RichTextParser_rb.html +1 -1
- data/doc/lib/RichTextScanner_rb.html +3 -1
- data/doc/lib/RichTextSnip_rb.html +1 -1
- data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
- data/doc/lib/RichText_rb.html +3 -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 +5 -1
- data/doc/lib/SheetReceiver_rb.html +3 -1
- data/doc/lib/SheetSender_rb.html +1 -1
- data/doc/lib/ShiftAssignments_rb.html +1 -1
- data/doc/lib/ShiftScenario_rb.html +1 -1
- data/doc/lib/Shift_rb.html +1 -1
- data/doc/lib/SimpleQueryExpander_rb.html +67 -0
- data/doc/lib/SourceFileInfo_rb.html +1 -1
- data/doc/lib/StatusSheetReceiver_rb.html +1 -1
- data/doc/lib/StatusSheetSender_rb.html +1 -1
- data/doc/lib/SyntaxReference_rb.html +1 -1
- data/doc/lib/TOCEntry_rb.html +1 -1
- data/doc/lib/TableColumnDefinition_rb.html +1 -1
- data/doc/lib/TableOfContents_rb.html +1 -1
- data/doc/lib/TaskDependency_rb.html +1 -1
- data/doc/lib/TaskJuggler_rb.html +1 -1
- data/doc/lib/TaskScenario_rb.html +1 -1
- data/doc/lib/Task_rb.html +1 -1
- data/doc/lib/TextFormatter_rb.html +1 -1
- data/doc/lib/TextParser/Pattern_rb.html +1 -1
- data/doc/lib/TextParser/Rule_rb.html +1 -1
- data/doc/lib/TextParser/StackElement_rb.html +1 -1
- data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
- data/doc/lib/TextParser_rb.html +3 -1
- data/doc/lib/TextScanner_rb.html +1 -3
- data/doc/lib/TimeSheetReceiver_rb.html +1 -1
- data/doc/lib/TimeSheetSender_rb.html +1 -1
- data/doc/lib/TimeSheetSummary_rb.html +1 -1
- data/doc/lib/TimeSheets_rb.html +1 -1
- data/doc/lib/Tj3AppBase_rb.html +1 -1
- data/doc/lib/Tj3Config_rb.html +1 -1
- data/doc/lib/Tj3SheetAppBase_rb.html +1 -1
- data/doc/lib/TjException_rb.html +1 -1
- data/doc/lib/TjTime_rb.html +1 -1
- data/doc/lib/TjpExample_rb.html +1 -1
- data/doc/lib/TjpSyntaxRules_rb.html +1 -1
- data/doc/lib/URLParameter_rb.html +1 -1
- data/doc/lib/UTF8String_rb.html +1 -1
- data/doc/lib/UserManual_rb.html +1 -1
- data/doc/lib/{ruby-signal-bug_rb.html → VimSyntax_rb.html} +17 -4
- data/doc/lib/WorkingHours_rb.html +1 -1
- data/doc/lib/XMLDocument_rb.html +1 -1
- data/doc/lib/XMLElement_rb.html +1 -1
- data/doc/lib/daemon/Daemon_rb.html +1 -1
- data/doc/lib/daemon/ProcessIntercom_rb.html +1 -1
- data/doc/lib/daemon/ProjectBroker_rb.html +1 -1
- data/doc/lib/daemon/ProjectServer_rb.html +1 -1
- data/doc/lib/daemon/ReportServer_rb.html +1 -3
- data/doc/lib/daemon/WebServer_rb.html +1 -1
- data/doc/lib/deep_copy_rb.html +1 -1
- data/doc/lib/reports/CSVFile_rb.html +1 -1
- data/doc/lib/reports/ColumnTable_rb.html +1 -1
- data/doc/lib/reports/GanttChart_rb.html +1 -1
- 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 +1 -1
- data/doc/lib/reports/NikuReport_rb.html +1 -1
- data/doc/lib/reports/ReportBase_rb.html +1 -1
- data/doc/lib/reports/ReportContext_rb.html +1 -1
- data/doc/lib/reports/ReportTableCell_rb.html +1 -1
- 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 +1 -1
- data/doc/lib/reports/Report_rb.html +1 -1
- data/doc/lib/reports/ResourceListRE_rb.html +1 -1
- data/doc/lib/reports/StatusSheetReport_rb.html +1 -1
- data/doc/lib/reports/TableReport_rb.html +1 -1
- data/doc/lib/reports/TaskListRE_rb.html +1 -1
- data/doc/lib/reports/TextReport_rb.html +1 -1
- data/doc/lib/reports/TimeSheetReport_rb.html +1 -1
- data/doc/lib/reports/TjpExportRE_rb.html +1 -1
- data/doc/lib/taskjuggler3_rb.html +1 -1
- data/doc/lib/tj3client_rb.html +1 -1
- data/doc/lib/tj3d_rb.html +1 -1
- data/doc/lib/tj3man_rb.html +1 -1
- data/doc/lib/tj3ss_receiver_rb.html +1 -1
- data/doc/lib/tj3ss_sender_rb.html +1 -1
- data/doc/lib/tj3ts_receiver_rb.html +1 -1
- data/doc/lib/tj3ts_sender_rb.html +1 -1
- data/doc/lib/tj3ts_summary_rb.html +1 -1
- data/lib/Allocation.rb +8 -5
- data/lib/BatchProcessor.rb +7 -3
- data/lib/FileList.rb +58 -0
- data/lib/Journal.rb +73 -33
- data/lib/KeywordArray.rb +4 -0
- data/lib/KeywordDocumentation.rb +45 -11
- data/lib/Limits.rb +0 -1
- data/lib/LogicalExpression.rb +1 -1
- data/lib/LogicalFunction.rb +14 -12
- data/lib/MacroTable.rb +3 -4
- data/lib/MessageHandler.rb +136 -7
- data/lib/Project.rb +72 -86
- data/lib/ProjectFileParser.rb +30 -33
- data/lib/ProjectFileScanner.rb +7 -16
- data/lib/PropertyList.rb +25 -27
- data/lib/PropertySet.rb +1 -1
- data/lib/PropertyTreeNode.rb +9 -12
- data/lib/Query.rb +5 -4
- data/lib/RTFNavigator.rb +2 -1
- data/lib/RTFQuery.rb +4 -11
- data/lib/RTFReport.rb +2 -1
- data/lib/RTFReportLink.rb +10 -4
- data/lib/RTFWithQuerySupport.rb +45 -0
- data/lib/Resource.rb +20 -20
- data/lib/ResourceScenario.rb +3 -3
- data/lib/RichText.rb +15 -7
- data/lib/RichTextDocument.rb +8 -4
- data/lib/RichTextElement.rb +35 -12
- data/lib/RichTextFunctionHandler.rb +11 -12
- data/lib/RichTextParser.rb +5 -3
- data/lib/RichTextScanner.rb +144 -565
- data/lib/RichTextSnip.rb +3 -7
- data/lib/RichTextSyntaxRules.rb +51 -32
- data/lib/ScenarioData.rb +16 -25
- data/lib/SheetHandlerBase.rb +59 -2
- data/lib/SheetReceiver.rb +36 -18
- data/lib/SimpleQueryExpander.rb +58 -0
- data/lib/SyntaxReference.rb +9 -5
- data/lib/TOCEntry.rb +2 -0
- data/lib/TableOfContents.rb +4 -0
- data/lib/Task.rb +23 -12
- data/lib/TaskJuggler.rb +72 -33
- data/lib/TaskScenario.rb +131 -53
- data/lib/TextParser.rb +43 -30
- data/lib/TextParser/Pattern.rb +17 -13
- data/lib/TextParser/Rule.rb +5 -0
- data/lib/TextScanner.rb +46 -25
- data/lib/TimeSheetSummary.rb +9 -7
- data/lib/TimeSheets.rb +14 -23
- data/lib/Tj3Config.rb +1 -1
- data/lib/TjTime.rb +1 -2
- data/lib/TjpSyntaxRules.rb +128 -104
- data/lib/UTF8String.rb +0 -1
- data/lib/UserManual.rb +5 -4
- data/lib/VimSyntax.rb +223 -0
- data/lib/daemon/Daemon.rb +9 -0
- data/lib/daemon/ProcessIntercom.rb +19 -4
- data/lib/daemon/ProjectBroker.rb +149 -68
- data/lib/daemon/ProjectServer.rb +119 -79
- data/lib/daemon/ReportServer.rb +42 -31
- data/lib/daemon/WebServer.rb +21 -2
- data/lib/deep_copy.rb +1 -1
- data/lib/reports/GanttContainer.rb +2 -2
- data/lib/reports/GanttLine.rb +2 -3
- data/lib/reports/GanttTaskBar.rb +7 -3
- data/lib/reports/Report.rb +62 -57
- data/lib/reports/ReportBase.rb +6 -4
- data/lib/reports/ReportTableCell.rb +13 -14
- data/lib/reports/TableReport.rb +2 -1
- data/lib/reports/TextReport.rb +3 -0
- data/lib/reports/TimeSheetReport.rb +2 -3
- data/lib/reports/TjpExportRE.rb +0 -2
- data/lib/tj3client.rb +31 -3
- data/lib/tj3d.rb +8 -1
- data/manual/Day_To_Day_Juggling +2 -95
- data/manual/How_To_Contribute +2 -1
- data/manual/Rich_Text_Attributes +37 -3
- data/manual/Software +203 -0
- data/test/MessageChecker.rb +4 -4
- data/test/TestSuite/HTML-Reports/Alerts.html +172 -0
- data/test/TestSuite/HTML-Reports/CellText.html +758 -0
- data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
- data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
- data/test/TestSuite/HTML-Reports/LogicalFunctions.html +245 -0
- data/test/TestSuite/HTML-Reports/Query.html +31 -0
- data/test/TestSuite/HTML-Reports/css/tjmanual.css +14 -0
- data/test/TestSuite/HTML-Reports/css/tjreport.css +233 -21
- data/test/TestSuite/HTML-Reports/depArrows.html +842 -0
- data/test/TestSuite/HTML-Reports/scripts/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +20 -20
- data/test/TestSuite/ReportGenerator/Correct/Alerts.tjp +48 -0
- data/test/TestSuite/ReportGenerator/Correct/Macros.tjp +57 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/Alerts-1.csv +386 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/Macros-1.csv +6 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/css/tjmanual.css +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/css/tjreport.css +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/details.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-green.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-red.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-yellow.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/resource.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/resourcegroup.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/task.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/taskgroup.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-down.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-flat.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-up.png +0 -0
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +26 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/scripts/wz_tooltip.js +0 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.html +3210 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +19 -0
- data/test/TestSuite/Scheduler/Correct/Container.html +22 -22
- data/test/TestSuite/Scheduler/Correct/Limits.html +4964 -0
- data/test/TestSuite/Scheduler/Correct/Shift.html +1707 -417
- data/test/TestSuite/Scheduler/Correct/Shift2.html +9 -9
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +6 -2
- data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +66 -0
- data/test/TestSuite/Scheduler/Errors/css/tjreport.css +407 -0
- data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_1.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_10.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_11.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_14.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_2.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_4.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_5.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_9.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/Scheduler/Errors/task_pred_before.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/task_pred_before_gd.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/task_pred_before_gl.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/task_succ_after.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/task_succ_after_gd.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/task_succ_after_gl.tjp +12 -0
- data/test/TestSuite/StatusSheets/dev2.tji +22 -0
- data/test/TestSuite/StatusSheets/resrep.tji +7 -0
- data/test/TestSuite/StatusSheets/run +6 -4
- data/test/TestSuite/StatusSheets/tj3d.log +312 -0
- data/test/TestSuite/Syntax/Correct/Managers.html +263 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +1 -2
- data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +1 -1
- data/test/TestSuite/TimeSheets/acceptable_intervals +1 -0
- data/test/TestSuite/TimeSheets/resrep.tji +7 -0
- data/test/TestSuite/TimeSheets/run +6 -5
- data/test/TestSuite/TimeSheets/statussheets.log +1 -0
- data/test/TestSuite/TimeSheets/ts.tji +351 -0
- data/test/TestSuite/TimeSheets/tsdef.tji +2 -0
- data/test/test_PropertySet.rb +2 -2
- data/test/test_RichText.rb +178 -387
- data/test/test_SimpleQueryExpander.rb +55 -0
- data/test/test_deep_copy.rb +2 -2
- metadata +854 -834
- data/lib/MacroParser.rb +0 -77
- data/lib/Message.rb +0 -56
- data/lib/ruby-signal-bug.rb +0 -43
- data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
- data/test/TestSuite/HTML-Reports/reference.html +0 -51
- data/test/TestSuite/ReportGenerator/Correct/Journal.html +0 -63
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +0 -3
- data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +0 -2
- data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
- data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
- data/test/TestSuite/Scheduler/Correct/Booking2.html +0 -603
- data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +0 -108
- data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
- data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
- data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +0 -32
data/doc/TaskJuggler/Query.html
CHANGED
|
@@ -193,6 +193,10 @@
|
|
|
193
193
|
|
|
194
194
|
<li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
|
|
195
195
|
|
|
196
|
+
<li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
|
|
197
|
+
|
|
198
|
+
<li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
|
|
199
|
+
|
|
196
200
|
<li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
|
|
197
201
|
|
|
198
202
|
<li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
|
|
@@ -265,8 +269,6 @@
|
|
|
265
269
|
|
|
266
270
|
<li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
|
|
267
271
|
|
|
268
|
-
<li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
|
|
269
|
-
|
|
270
272
|
<li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
|
|
271
273
|
|
|
272
274
|
<li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
|
|
@@ -331,6 +333,8 @@
|
|
|
331
333
|
|
|
332
334
|
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
333
335
|
|
|
336
|
+
<li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
|
|
337
|
+
|
|
334
338
|
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
335
339
|
|
|
336
340
|
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
@@ -377,8 +381,6 @@
|
|
|
377
381
|
|
|
378
382
|
<li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
|
|
379
383
|
|
|
380
|
-
<li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
|
|
381
|
-
|
|
382
384
|
<li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
|
|
383
385
|
|
|
384
386
|
<li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
|
|
@@ -419,6 +421,8 @@
|
|
|
419
421
|
|
|
420
422
|
<li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
|
|
421
423
|
|
|
424
|
+
<li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
|
|
425
|
+
|
|
422
426
|
<li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
|
|
423
427
|
|
|
424
428
|
<li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
|
|
@@ -529,6 +533,8 @@
|
|
|
529
533
|
|
|
530
534
|
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
531
535
|
|
|
536
|
+
<li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
|
|
537
|
+
|
|
532
538
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
533
539
|
|
|
534
540
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
@@ -859,6 +865,23 @@ contains an error message.
|
|
|
859
865
|
|
|
860
866
|
|
|
861
867
|
|
|
868
|
+
</div>
|
|
869
|
+
</div>
|
|
870
|
+
|
|
871
|
+
<div id="self-ontained-attribute-method" class="method-detail">
|
|
872
|
+
<a name="selfContained"></a>
|
|
873
|
+
|
|
874
|
+
<a name="selfContained="></a>
|
|
875
|
+
|
|
876
|
+
<div class="method-heading attribute-method-heading">
|
|
877
|
+
<span class="method-name">selfContained</span><span
|
|
878
|
+
class="attribute-access-type">[RW]</span>
|
|
879
|
+
</div>
|
|
880
|
+
|
|
881
|
+
<div class="method-description">
|
|
882
|
+
|
|
883
|
+
|
|
884
|
+
|
|
862
885
|
</div>
|
|
863
886
|
</div>
|
|
864
887
|
|
|
@@ -1061,19 +1084,20 @@ need to be sufficent to uniquely identify an attribute.
|
|
|
1061
1084
|
48: <span class="ruby-identifier">ps</span> = <span class="ruby-node">%( project propertyType propertyId property scopePropertyId
|
|
1062
1085
|
49: scopeProperty attributeId scenario scenarioIdx
|
|
1063
1086
|
50: loadUnit numberFormat currencyFormat timeFormat
|
|
1064
|
-
51: costAccount revenueAccount)</span>
|
|
1065
|
-
52: <span class="ruby-
|
|
1066
|
-
53:
|
|
1067
|
-
54:
|
|
1068
|
-
55:
|
|
1069
|
-
56:
|
|
1070
|
-
57: <span class="ruby-comment cmt">#
|
|
1071
|
-
58: <span class="ruby-
|
|
1072
|
-
59:
|
|
1073
|
-
60:
|
|
1074
|
-
61:
|
|
1075
|
-
62:
|
|
1076
|
-
63:
|
|
1087
|
+
51: costAccount revenueAccount selfContained)</span>
|
|
1088
|
+
52: <span class="ruby-ivar">@selfContained</span> = <span class="ruby-keyword kw">false</span>
|
|
1089
|
+
53: <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>
|
|
1090
|
+
54: <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>)
|
|
1091
|
+
55: <span class="ruby-keyword kw">end</span>
|
|
1092
|
+
56:
|
|
1093
|
+
57: <span class="ruby-comment cmt"># instance_variable_set does not call writer functions. So we need to</span>
|
|
1094
|
+
58: <span class="ruby-comment cmt"># handle @start, @end, @startIdx and @endIdx separately.</span>
|
|
1095
|
+
59: <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>
|
|
1096
|
+
60: <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>]
|
|
1097
|
+
61: <span class="ruby-keyword kw">end</span>
|
|
1098
|
+
62:
|
|
1099
|
+
63: <span class="ruby-identifier">reset</span>
|
|
1100
|
+
64: <span class="ruby-keyword kw">end</span></pre>
|
|
1077
1101
|
</div>
|
|
1078
1102
|
|
|
1079
1103
|
</div>
|
|
@@ -1110,17 +1134,17 @@ need to be sufficent to uniquely identify an attribute.
|
|
|
1110
1134
|
<div class="method-source-code"
|
|
1111
1135
|
id="end-source">
|
|
1112
1136
|
<pre>
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1137
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 91</span>
|
|
1138
|
+
91: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">end</span>=(<span class="ruby-identifier">date</span>)
|
|
1139
|
+
92: <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>)
|
|
1140
|
+
93: <span class="ruby-ivar">@end</span> = <span class="ruby-identifier">date</span>
|
|
1141
|
+
94: <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>)
|
|
1142
|
+
95: <span class="ruby-comment cmt">#elsif date.is_a?(Fixnum)</span>
|
|
1143
|
+
96: <span class="ruby-comment cmt"># self.endIdx=(date)</span>
|
|
1144
|
+
97: <span class="ruby-keyword kw">else</span>
|
|
1145
|
+
98: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unsupported type #{date.class}"</span>
|
|
1146
|
+
99: <span class="ruby-keyword kw">end</span>
|
|
1147
|
+
100: <span class="ruby-keyword kw">end</span></pre>
|
|
1124
1148
|
</div>
|
|
1125
1149
|
|
|
1126
1150
|
</div>
|
|
@@ -1151,17 +1175,17 @@ need to be sufficent to uniquely identify an attribute.
|
|
|
1151
1175
|
<div class="method-source-code"
|
|
1152
1176
|
id="end-dx--source">
|
|
1153
1177
|
<pre>
|
|
1154
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1178
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 102</span>
|
|
1179
|
+
102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endIdx=</span>(<span class="ruby-identifier">idx</span>)
|
|
1180
|
+
103: <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>)
|
|
1181
|
+
104: <span class="ruby-ivar">@endIdx</span> = <span class="ruby-identifier">idx</span>
|
|
1182
|
+
105: <span class="ruby-ivar">@end</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>)
|
|
1183
|
+
106: <span class="ruby-comment cmt">#elsif idx.is_a?(TjTime)</span>
|
|
1184
|
+
107: <span class="ruby-comment cmt"># self.end=(idx)</span>
|
|
1185
|
+
108: <span class="ruby-keyword kw">else</span>
|
|
1186
|
+
109: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unsupported type #{idx.class}"</span>
|
|
1187
|
+
110: <span class="ruby-keyword kw">end</span>
|
|
1188
|
+
111: <span class="ruby-keyword kw">end</span></pre>
|
|
1165
1189
|
</div>
|
|
1166
1190
|
|
|
1167
1191
|
</div>
|
|
@@ -1200,69 +1224,69 @@ href="Query.html#method-i-to_sort">to_sort</a>() and result().
|
|
|
1200
1224
|
<div class="method-source-code"
|
|
1201
1225
|
id="process-source">
|
|
1202
1226
|
<pre>
|
|
1203
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
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
|
-
|
|
1227
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 118</span>
|
|
1228
|
+
118: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process</span>
|
|
1229
|
+
119: <span class="ruby-identifier">reset</span>
|
|
1230
|
+
120: <span class="ruby-keyword kw">begin</span>
|
|
1231
|
+
121: <span class="ruby-comment cmt"># Resolve property reference from property ID.</span>
|
|
1232
|
+
122: <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>
|
|
1233
|
+
123: <span class="ruby-ivar">@property</span> = <span class="ruby-identifier">resolvePropertyId</span>(<span class="ruby-ivar">@propertyType</span>, <span class="ruby-ivar">@propertyId</span>)
|
|
1234
|
+
124: <span class="ruby-keyword kw">end</span>
|
|
1235
|
+
125:
|
|
1236
|
+
126: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@property</span>
|
|
1237
|
+
127: <span class="ruby-comment cmt"># No property was provided. We are looking for a project attribute.</span>
|
|
1238
|
+
128: <span class="ruby-identifier">supportedAttrs</span> = <span class="ruby-node">%( copyright currency end name now projectid
|
|
1239
|
+
129: start version )</span>
|
|
1240
|
+
130: <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>)
|
|
1241
|
+
131: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
|
|
1242
|
+
132: <span class="ruby-node">"Unsupported project attribute '#{@attributeId}'"</span>
|
|
1243
|
+
133: <span class="ruby-keyword kw">end</span>
|
|
1244
|
+
134: <span class="ruby-identifier">attr</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-ivar">@attributeId</span>]
|
|
1245
|
+
135: <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>)
|
|
1246
|
+
136: <span class="ruby-ivar">@sortable</span> = <span class="ruby-ivar">@numerical</span> = <span class="ruby-identifier">attr</span>
|
|
1247
|
+
137: <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>)
|
|
1248
|
+
138: <span class="ruby-keyword kw">else</span>
|
|
1249
|
+
139: <span class="ruby-ivar">@sortable</span> = <span class="ruby-ivar">@string</span> = <span class="ruby-identifier">attr</span>
|
|
1250
|
+
140: <span class="ruby-keyword kw">end</span>
|
|
1251
|
+
141: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">true</span>
|
|
1252
|
+
142: <span class="ruby-keyword kw">end</span>
|
|
1253
|
+
143:
|
|
1254
|
+
144: <span class="ruby-comment cmt"># Same for the scope property.</span>
|
|
1255
|
+
145: <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>
|
|
1256
|
+
146: <span class="ruby-ivar">@scopeProperty</span> = <span class="ruby-identifier">resolvePropertyId</span>(<span class="ruby-ivar">@scopePropertyType</span>,
|
|
1257
|
+
147: <span class="ruby-ivar">@scopePropertyId</span>)
|
|
1258
|
+
148: <span class="ruby-keyword kw">end</span>
|
|
1259
|
+
149: <span class="ruby-comment cmt"># Make sure the have a reference to the project.</span>
|
|
1260
|
+
150: <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>
|
|
1261
|
+
151:
|
|
1262
|
+
152: <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>
|
|
1263
|
+
153: <span class="ruby-ivar">@scenarioIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-ivar">@scenario</span>)
|
|
1264
|
+
154: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@scenarioIdx</span>
|
|
1265
|
+
155: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Query cannot resolve scenario '#{@scenario}'"</span>
|
|
1266
|
+
156: <span class="ruby-keyword kw">end</span>
|
|
1267
|
+
157: <span class="ruby-keyword kw">end</span>
|
|
1268
|
+
158:
|
|
1269
|
+
159: <span class="ruby-identifier">queryMethodName</span> = <span class="ruby-value str">'query_'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@attributeId</span>
|
|
1270
|
+
160: <span class="ruby-comment cmt"># First we check for non-scenario-specific query functions.</span>
|
|
1271
|
+
161: <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>)
|
|
1272
|
+
162: <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>)
|
|
1273
|
+
163: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@scenarioIdx</span> <span class="ruby-operator">&&</span>
|
|
1274
|
+
164: <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>)
|
|
1275
|
+
165: <span class="ruby-comment cmt"># Then we check for scenario-specific ones via the @data member.</span>
|
|
1276
|
+
166: <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>)
|
|
1277
|
+
167: <span class="ruby-keyword kw">else</span>
|
|
1278
|
+
168: <span class="ruby-comment cmt"># The result is a BaseAttribute</span>
|
|
1279
|
+
169: <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>))
|
|
1280
|
+
170: <span class="ruby-ivar">@errorMessage</span> = <span class="ruby-node">"Unknown attribute #{@attributeId} queried"</span>
|
|
1281
|
+
171: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">false</span>
|
|
1282
|
+
172: <span class="ruby-keyword kw">end</span>
|
|
1283
|
+
173: <span class="ruby-keyword kw">end</span>
|
|
1284
|
+
174: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span>
|
|
1285
|
+
175: <span class="ruby-ivar">@errorMessage</span> = <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">message</span>
|
|
1286
|
+
176: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">false</span>
|
|
1287
|
+
177: <span class="ruby-keyword kw">end</span>
|
|
1288
|
+
178: <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">true</span>
|
|
1289
|
+
179: <span class="ruby-keyword kw">end</span></pre>
|
|
1266
1290
|
</div>
|
|
1267
1291
|
|
|
1268
1292
|
</div>
|
|
@@ -1295,22 +1319,22 @@ Return the result in the orginal form. It may be nil.
|
|
|
1295
1319
|
<div class="method-source-code"
|
|
1296
1320
|
id="result-source">
|
|
1297
1321
|
<pre>
|
|
1298
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1322
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 204</span>
|
|
1323
|
+
204: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">result</span>
|
|
1324
|
+
205: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attr</span>
|
|
1325
|
+
206: <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>)
|
|
1326
|
+
207: <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">value</span>[<span class="ruby-value">0</span>]
|
|
1327
|
+
208: <span class="ruby-keyword kw">else</span>
|
|
1328
|
+
209: <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">value</span>
|
|
1329
|
+
210: <span class="ruby-keyword kw">end</span>
|
|
1330
|
+
211: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@rti</span>
|
|
1331
|
+
212: <span class="ruby-ivar">@rti</span>
|
|
1332
|
+
213: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@numerical</span>
|
|
1333
|
+
214: <span class="ruby-ivar">@numerical</span>
|
|
1334
|
+
215: <span class="ruby-keyword kw">else</span>
|
|
1335
|
+
216: <span class="ruby-ivar">@string</span>
|
|
1336
|
+
217: <span class="ruby-keyword kw">end</span>
|
|
1337
|
+
218: <span class="ruby-keyword kw">end</span></pre>
|
|
1314
1338
|
</div>
|
|
1315
1339
|
|
|
1316
1340
|
</div>
|
|
@@ -1345,10 +1369,10 @@ optional unit as a <a href="../String.html">String</a>.
|
|
|
1345
1369
|
<div class="method-source-code"
|
|
1346
1370
|
id="scale-uration-source">
|
|
1347
1371
|
<pre>
|
|
1348
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1372
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 223</span>
|
|
1373
|
+
223: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scaleDuration</span>(<span class="ruby-identifier">value</span>)
|
|
1374
|
+
224: <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> ])
|
|
1375
|
+
225: <span class="ruby-keyword kw">end</span></pre>
|
|
1352
1376
|
</div>
|
|
1353
1377
|
|
|
1354
1378
|
</div>
|
|
@@ -1383,15 +1407,15 @@ value with optional unit as a <a href="../String.html">String</a>.
|
|
|
1383
1407
|
<div class="method-source-code"
|
|
1384
1408
|
id="scale-oad-source">
|
|
1385
1409
|
<pre>
|
|
1386
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1410
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 230</span>
|
|
1411
|
+
230: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scaleLoad</span>(<span class="ruby-identifier">value</span>)
|
|
1412
|
+
231: <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>,
|
|
1413
|
+
232: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dailyWorkingHours</span>,
|
|
1414
|
+
233: <span class="ruby-value">1.0</span>,
|
|
1415
|
+
234: <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">weeklyWorkingDays</span>,
|
|
1416
|
+
235: <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">monthlyWorkingDays</span>,
|
|
1417
|
+
236: <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">yearlyWorkingDays</span> ])
|
|
1418
|
+
237: <span class="ruby-keyword kw">end</span></pre>
|
|
1395
1419
|
</div>
|
|
1396
1420
|
|
|
1397
1421
|
</div>
|
|
@@ -1426,17 +1450,17 @@ index. We store both, but we need to assure they are always in sync.
|
|
|
1426
1450
|
<div class="method-source-code"
|
|
1427
1451
|
id="start--source">
|
|
1428
1452
|
<pre>
|
|
1429
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1453
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 69</span>
|
|
1454
|
+
69: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start=</span>(<span class="ruby-identifier">date</span>)
|
|
1455
|
+
70: <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>)
|
|
1456
|
+
71: <span class="ruby-ivar">@start</span> = <span class="ruby-identifier">date</span>
|
|
1457
|
+
72: <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>)
|
|
1458
|
+
73: <span class="ruby-comment cmt">#elsif date.is_a?(Fixnum)</span>
|
|
1459
|
+
74: <span class="ruby-comment cmt"># self.startIdx=(date)</span>
|
|
1460
|
+
75: <span class="ruby-keyword kw">else</span>
|
|
1461
|
+
76: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unsupported type #{date.class}"</span>
|
|
1462
|
+
77: <span class="ruby-keyword kw">end</span>
|
|
1463
|
+
78: <span class="ruby-keyword kw">end</span></pre>
|
|
1440
1464
|
</div>
|
|
1441
1465
|
|
|
1442
1466
|
</div>
|
|
@@ -1467,17 +1491,17 @@ index. We store both, but we need to assure they are always in sync.
|
|
|
1467
1491
|
<div class="method-source-code"
|
|
1468
1492
|
id="start-dx--source">
|
|
1469
1493
|
<pre>
|
|
1470
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1494
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 80</span>
|
|
1495
|
+
80: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startIdx=</span>(<span class="ruby-identifier">idx</span>)
|
|
1496
|
+
81: <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>)
|
|
1497
|
+
82: <span class="ruby-ivar">@startIdx</span> = <span class="ruby-identifier">idx</span>
|
|
1498
|
+
83: <span class="ruby-ivar">@start</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>)
|
|
1499
|
+
84: <span class="ruby-comment cmt">#elsif idx.is_a?(TjTime)</span>
|
|
1500
|
+
85: <span class="ruby-comment cmt"># self.start=(idx)</span>
|
|
1501
|
+
86: <span class="ruby-keyword kw">else</span>
|
|
1502
|
+
87: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unsupported type #{idx.class}"</span>
|
|
1503
|
+
88: <span class="ruby-keyword kw">end</span>
|
|
1504
|
+
89: <span class="ruby-keyword kw">end</span></pre>
|
|
1481
1505
|
</div>
|
|
1482
1506
|
|
|
1483
1507
|
</div>
|
|
@@ -1511,10 +1535,10 @@ The result may be nil.
|
|
|
1511
1535
|
<div class="method-source-code"
|
|
1512
1536
|
id="to-num-source">
|
|
1513
1537
|
<pre>
|
|
1514
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1538
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 188</span>
|
|
1539
|
+
188: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_num</span>
|
|
1540
|
+
189: <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>
|
|
1541
|
+
190: <span class="ruby-keyword kw">end</span></pre>
|
|
1518
1542
|
</div>
|
|
1519
1543
|
|
|
1520
1544
|
</div>
|
|
@@ -1549,10 +1573,10 @@ result may be nil.
|
|
|
1549
1573
|
<div class="method-source-code"
|
|
1550
1574
|
id="to-rti-source">
|
|
1551
1575
|
<pre>
|
|
1552
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1576
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 199</span>
|
|
1577
|
+
199: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_rti</span>
|
|
1578
|
+
200: <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>
|
|
1579
|
+
201: <span class="ruby-keyword kw">end</span></pre>
|
|
1556
1580
|
</div>
|
|
1557
1581
|
|
|
1558
1582
|
</div>
|
|
@@ -1586,10 +1610,10 @@ href="../String.html">String</a>. The result may be nil.
|
|
|
1586
1610
|
<div class="method-source-code"
|
|
1587
1611
|
id="to-s-source">
|
|
1588
1612
|
<pre>
|
|
1589
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1613
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 182</span>
|
|
1614
|
+
182: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
|
1615
|
+
183: <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>))
|
|
1616
|
+
184: <span class="ruby-keyword kw">end</span></pre>
|
|
1593
1617
|
</div>
|
|
1594
1618
|
|
|
1595
1619
|
</div>
|
|
@@ -1623,10 +1647,10 @@ result may be nil.
|
|
|
1623
1647
|
<div class="method-source-code"
|
|
1624
1648
|
id="to-sort-source">
|
|
1625
1649
|
<pre>
|
|
1626
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1650
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 194</span>
|
|
1651
|
+
194: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_sort</span>
|
|
1652
|
+
195: <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>
|
|
1653
|
+
196: <span class="ruby-keyword kw">end</span></pre>
|
|
1630
1654
|
</div>
|
|
1631
1655
|
|
|
1632
1656
|
</div>
|
|
@@ -1666,12 +1690,12 @@ result data.
|
|
|
1666
1690
|
<div class="method-source-code"
|
|
1667
1691
|
id="reset-source">
|
|
1668
1692
|
<pre>
|
|
1669
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1693
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 331</span>
|
|
1694
|
+
331: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
|
|
1695
|
+
332: <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>
|
|
1696
|
+
333: <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">true</span>
|
|
1697
|
+
334: <span class="ruby-ivar">@errorMessage</span> = <span class="ruby-keyword kw">nil</span>
|
|
1698
|
+
335: <span class="ruby-keyword kw">end</span></pre>
|
|
1675
1699
|
</div>
|
|
1676
1700
|
|
|
1677
1701
|
</div>
|
|
@@ -1702,22 +1726,22 @@ result data.
|
|
|
1702
1726
|
<div class="method-source-code"
|
|
1703
1727
|
id="resolve-roperty-d-source">
|
|
1704
1728
|
<pre>
|
|
1705
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1729
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 241</span>
|
|
1730
|
+
241: <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>)
|
|
1731
|
+
242: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@project</span>
|
|
1732
|
+
243: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Need Project reference to process the query"</span>
|
|
1733
|
+
244: <span class="ruby-keyword kw">end</span>
|
|
1734
|
+
245: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">pType</span>
|
|
1735
|
+
246: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:Account</span>
|
|
1736
|
+
247: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">account</span>(<span class="ruby-identifier">pId</span>)
|
|
1737
|
+
248: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:Task</span>
|
|
1738
|
+
249: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">task</span>(<span class="ruby-identifier">pId</span>)
|
|
1739
|
+
250: <span class="ruby-keyword kw">when</span><span class="ruby-value">:Resource</span>
|
|
1740
|
+
251: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">resource</span>(<span class="ruby-identifier">pId</span>)
|
|
1741
|
+
252: <span class="ruby-keyword kw">else</span>
|
|
1742
|
+
253: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown property type #{pType}"</span>
|
|
1743
|
+
254: <span class="ruby-keyword kw">end</span>
|
|
1744
|
+
255: <span class="ruby-keyword kw">end</span></pre>
|
|
1721
1745
|
</div>
|
|
1722
1746
|
|
|
1723
1747
|
</div>
|
|
@@ -1754,71 +1778,71 @@ the different units.
|
|
|
1754
1778
|
<div class="method-source-code"
|
|
1755
1779
|
id="scale-alue-source">
|
|
1756
1780
|
<pre>
|
|
1757
|
-
<span class="ruby-comment cmt"># File lib/Query.rb, line
|
|
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
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1781
|
+
<span class="ruby-comment cmt"># File lib/Query.rb, line 262</span>
|
|
1782
|
+
262: <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>)
|
|
1783
|
+
263: <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>
|
|
1784
|
+
264: <span class="ruby-comment cmt"># We try all possible units and store the resulting strings here.</span>
|
|
1785
|
+
265: <span class="ruby-identifier">options</span> = []
|
|
1786
|
+
266: <span class="ruby-comment cmt"># For each option we also save the delta between the String value and</span>
|
|
1787
|
+
267: <span class="ruby-comment cmt"># the original value.</span>
|
|
1788
|
+
268: <span class="ruby-identifier">delta</span> = []
|
|
1789
|
+
269: <span class="ruby-comment cmt"># For each of the units we can define a maximum value that the value</span>
|
|
1790
|
+
270: <span class="ruby-comment cmt"># should not exceed. nil means no limit.</span>
|
|
1791
|
+
271: <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> ]
|
|
1792
|
+
272:
|
|
1793
|
+
273: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
|
|
1794
|
+
274: <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>
|
|
1795
|
+
275: <span class="ruby-identifier">scaledValue</span> = <span class="ruby-identifier">value</span> * <span class="ruby-identifier">factor</span>
|
|
1796
|
+
276: <span class="ruby-identifier">str</span> = <span class="ruby-ivar">@numberFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">scaledValue</span>)
|
|
1797
|
+
277: <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>
|
|
1798
|
+
278: <span class="ruby-comment cmt"># We ignore results that are 0 or exceed the maximum. To ensure that</span>
|
|
1799
|
+
279: <span class="ruby-comment cmt"># we have at least one result the unscaled value is always taken.</span>
|
|
1800
|
+
280: <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>
|
|
1801
|
+
281: (<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>])
|
|
1802
|
+
282: <span class="ruby-identifier">options</span> <span class="ruby-operator"><<</span> <span class="ruby-keyword kw">nil</span>
|
|
1803
|
+
283: <span class="ruby-keyword kw">else</span>
|
|
1804
|
+
284: <span class="ruby-identifier">options</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">str</span>
|
|
1805
|
+
285: <span class="ruby-keyword kw">end</span>
|
|
1806
|
+
286: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
1807
|
+
287: <span class="ruby-keyword kw">end</span>
|
|
1808
|
+
288:
|
|
1809
|
+
289: <span class="ruby-comment cmt"># Find the value that is the closest to the original value. This will be</span>
|
|
1810
|
+
290: <span class="ruby-comment cmt"># the default if all values have the same length.</span>
|
|
1811
|
+
291: <span class="ruby-identifier">shortest</span> = <span class="ruby-value">2</span>
|
|
1812
|
+
292: <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>
|
|
1813
|
+
293: <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>
|
|
1814
|
+
294: <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>]
|
|
1815
|
+
295: <span class="ruby-keyword kw">end</span>
|
|
1816
|
+
296:
|
|
1817
|
+
297: <span class="ruby-comment cmt"># Find the shortest option.</span>
|
|
1818
|
+
298: <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>
|
|
1819
|
+
299: <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>
|
|
1820
|
+
300: <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>
|
|
1821
|
+
301: <span class="ruby-keyword kw">end</span>
|
|
1822
|
+
302:
|
|
1823
|
+
303: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">shortest</span>]
|
|
1824
|
+
304: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@loadUnit</span> <span class="ruby-operator">==</span> <span class="ruby-value">:longauto</span>
|
|
1825
|
+
305: <span class="ruby-comment cmt"># For the long units we handle singular and plural properly. For</span>
|
|
1826
|
+
306: <span class="ruby-comment cmt"># English we just need to append an 's', but this code will work for</span>
|
|
1827
|
+
307: <span class="ruby-comment cmt"># other languages as well.</span>
|
|
1828
|
+
308: <span class="ruby-identifier">units</span> = []
|
|
1829
|
+
309: <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>
|
|
1830
|
+
310: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minute hour day week month year )</span>
|
|
1831
|
+
311: <span class="ruby-keyword kw">else</span>
|
|
1832
|
+
312: <span class="ruby-identifier">units</span> = <span class="ruby-node">%( minutes hours days weeks months years )</span>
|
|
1833
|
+
313: <span class="ruby-keyword kw">end</span>
|
|
1834
|
+
314: <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>]
|
|
1835
|
+
315: <span class="ruby-keyword kw">else</span>
|
|
1836
|
+
316: <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>]
|
|
1837
|
+
317: <span class="ruby-keyword kw">end</span>
|
|
1838
|
+
318: <span class="ruby-keyword kw">else</span>
|
|
1839
|
+
319: <span class="ruby-comment cmt"># For fixed units we just need to do the conversion. No unit is</span>
|
|
1840
|
+
320: <span class="ruby-comment cmt"># included.</span>
|
|
1841
|
+
321: <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> ]
|
|
1842
|
+
322: <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>)])
|
|
1843
|
+
323: <span class="ruby-keyword kw">end</span>
|
|
1844
|
+
324: <span class="ruby-identifier">str</span>
|
|
1845
|
+
325: <span class="ruby-keyword kw">end</span></pre>
|
|
1822
1846
|
</div>
|
|
1823
1847
|
|
|
1824
1848
|
</div>
|