taskjuggler 0.0.2
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/COPYING +280 -0
- data/README +31 -0
- data/Rakefile +20 -0
- data/benchmarks/UTF-8-Strings.rb +58 -0
- data/benchmarks/allocate.tjp +30 -0
- data/benchmarks/booking.tjp +62 -0
- data/benchmarks/depends.tjp +112 -0
- data/benchmarks/htmltaskreport.tjp +45 -0
- data/benchmarks/runbench.rb +24 -0
- data/bin/tj3 +3 -0
- data/bin/tj3man +3 -0
- data/doc/classes/AppConfig.html +808 -0
- data/doc/classes/Arguments.html +226 -0
- data/doc/classes/String.html +395 -0
- data/doc/classes/TaskJuggler.html +1358 -0
- data/doc/classes/TaskJuggler/Account.html +257 -0
- data/doc/classes/TaskJuggler/AccountScenario.html +218 -0
- data/doc/classes/TaskJuggler/Allocation.html +419 -0
- data/doc/classes/TaskJuggler/AllocationAttribute.html +291 -0
- data/doc/classes/TaskJuggler/AttributeBase.html +608 -0
- data/doc/classes/TaskJuggler/AttributeDefinition.html +259 -0
- data/doc/classes/TaskJuggler/Booking.html +307 -0
- data/doc/classes/TaskJuggler/BookingListAttribute.html +263 -0
- data/doc/classes/TaskJuggler/BooleanAttribute.html +261 -0
- data/doc/classes/TaskJuggler/CSVFile.html +325 -0
- data/doc/classes/TaskJuggler/Charge.html +279 -0
- data/doc/classes/TaskJuggler/ChargeListAttribute.html +229 -0
- data/doc/classes/TaskJuggler/ChargeSet.html +440 -0
- data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +276 -0
- data/doc/classes/TaskJuggler/ColumnTable.html +260 -0
- data/doc/classes/TaskJuggler/DateAttribute.html +194 -0
- data/doc/classes/TaskJuggler/DependencyListAttribute.html +267 -0
- data/doc/classes/TaskJuggler/DurationAttribute.html +229 -0
- data/doc/classes/TaskJuggler/FixnumAttribute.html +194 -0
- data/doc/classes/TaskJuggler/FlagListAttribute.html +263 -0
- data/doc/classes/TaskJuggler/FloatAttribute.html +229 -0
- data/doc/classes/TaskJuggler/GanttChart.html +667 -0
- data/doc/classes/TaskJuggler/GanttContainer.html +441 -0
- data/doc/classes/TaskJuggler/GanttHeader.html +280 -0
- data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +245 -0
- data/doc/classes/TaskJuggler/GanttLine.html +398 -0
- data/doc/classes/TaskJuggler/GanttLoadStack.html +327 -0
- data/doc/classes/TaskJuggler/GanttMilestone.html +415 -0
- data/doc/classes/TaskJuggler/GanttRouter.html +425 -0
- data/doc/classes/TaskJuggler/GanttTaskBar.html +429 -0
- data/doc/classes/TaskJuggler/HTMLDocument.html +240 -0
- data/doc/classes/TaskJuggler/HTMLGraphics.html +231 -0
- data/doc/classes/TaskJuggler/Interval.html +552 -0
- data/doc/classes/TaskJuggler/IntervalListAttribute.html +267 -0
- data/doc/classes/TaskJuggler/KeywordDocumentation.html +796 -0
- data/doc/classes/TaskJuggler/Limits.html +416 -0
- data/doc/classes/TaskJuggler/Limits/Limit.html +381 -0
- data/doc/classes/TaskJuggler/LimitsAttribute.html +261 -0
- data/doc/classes/TaskJuggler/Log.html +613 -0
- data/doc/classes/TaskJuggler/LogicalAttribute.html +226 -0
- data/doc/classes/TaskJuggler/LogicalExpression.html +251 -0
- data/doc/classes/TaskJuggler/LogicalFlag.html +229 -0
- data/doc/classes/TaskJuggler/LogicalFunction.html +324 -0
- data/doc/classes/TaskJuggler/LogicalOperation.html +299 -0
- data/doc/classes/TaskJuggler/Macro.html +194 -0
- data/doc/classes/TaskJuggler/MacroParser.html +360 -0
- data/doc/classes/TaskJuggler/MacroTable.html +366 -0
- data/doc/classes/TaskJuggler/Message.html +281 -0
- data/doc/classes/TaskJuggler/MessageHandler.html +215 -0
- data/doc/classes/TaskJuggler/Project.html +1606 -0
- data/doc/classes/TaskJuggler/ProjectFileParser.html +412 -0
- data/doc/classes/TaskJuggler/PropertyList.html +597 -0
- data/doc/classes/TaskJuggler/PropertySet.html +1200 -0
- data/doc/classes/TaskJuggler/PropertyTreeNode.html +1449 -0
- data/doc/classes/TaskJuggler/Query.html +600 -0
- data/doc/classes/TaskJuggler/RealFormat.html +252 -0
- data/doc/classes/TaskJuggler/ReferenceAttribute.html +194 -0
- data/doc/classes/TaskJuggler/Report.html +528 -0
- data/doc/classes/TaskJuggler/ReportElement.html +1070 -0
- data/doc/classes/TaskJuggler/ReportTable.html +497 -0
- data/doc/classes/TaskJuggler/ReportTableCell.html +518 -0
- data/doc/classes/TaskJuggler/ReportTableColumn.html +364 -0
- data/doc/classes/TaskJuggler/ReportTableElement.html +644 -0
- data/doc/classes/TaskJuggler/ReportTableLegend.html +343 -0
- data/doc/classes/TaskJuggler/ReportTableLine.html +431 -0
- data/doc/classes/TaskJuggler/Resource.html +211 -0
- data/doc/classes/TaskJuggler/ResourceListAttribute.html +267 -0
- data/doc/classes/TaskJuggler/ResourceListRE.html +249 -0
- data/doc/classes/TaskJuggler/ResourceScenario.html +1137 -0
- data/doc/classes/TaskJuggler/RichText.html +537 -0
- data/doc/classes/TaskJuggler/RichTextAttribute.html +229 -0
- data/doc/classes/TaskJuggler/RichTextDocument.html +418 -0
- data/doc/classes/TaskJuggler/RichTextElement.html +829 -0
- data/doc/classes/TaskJuggler/RichTextException.html +212 -0
- data/doc/classes/TaskJuggler/RichTextParser.html +317 -0
- data/doc/classes/TaskJuggler/RichTextProtocolExample.html +303 -0
- data/doc/classes/TaskJuggler/RichTextProtocolHandler.html +194 -0
- data/doc/classes/TaskJuggler/RichTextScanner.html +561 -0
- data/doc/classes/TaskJuggler/RichTextSnip.html +364 -0
- data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +883 -0
- data/doc/classes/TaskJuggler/Scenario.html +163 -0
- data/doc/classes/TaskJuggler/ScenarioData.html +354 -0
- data/doc/classes/TaskJuggler/Scoreboard.html +638 -0
- data/doc/classes/TaskJuggler/Shift.html +255 -0
- data/doc/classes/TaskJuggler/ShiftAssignment.html +488 -0
- data/doc/classes/TaskJuggler/ShiftAssignments.html +715 -0
- data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +261 -0
- data/doc/classes/TaskJuggler/ShiftScenario.html +282 -0
- data/doc/classes/TaskJuggler/SourceFileInfo.html +247 -0
- data/doc/classes/TaskJuggler/StringAttribute.html +229 -0
- data/doc/classes/TaskJuggler/SymbolAttribute.html +194 -0
- data/doc/classes/TaskJuggler/SyntaxReference.html +516 -0
- data/doc/classes/TaskJuggler/TOCEntry.html +242 -0
- data/doc/classes/TaskJuggler/TableColumnDefinition.html +273 -0
- data/doc/classes/TaskJuggler/TableOfContents.html +256 -0
- data/doc/classes/TaskJuggler/Task.html +203 -0
- data/doc/classes/TaskJuggler/TaskDependency.html +251 -0
- data/doc/classes/TaskJuggler/TaskListAttribute.html +267 -0
- data/doc/classes/TaskJuggler/TaskListRE.html +250 -0
- data/doc/classes/TaskJuggler/TaskScenario.html +2206 -0
- data/doc/classes/TaskJuggler/TextParser.html +670 -0
- data/doc/classes/TaskJuggler/TextParser/Pattern.html +923 -0
- data/doc/classes/TaskJuggler/TextParser/Rule.html +779 -0
- data/doc/classes/TaskJuggler/TextParser/StackElement.html +267 -0
- data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +212 -0
- data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +221 -0
- data/doc/classes/TaskJuggler/TextScanner.html +708 -0
- data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +355 -0
- data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +341 -0
- data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +260 -0
- data/doc/classes/TaskJuggler/TjException.html +185 -0
- data/doc/classes/TaskJuggler/TjTime.html +1845 -0
- data/doc/classes/TaskJuggler/TjpExample.html +310 -0
- data/doc/classes/TaskJuggler/TjpExportRE.html +329 -0
- data/doc/classes/TaskJuggler/TjpSyntaxRules.html +8928 -0
- data/doc/classes/TaskJuggler/UserManual.html +606 -0
- data/doc/classes/TaskJuggler/WorkingHours.html +582 -0
- data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +284 -0
- data/doc/classes/TaskJuggler/XMLBlob.html +207 -0
- data/doc/classes/TaskJuggler/XMLComment.html +206 -0
- data/doc/classes/TaskJuggler/XMLDocument.html +293 -0
- data/doc/classes/TaskJuggler/XMLElement.html +341 -0
- data/doc/classes/TaskJuggler/XMLNamedText.html +174 -0
- data/doc/classes/TaskJuggler/XMLText.html +221 -0
- data/doc/files/COPYING.html +448 -0
- data/doc/files/README.html +134 -0
- data/doc/files/lib/AccountScenario_rb.html +116 -0
- data/doc/files/lib/Account_rb.html +118 -0
- data/doc/files/lib/Allocation_rb.html +118 -0
- data/doc/files/lib/AppConfig_rb.html +116 -0
- data/doc/files/lib/AttributeBase_rb.html +106 -0
- data/doc/files/lib/AttributeDefinition_rb.html +106 -0
- data/doc/files/lib/Attributes_rb.html +130 -0
- data/doc/files/lib/Booking_rb.html +106 -0
- data/doc/files/lib/ChargeSet_rb.html +116 -0
- data/doc/files/lib/Charge_rb.html +116 -0
- data/doc/files/lib/HTMLDocument_rb.html +116 -0
- data/doc/files/lib/Interval_rb.html +116 -0
- data/doc/files/lib/KeywordDocumentation_rb.html +122 -0
- data/doc/files/lib/Limits_rb.html +116 -0
- data/doc/files/lib/Log_rb.html +116 -0
- data/doc/files/lib/LogicalExpression_rb.html +122 -0
- data/doc/files/lib/LogicalFlag_rb.html +116 -0
- data/doc/files/lib/LogicalFunction_rb.html +116 -0
- data/doc/files/lib/LogicalOperation_rb.html +116 -0
- data/doc/files/lib/MacroParser_rb.html +118 -0
- data/doc/files/lib/MacroTable_rb.html +122 -0
- data/doc/files/lib/MessageHandler_rb.html +106 -0
- data/doc/files/lib/Message_rb.html +116 -0
- data/doc/files/lib/ProjectFileParser_rb.html +122 -0
- data/doc/files/lib/Project_rb.html +148 -0
- data/doc/files/lib/PropertyList_rb.html +106 -0
- data/doc/files/lib/PropertySet_rb.html +118 -0
- data/doc/files/lib/PropertyTreeNode_rb.html +106 -0
- data/doc/files/lib/Query_rb.html +116 -0
- data/doc/files/lib/RealFormat_rb.html +106 -0
- data/doc/files/lib/ResourceScenario_rb.html +116 -0
- data/doc/files/lib/Resource_rb.html +118 -0
- data/doc/files/lib/RichTextDocument_rb.html +120 -0
- data/doc/files/lib/RichTextElement_rb.html +120 -0
- data/doc/files/lib/RichTextParser_rb.html +120 -0
- data/doc/files/lib/RichTextProtocolExample_rb.html +120 -0
- data/doc/files/lib/RichTextProtocolHandler_rb.html +106 -0
- data/doc/files/lib/RichTextScanner_rb.html +116 -0
- data/doc/files/lib/RichTextSnip_rb.html +118 -0
- data/doc/files/lib/RichTextSyntaxRules_rb.html +106 -0
- data/doc/files/lib/RichText_rb.html +118 -0
- data/doc/files/lib/ScenarioData_rb.html +118 -0
- data/doc/files/lib/Scenario_rb.html +116 -0
- data/doc/files/lib/Scoreboard_rb.html +106 -0
- data/doc/files/lib/ShiftAssignments_rb.html +116 -0
- data/doc/files/lib/ShiftScenario_rb.html +116 -0
- data/doc/files/lib/Shift_rb.html +118 -0
- data/doc/files/lib/SourceFileInfo_rb.html +106 -0
- data/doc/files/lib/SyntaxReference_rb.html +122 -0
- data/doc/files/lib/TOCEntry_rb.html +118 -0
- data/doc/files/lib/TableColumnDefinition_rb.html +106 -0
- data/doc/files/lib/TableOfContents_rb.html +118 -0
- data/doc/files/lib/TaskDependency_rb.html +106 -0
- data/doc/files/lib/TaskJuggler_rb.html +120 -0
- data/doc/files/lib/TaskScenario_rb.html +116 -0
- data/doc/files/lib/Task_rb.html +118 -0
- data/doc/files/lib/TextParser/Pattern_rb.html +116 -0
- data/doc/files/lib/TextParser/Rule_rb.html +106 -0
- data/doc/files/lib/TextParser/StackElement_rb.html +106 -0
- data/doc/files/lib/TextParser/TokenDoc_rb.html +106 -0
- data/doc/files/lib/TextParser_rb.html +124 -0
- data/doc/files/lib/TextScanner_rb.html +128 -0
- data/doc/files/lib/Tj3Config_rb.html +118 -0
- data/doc/files/lib/TjException_rb.html +106 -0
- data/doc/files/lib/TjTime_rb.html +118 -0
- data/doc/files/lib/TjpExample_rb.html +116 -0
- data/doc/files/lib/TjpSyntaxRules_rb.html +106 -0
- data/doc/files/lib/UTF8String_rb.html +132 -0
- data/doc/files/lib/UserManual_rb.html +124 -0
- data/doc/files/lib/WorkingHours_rb.html +116 -0
- data/doc/files/lib/XMLDocument_rb.html +116 -0
- data/doc/files/lib/XMLElement_rb.html +116 -0
- data/doc/files/lib/reports/CSVFile_rb.html +116 -0
- data/doc/files/lib/reports/ColumnTable_rb.html +116 -0
- data/doc/files/lib/reports/GanttChart_rb.html +122 -0
- data/doc/files/lib/reports/GanttContainer_rb.html +116 -0
- data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +106 -0
- data/doc/files/lib/reports/GanttHeader_rb.html +116 -0
- data/doc/files/lib/reports/GanttLine_rb.html +126 -0
- data/doc/files/lib/reports/GanttLoadStack_rb.html +116 -0
- data/doc/files/lib/reports/GanttMilestone_rb.html +116 -0
- data/doc/files/lib/reports/GanttRouter_rb.html +106 -0
- data/doc/files/lib/reports/GanttTaskBar_rb.html +116 -0
- data/doc/files/lib/reports/HTMLGraphics_rb.html +106 -0
- data/doc/files/lib/reports/ReportElement_rb.html +118 -0
- data/doc/files/lib/reports/ReportTableCell_rb.html +106 -0
- data/doc/files/lib/reports/ReportTableColumn_rb.html +106 -0
- data/doc/files/lib/reports/ReportTableElement_rb.html +122 -0
- data/doc/files/lib/reports/ReportTableLegend_rb.html +106 -0
- data/doc/files/lib/reports/ReportTableLine_rb.html +116 -0
- data/doc/files/lib/reports/ReportTable_rb.html +118 -0
- data/doc/files/lib/reports/Report_rb.html +126 -0
- data/doc/files/lib/reports/ResourceListRE_rb.html +122 -0
- data/doc/files/lib/reports/TaskListRE_rb.html +122 -0
- data/doc/files/lib/reports/TjpExportRE_rb.html +116 -0
- data/doc/files/lib/taskjuggler3_rb.html +276 -0
- data/doc/files/lib/tj3man_rb.html +189 -0
- data/doc/fr_class_index.html +285 -0
- data/doc/fr_file_index.html +223 -0
- data/doc/fr_method_index.html +1953 -0
- data/doc/index.html +21 -0
- data/doc/rdoc-style.css +299 -0
- data/examples/tutorial.tjp +361 -0
- data/gem_spec.rb +30 -0
- data/lib/Account.rb +50 -0
- data/lib/AccountScenario.rb +39 -0
- data/lib/Allocation.rb +102 -0
- data/lib/AppConfig.rb +134 -0
- data/lib/AttributeBase.rb +131 -0
- data/lib/AttributeDefinition.rb +47 -0
- data/lib/Attributes.rb +478 -0
- data/lib/BatchProcessor.rb +209 -0
- data/lib/Booking.rb +59 -0
- data/lib/Charge.rb +71 -0
- data/lib/ChargeSet.rb +126 -0
- data/lib/HTMLDocument.rb +59 -0
- data/lib/Interval.rb +127 -0
- data/lib/KeywordDocumentation.rb +560 -0
- data/lib/Limits.rb +219 -0
- data/lib/Log.rb +160 -0
- data/lib/LogicalExpression.rb +71 -0
- data/lib/LogicalFlag.rb +34 -0
- data/lib/LogicalFunction.rb +102 -0
- data/lib/LogicalOperation.rb +118 -0
- data/lib/MacroParser.rb +77 -0
- data/lib/MacroTable.rb +84 -0
- data/lib/Message.rb +56 -0
- data/lib/MessageHandler.rb +34 -0
- data/lib/Project.rb +662 -0
- data/lib/ProjectFileParser.rb +333 -0
- data/lib/PropertyList.rb +181 -0
- data/lib/PropertySet.rb +304 -0
- data/lib/PropertyTreeNode.rb +461 -0
- data/lib/Query.rb +227 -0
- data/lib/RealFormat.rb +73 -0
- data/lib/Resource.rb +42 -0
- data/lib/ResourceScenario.rb +511 -0
- data/lib/RichText.rb +147 -0
- data/lib/RichTextDocument.rb +139 -0
- data/lib/RichTextElement.rb +391 -0
- data/lib/RichTextParser.rb +66 -0
- data/lib/RichTextProtocolExample.rb +65 -0
- data/lib/RichTextProtocolHandler.rb +35 -0
- data/lib/RichTextScanner.rb +390 -0
- data/lib/RichTextSnip.rb +104 -0
- data/lib/RichTextSyntaxRules.rb +265 -0
- data/lib/Scenario.rb +27 -0
- data/lib/ScenarioData.rb +65 -0
- data/lib/Scoreboard.rb +141 -0
- data/lib/Shift.rb +48 -0
- data/lib/ShiftAssignments.rb +291 -0
- data/lib/ShiftScenario.rb +46 -0
- data/lib/SourceFileInfo.rb +37 -0
- data/lib/SyntaxReference.rb +284 -0
- data/lib/TOCEntry.rb +76 -0
- data/lib/TableColumnDefinition.rb +54 -0
- data/lib/TableOfContents.rb +46 -0
- data/lib/Task.rb +37 -0
- data/lib/TaskDependency.rb +39 -0
- data/lib/TaskJuggler.rb +84 -0
- data/lib/TaskScenario.rb +1622 -0
- data/lib/TextParser.rb +416 -0
- data/lib/TextParser/Pattern.rb +263 -0
- data/lib/TextParser/Rule.rb +171 -0
- data/lib/TextParser/StackElement.rb +45 -0
- data/lib/TextParser/TokenDoc.rb +38 -0
- data/lib/TextScanner.rb +682 -0
- data/lib/Tj3Config.rb +27 -0
- data/lib/TjException.rb +27 -0
- data/lib/TjTime.rb +395 -0
- data/lib/TjpExample.rb +119 -0
- data/lib/TjpSyntaxRules.rb +4022 -0
- data/lib/UTF8String.rb +100 -0
- data/lib/UserManual.rb +282 -0
- data/lib/WorkingHours.rb +323 -0
- data/lib/XMLDocument.rb +54 -0
- data/lib/XMLElement.rb +175 -0
- data/lib/reports/CSVFile.rb +146 -0
- data/lib/reports/ColumnTable.rb +66 -0
- data/lib/reports/GanttChart.rb +308 -0
- data/lib/reports/GanttContainer.rb +107 -0
- data/lib/reports/GanttHeader.rb +141 -0
- data/lib/reports/GanttHeaderScaleItem.rb +42 -0
- data/lib/reports/GanttLine.rb +329 -0
- data/lib/reports/GanttLoadStack.rb +113 -0
- data/lib/reports/GanttMilestone.rb +80 -0
- data/lib/reports/GanttRouter.rb +375 -0
- data/lib/reports/GanttTaskBar.rb +95 -0
- data/lib/reports/HTMLGraphics.rb +65 -0
- data/lib/reports/Report.rb +344 -0
- data/lib/reports/ReportElement.rb +427 -0
- data/lib/reports/ReportTable.rb +144 -0
- data/lib/reports/ReportTableCell.rb +142 -0
- data/lib/reports/ReportTableColumn.rb +82 -0
- data/lib/reports/ReportTableElement.rb +852 -0
- data/lib/reports/ReportTableLegend.rb +167 -0
- data/lib/reports/ReportTableLine.rb +87 -0
- data/lib/reports/ResourceListRE.rb +72 -0
- data/lib/reports/TaskListRE.rb +73 -0
- data/lib/reports/TjpExportRE.rb +394 -0
- data/lib/taskjuggler3.rb +106 -0
- data/lib/tj3man.rb +88 -0
- data/manual/Day_To_Day_Juggling +168 -0
- data/manual/Getting_Started +61 -0
- data/manual/How_To_Contribute +185 -0
- data/manual/Installation +68 -0
- data/manual/Intro +102 -0
- data/manual/Reporting_Bugs +26 -0
- data/manual/Rich_Text_Attributes +90 -0
- data/manual/TaskJuggler_2x_Migration +40 -0
- data/manual/Tutorial +579 -0
- data/manual/fdl +450 -0
- data/prj_cfg.rb +43 -0
- data/setup.rb +1585 -0
- data/tasks/csts.rake +72 -0
- data/tasks/gem.rake +14 -0
- data/tasks/manual.rake +10 -0
- data/tasks/missing.rake +21 -0
- data/tasks/rcov.rake +14 -0
- data/tasks/rdoc.rake +17 -0
- data/tasks/rexml_fix.rb +16 -0
- data/tasks/rexml_fix_19.rb +49 -0
- data/tasks/show.rake +21 -0
- data/tasks/stats.rake +25 -0
- data/tasks/test.rake +11 -0
- data/test/MessageChecker.rb +53 -0
- data/test/TestSuite/CSV-Reports/celltext-Reference.csv +14 -0
- data/test/TestSuite/CSV-Reports/celltext.tjp +7 -0
- data/test/TestSuite/CSV-Reports/genrefs +6 -0
- data/test/TestSuite/CSV-Reports/project-1.tji +57 -0
- data/test/TestSuite/CSV-Reports/resourcereport-Reference.csv +4 -0
- data/test/TestSuite/CSV-Reports/resourcereport.tjp +10 -0
- data/test/TestSuite/CSV-Reports/resourcereport_with_tasks-Reference.csv +22 -0
- data/test/TestSuite/CSV-Reports/resourcereport_with_tasks.tjp +11 -0
- data/test/TestSuite/CSV-Reports/sortByTree-Reference.csv +14 -0
- data/test/TestSuite/CSV-Reports/sortByTree.tjp +8 -0
- data/test/TestSuite/CSV-Reports/sortBy_duration.down-Reference.csv +14 -0
- data/test/TestSuite/CSV-Reports/sortBy_duration.down.tjp +10 -0
- data/test/TestSuite/CSV-Reports/sortBy_effort.up-Reference.csv +14 -0
- data/test/TestSuite/CSV-Reports/sortBy_effort.up.tjp +10 -0
- data/test/TestSuite/CSV-Reports/sortBy_plan.start.down-Reference.csv +14 -0
- data/test/TestSuite/CSV-Reports/sortBy_plan.start.down.tjp +10 -0
- data/test/TestSuite/CSV-Reports/taskreport-Reference.csv +14 -0
- data/test/TestSuite/CSV-Reports/taskreport.tjp +10 -0
- data/test/TestSuite/CSV-Reports/taskreport_with_resources-Reference.csv +24 -0
- data/test/TestSuite/CSV-Reports/taskreport_with_resources.tjp +11 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +86 -0
- data/test/TestSuite/Scheduler/Correct/AutomaticMilestones.tjp +63 -0
- data/test/TestSuite/Scheduler/Correct/Booking.tjp +161 -0
- data/test/TestSuite/Scheduler/Correct/Depends.tjp +50 -0
- data/test/TestSuite/Scheduler/Correct/Duration.tjp +34 -0
- data/test/TestSuite/Scheduler/Correct/InheritStartEnd.tjp +129 -0
- data/test/TestSuite/Scheduler/Correct/Limits.tjp +81 -0
- data/test/TestSuite/Scheduler/Correct/MultipleMandatories.tjp +43 -0
- data/test/TestSuite/Scheduler/Correct/Optimize-1.tjp +28 -0
- data/test/TestSuite/Scheduler/Correct/Optimize-2.tjp +33 -0
- data/test/TestSuite/Scheduler/Correct/Optimize-3.tjp +33 -0
- data/test/TestSuite/Scheduler/Correct/Optimize-4.tjp +34 -0
- data/test/TestSuite/Scheduler/Correct/Optimize-5.tjp +62 -0
- data/test/TestSuite/Scheduler/Correct/Precedes.tjp +50 -0
- data/test/TestSuite/Scheduler/Correct/Shift.tjp +102 -0
- data/test/TestSuite/Scheduler/Errors/account_no_leaf.tjp +13 -0
- data/test/TestSuite/Scheduler/Errors/booking_conflict.tjp +10 -0
- data/test/TestSuite/Scheduler/Errors/booking_no_duty.tjp +9 -0
- data/test/TestSuite/Scheduler/Errors/booking_on_vacation.tjp +9 -0
- data/test/TestSuite/Scheduler/Errors/container_booking.tjp +14 -0
- data/test/TestSuite/Scheduler/Errors/container_duration.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/effort_no_allocations.tjp +7 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_1.tjp +19 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_10.tjp +36 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_11.tjp +27 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +20 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +27 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_14.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_2.tjp +24 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +18 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_4.tjp +36 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_5.tjp +37 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +35 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +46 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +51 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_9.tjp +20 -0
- data/test/TestSuite/Scheduler/Errors/maxend.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/maxstart.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/milestone_booking.tjp +10 -0
- data/test/TestSuite/Scheduler/Errors/milestone_duration.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/milestone_start_end.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/minend.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/minstart.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/no_tasks.tjp +6 -0
- data/test/TestSuite/Scheduler/Errors/not_scheduled.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/task_depend_child.tjp +10 -0
- data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +13 -0
- data/test/TestSuite/Scheduler/Errors/task_depend_parent.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/task_depend_self.tjp +10 -0
- data/test/TestSuite/Scheduler/Errors/task_depend_unknown.tjp +10 -0
- data/test/TestSuite/Scheduler/Errors/task_overspecified_1.tjp +9 -0
- data/test/TestSuite/Scheduler/Errors/task_overspecified_2.tjp +14 -0
- data/test/TestSuite/Scheduler/Errors/task_overspecified_3.tjp +14 -0
- data/test/TestSuite/Scheduler/Errors/task_underspecified_1.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/task_underspecified_2.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/task_underspecified_3.tjp +9 -0
- data/test/TestSuite/Syntax/Correct/Account.tjp +53 -0
- data/test/TestSuite/Syntax/Correct/Allocate-1.tjp +24 -0
- data/test/TestSuite/Syntax/Correct/Alternative.tjp +13 -0
- data/test/TestSuite/Syntax/Correct/AutoMacros.tjp +14 -0
- data/test/TestSuite/Syntax/Correct/Booking.tjp +26 -0
- data/test/TestSuite/Syntax/Correct/Caption.tjp +33 -0
- data/test/TestSuite/Syntax/Correct/Celltext.tjp +28 -0
- data/test/TestSuite/Syntax/Correct/Comments.tjp +29 -0
- data/test/TestSuite/Syntax/Correct/Complete.tjp +16 -0
- data/test/TestSuite/Syntax/Correct/CompletedWork.tji +20 -0
- data/test/TestSuite/Syntax/Correct/CriticalPath.tjp +31 -0
- data/test/TestSuite/Syntax/Correct/Currencyformat.tjp +12 -0
- data/test/TestSuite/Syntax/Correct/CustomAttributes.tjp +14 -0
- data/test/TestSuite/Syntax/Correct/Depends1.tjp +22 -0
- data/test/TestSuite/Syntax/Correct/Durations.tjp +29 -0
- data/test/TestSuite/Syntax/Correct/Efficiency.tjp +19 -0
- data/test/TestSuite/Syntax/Correct/Export.tjp +40 -0
- data/test/TestSuite/Syntax/Correct/Flags.tjp +32 -0
- data/test/TestSuite/Syntax/Correct/Freeze.tjp +28 -0
- data/test/TestSuite/Syntax/Correct/Gap.tjp +15 -0
- data/test/TestSuite/Syntax/Correct/HtmlTaskReport.tjp +33 -0
- data/test/TestSuite/Syntax/Correct/Limits-1.tjp +71 -0
- data/test/TestSuite/Syntax/Correct/LoadUnits.tjp +31 -0
- data/test/TestSuite/Syntax/Correct/Macro-1.tjp +19 -0
- data/test/TestSuite/Syntax/Correct/Mandatory.tjp +17 -0
- data/test/TestSuite/Syntax/Correct/Milestone.tjp +12 -0
- data/test/TestSuite/Syntax/Correct/MinMax.tjp +17 -0
- data/test/TestSuite/Syntax/Correct/Numberformat.tjp +12 -0
- data/test/TestSuite/Syntax/Correct/Period.tjp +16 -0
- data/test/TestSuite/Syntax/Correct/Persistent.tjp +11 -0
- data/test/TestSuite/Syntax/Correct/Precedes1.tjp +17 -0
- data/test/TestSuite/Syntax/Correct/Priority.tjp +30 -0
- data/test/TestSuite/Syntax/Correct/Project.tjp +21 -0
- data/test/TestSuite/Syntax/Correct/ProjectIDs.tjp +23 -0
- data/test/TestSuite/Syntax/Correct/RawHTML.tjp +29 -0
- data/test/TestSuite/Syntax/Correct/Reports.tjp +54 -0
- data/test/TestSuite/Syntax/Correct/Resource.tjp +20 -0
- data/test/TestSuite/Syntax/Correct/Responsible.tjp +16 -0
- data/test/TestSuite/Syntax/Correct/Scenario.tjp +15 -0
- data/test/TestSuite/Syntax/Correct/Scheduling.tjp +26 -0
- data/test/TestSuite/Syntax/Correct/Select.tjp +27 -0
- data/test/TestSuite/Syntax/Correct/Shift.tjp +55 -0
- data/test/TestSuite/Syntax/Correct/Simple.tjp +25 -0
- data/test/TestSuite/Syntax/Correct/String.tjp +12 -0
- data/test/TestSuite/Syntax/Correct/Supplement.tjp +24 -0
- data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +34 -0
- data/test/TestSuite/Syntax/Correct/TimeFrame.tjp +19 -0
- data/test/TestSuite/Syntax/Correct/Timezone.tjp +8 -0
- data/test/TestSuite/Syntax/Correct/Vacation.tjp +33 -0
- data/test/TestSuite/Syntax/Correct/csvtest +16 -0
- data/test/TestSuite/Syntax/Correct/manual2example.rb +24 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +485 -0
- data/test/TestSuite/Syntax/Errors/bad_include.tjp +11 -0
- data/test/TestSuite/Syntax/Errors/booking_group.tjp +14 -0
- data/test/TestSuite/Syntax/Errors/booking_milestone.tjp +13 -0
- data/test/TestSuite/Syntax/Errors/booking_no_leaf.tjp +13 -0
- data/test/TestSuite/Syntax/Errors/chargeset.tjp +14 -0
- data/test/TestSuite/Syntax/Errors/chargeset_master.tjp +15 -0
- data/test/TestSuite/Syntax/Errors/container_attribute.tjp +13 -0
- data/test/TestSuite/Syntax/Errors/cost_acct_no_top.tjp +24 -0
- data/test/TestSuite/Syntax/Errors/cost_rev_same.tjp +24 -0
- data/test/TestSuite/Syntax/Errors/date_in_range.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/effort_zero.tjp +8 -0
- data/test/TestSuite/Syntax/Errors/empty.tjp +1 -0
- data/test/TestSuite/Syntax/Errors/export_bad_extn.tjp +9 -0
- data/test/TestSuite/Syntax/Errors/extend_id_cap.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/interval_end_in_range.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/interval_start_in_range.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/leaf_resource_id_expected.tjp +12 -0
- data/test/TestSuite/Syntax/Errors/misaligned_date.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/no_csv_suffix.tjp +10 -0
- data/test/TestSuite/Syntax/Errors/no_html_suffix.tjp +10 -0
- data/test/TestSuite/Syntax/Errors/operand_attribute.tjp +11 -0
- data/test/TestSuite/Syntax/Errors/operand_unkn_flag.tjp +11 -0
- data/test/TestSuite/Syntax/Errors/operand_unkn_scen.tjp +11 -0
- data/test/TestSuite/Syntax/Errors/overtime_range.tjp +13 -0
- data/test/TestSuite/Syntax/Errors/purge_no_list.tjp +8 -0
- data/test/TestSuite/Syntax/Errors/purge_unknown_id.tjp +8 -0
- data/test/TestSuite/Syntax/Errors/report_end.tjp +10 -0
- data/test/TestSuite/Syntax/Errors/report_redifinition.tjp +10 -0
- data/test/TestSuite/Syntax/Errors/report_start.tjp +10 -0
- data/test/TestSuite/Syntax/Errors/resource_exists.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/resource_id_expected.tjp +8 -0
- data/test/TestSuite/Syntax/Errors/rev_acct_no_top.tjp +24 -0
- data/test/TestSuite/Syntax/Errors/scenario_exists.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/shift_assignment_overlap.tjp +15 -0
- data/test/TestSuite/Syntax/Errors/shift_exists.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/shift_id_expected.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/sloppy_range.tjp +13 -0
- data/test/TestSuite/Syntax/Errors/sort_direction.tjp +11 -0
- data/test/TestSuite/Syntax/Errors/sort_unknown_scen.tjp +11 -0
- data/test/TestSuite/Syntax/Errors/sorting_crit_exptd1.tjp +11 -0
- data/test/TestSuite/Syntax/Errors/sorting_crit_exptd2.tjp +11 -0
- data/test/TestSuite/Syntax/Errors/sorting_wbs.tjp +11 -0
- data/test/TestSuite/Syntax/Errors/start_before_end1.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/start_before_end2.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/task_complete.tjp +8 -0
- data/test/TestSuite/Syntax/Errors/task_exists.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/task_priority.tjp +8 -0
- data/test/TestSuite/Syntax/Errors/task_without_chargeset.tjp +9 -0
- data/test/TestSuite/Syntax/Errors/time_interval.tjp +12 -0
- data/test/TestSuite/Syntax/Errors/too_many_bangs.tjp +10 -0
- data/test/TestSuite/Syntax/Errors/undecl_flag.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/unknown_projectid.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/unknown_scenario_id.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/unknown_scenario_idx.tjp +11 -0
- data/test/TestSuite/Syntax/Errors/unknown_task.tjp +10 -0
- data/test/all.rb +31 -0
- data/test/test_BatchProcessor.rb +54 -0
- data/test/test_CSV-Reports.rb +101 -0
- data/test/test_Limits.rb +104 -0
- data/test/test_LogicalExpression.rb +110 -0
- data/test/test_MacroTable.rb +51 -0
- data/test/test_Project.rb +57 -0
- data/test/test_PropertySet.rb +71 -0
- data/test/test_Query.rb +83 -0
- data/test/test_RealFormat.rb +83 -0
- data/test/test_RichText.rb +869 -0
- data/test/test_Scheduler.rb +42 -0
- data/test/test_ShiftAssignments.rb +77 -0
- data/test/test_Syntax.rb +41 -0
- data/test/test_TextScanner.rb +95 -0
- data/test/test_TjTime.rb +114 -0
- data/test/test_TjpExample.rb +169 -0
- data/test/test_UTF8String.rb +84 -0
- data/test/test_WorkingHours.rb +56 -0
- metadata +649 -0
|
@@ -0,0 +1,638 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<title>Class: TaskJuggler::Scoreboard [TaskJuggler III API documentation]</title>
|
|
6
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
7
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
8
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
|
9
|
+
<script type="text/javascript">
|
|
10
|
+
// <![CDATA[
|
|
11
|
+
|
|
12
|
+
function popupCode( url ) {
|
|
13
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function toggleCode( id ) {
|
|
17
|
+
if ( document.getElementById )
|
|
18
|
+
elem = document.getElementById( id );
|
|
19
|
+
else if ( document.all )
|
|
20
|
+
elem = eval( "document.all." + id );
|
|
21
|
+
else
|
|
22
|
+
return false;
|
|
23
|
+
|
|
24
|
+
elemStyle = elem.style;
|
|
25
|
+
|
|
26
|
+
if ( elemStyle.display != "block" ) {
|
|
27
|
+
elemStyle.display = "block"
|
|
28
|
+
} else {
|
|
29
|
+
elemStyle.display = "none"
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Make codeblocks hidden by default
|
|
36
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }<\/style>" )
|
|
37
|
+
|
|
38
|
+
// ]]>
|
|
39
|
+
</script>
|
|
40
|
+
|
|
41
|
+
</head>
|
|
42
|
+
<body>
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
<div id="classHeader">
|
|
46
|
+
<table class="header-table">
|
|
47
|
+
<tr class="top-aligned-row">
|
|
48
|
+
<td><strong>Class</strong></td>
|
|
49
|
+
<td class="class-name-in-header">TaskJuggler::Scoreboard</td>
|
|
50
|
+
</tr>
|
|
51
|
+
<tr class="top-aligned-row">
|
|
52
|
+
<td><strong>In:</strong></td>
|
|
53
|
+
<td>
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
<a href="../../files/lib/Scoreboard_rb.html">
|
|
57
|
+
|
|
58
|
+
lib/Scoreboard.rb
|
|
59
|
+
|
|
60
|
+
</a>
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
<br />
|
|
64
|
+
|
|
65
|
+
</td>
|
|
66
|
+
</tr>
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
<tr class="top-aligned-row">
|
|
70
|
+
<td><strong>Parent:</strong></td>
|
|
71
|
+
<td>
|
|
72
|
+
|
|
73
|
+
Object
|
|
74
|
+
|
|
75
|
+
</td>
|
|
76
|
+
</tr>
|
|
77
|
+
|
|
78
|
+
</table>
|
|
79
|
+
</div>
|
|
80
|
+
<!-- banner header -->
|
|
81
|
+
|
|
82
|
+
<div id="bodyContent">
|
|
83
|
+
|
|
84
|
+
<div id="contextContent">
|
|
85
|
+
|
|
86
|
+
<div id="description">
|
|
87
|
+
<p>
|
|
88
|
+
<a href="Scoreboard.html">Scoreboard</a> objects are instrumental during
|
|
89
|
+
the scheduling process. The project time span is divided into discrete time
|
|
90
|
+
slots by the scheduling resolution. This class models the resulting time
|
|
91
|
+
slots with an array that spans from project start o project end. Each slot
|
|
92
|
+
has an index start with 0 at the project start.
|
|
93
|
+
</p>
|
|
94
|
+
|
|
95
|
+
</div>
|
|
96
|
+
|
|
97
|
+
</div>
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
<div id="method-list">
|
|
101
|
+
<h3 class="section-bar">Methods</h3>
|
|
102
|
+
|
|
103
|
+
<div class="name-list">
|
|
104
|
+
|
|
105
|
+
<a href="#M000807">[]</a>
|
|
106
|
+
|
|
107
|
+
<a href="#M000808">[]=</a>
|
|
108
|
+
|
|
109
|
+
<a href="#M000802">clear</a>
|
|
110
|
+
|
|
111
|
+
<a href="#M000806">collect!</a>
|
|
112
|
+
|
|
113
|
+
<a href="#M000811">collectTimeOffIntervals</a>
|
|
114
|
+
|
|
115
|
+
<a href="#M000804">dateToIdx</a>
|
|
116
|
+
|
|
117
|
+
<a href="#M000805">each</a>
|
|
118
|
+
|
|
119
|
+
<a href="#M000809">get</a>
|
|
120
|
+
|
|
121
|
+
<a href="#M000803">idxToDate</a>
|
|
122
|
+
|
|
123
|
+
<a href="#M000801">new</a>
|
|
124
|
+
|
|
125
|
+
<a href="#M000810">set</a>
|
|
126
|
+
|
|
127
|
+
</div>
|
|
128
|
+
</div>
|
|
129
|
+
|
|
130
|
+
</div>
|
|
131
|
+
|
|
132
|
+
<!-- if includes -->
|
|
133
|
+
|
|
134
|
+
<div id="section">
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
<div id="attribute-list">
|
|
139
|
+
<h3 class="section-bar">Attributes</h3>
|
|
140
|
+
|
|
141
|
+
<div class="name-list">
|
|
142
|
+
<table>
|
|
143
|
+
|
|
144
|
+
<tr class="top-aligned-row context-row">
|
|
145
|
+
<td class="context-item-name">endDate</td>
|
|
146
|
+
|
|
147
|
+
<td class="context-item-value"> [R] </td>
|
|
148
|
+
|
|
149
|
+
<td class="context-item-desc"></td>
|
|
150
|
+
</tr>
|
|
151
|
+
|
|
152
|
+
<tr class="top-aligned-row context-row">
|
|
153
|
+
<td class="context-item-name">resolution</td>
|
|
154
|
+
|
|
155
|
+
<td class="context-item-value"> [R] </td>
|
|
156
|
+
|
|
157
|
+
<td class="context-item-desc"></td>
|
|
158
|
+
</tr>
|
|
159
|
+
|
|
160
|
+
<tr class="top-aligned-row context-row">
|
|
161
|
+
<td class="context-item-name">size</td>
|
|
162
|
+
|
|
163
|
+
<td class="context-item-value"> [R] </td>
|
|
164
|
+
|
|
165
|
+
<td class="context-item-desc"></td>
|
|
166
|
+
</tr>
|
|
167
|
+
|
|
168
|
+
<tr class="top-aligned-row context-row">
|
|
169
|
+
<td class="context-item-name">startDate</td>
|
|
170
|
+
|
|
171
|
+
<td class="context-item-value"> [R] </td>
|
|
172
|
+
|
|
173
|
+
<td class="context-item-desc"></td>
|
|
174
|
+
</tr>
|
|
175
|
+
|
|
176
|
+
</table>
|
|
177
|
+
</div>
|
|
178
|
+
</div>
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
<!-- if method_list -->
|
|
182
|
+
|
|
183
|
+
<div id="methods">
|
|
184
|
+
|
|
185
|
+
<h3 class="section-bar">Public Class methods</h3>
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
<div id="method-M000801" class="method-detail">
|
|
189
|
+
<a name="M000801"></a>
|
|
190
|
+
|
|
191
|
+
<div class="method-heading">
|
|
192
|
+
|
|
193
|
+
<a href="#M000801" class="method-signature">
|
|
194
|
+
|
|
195
|
+
<span class="method-name">new</span><span class="method-args">(startDate, endDate, resolution, initVal = nil)</span>
|
|
196
|
+
|
|
197
|
+
</a>
|
|
198
|
+
|
|
199
|
+
</div>
|
|
200
|
+
|
|
201
|
+
<div class="method-description">
|
|
202
|
+
|
|
203
|
+
<p>
|
|
204
|
+
Create the scoreboard based on the the given <em>startDate</em>,
|
|
205
|
+
<em>endDate</em> and timing <em>resolution</em>. The resolution must be
|
|
206
|
+
specified in seconds. Optionally you can provide an initial value for the
|
|
207
|
+
scoreboard cells.
|
|
208
|
+
</p>
|
|
209
|
+
|
|
210
|
+
<p><a class="source-toggle" href="#"
|
|
211
|
+
onclick="toggleCode('M000801-source');return false;">[Source]</a></p>
|
|
212
|
+
<div class="method-source-code" id="M000801-source">
|
|
213
|
+
<pre>
|
|
214
|
+
<span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 27</span>
|
|
215
|
+
27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">startDate</span>, <span class="ruby-identifier">endDate</span>, <span class="ruby-identifier">resolution</span>, <span class="ruby-identifier">initVal</span> = <span class="ruby-keyword kw">nil</span>)
|
|
216
|
+
28: <span class="ruby-ivar">@startDate</span> = <span class="ruby-identifier">startDate</span>
|
|
217
|
+
29: <span class="ruby-ivar">@endDate</span> = <span class="ruby-identifier">endDate</span>
|
|
218
|
+
30: <span class="ruby-ivar">@resolution</span> = <span class="ruby-identifier">resolution</span>
|
|
219
|
+
31: <span class="ruby-ivar">@size</span> = ((<span class="ruby-identifier">endDate</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">startDate</span>) <span class="ruby-operator">/</span> <span class="ruby-identifier">resolution</span>).<span class="ruby-identifier">ceil</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
|
|
220
|
+
32: <span class="ruby-identifier">clear</span>(<span class="ruby-identifier">initVal</span>)
|
|
221
|
+
33: <span class="ruby-keyword kw">end</span>
|
|
222
|
+
</pre>
|
|
223
|
+
</div>
|
|
224
|
+
|
|
225
|
+
</div>
|
|
226
|
+
</div>
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
<div id="method-M000807" class="method-detail">
|
|
233
|
+
<a name="M000807"></a>
|
|
234
|
+
|
|
235
|
+
<div class="method-heading">
|
|
236
|
+
|
|
237
|
+
<a href="#M000807" class="method-signature">
|
|
238
|
+
|
|
239
|
+
<span class="method-name">[]</span><span class="method-args">(idx)</span>
|
|
240
|
+
|
|
241
|
+
</a>
|
|
242
|
+
|
|
243
|
+
</div>
|
|
244
|
+
|
|
245
|
+
<div class="method-description">
|
|
246
|
+
|
|
247
|
+
<p>
|
|
248
|
+
Get the value at index <em>idx</em>.
|
|
249
|
+
</p>
|
|
250
|
+
|
|
251
|
+
<p><a class="source-toggle" href="#"
|
|
252
|
+
onclick="toggleCode('M000807-source');return false;">[Source]</a></p>
|
|
253
|
+
<div class="method-source-code" id="M000807-source">
|
|
254
|
+
<pre>
|
|
255
|
+
<span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 78</span>
|
|
256
|
+
78: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">idx</span>)
|
|
257
|
+
79: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>]
|
|
258
|
+
80: <span class="ruby-keyword kw">end</span>
|
|
259
|
+
</pre>
|
|
260
|
+
</div>
|
|
261
|
+
|
|
262
|
+
</div>
|
|
263
|
+
</div>
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
<div id="method-M000808" class="method-detail">
|
|
267
|
+
<a name="M000808"></a>
|
|
268
|
+
|
|
269
|
+
<div class="method-heading">
|
|
270
|
+
|
|
271
|
+
<a href="#M000808" class="method-signature">
|
|
272
|
+
|
|
273
|
+
<span class="method-name">[]=</span><span class="method-args">(idx, value)</span>
|
|
274
|
+
|
|
275
|
+
</a>
|
|
276
|
+
|
|
277
|
+
</div>
|
|
278
|
+
|
|
279
|
+
<div class="method-description">
|
|
280
|
+
|
|
281
|
+
<p>
|
|
282
|
+
Set the <em>value</em> at index <em>idx</em>.
|
|
283
|
+
</p>
|
|
284
|
+
|
|
285
|
+
<p><a class="source-toggle" href="#"
|
|
286
|
+
onclick="toggleCode('M000808-source');return false;">[Source]</a></p>
|
|
287
|
+
<div class="method-source-code" id="M000808-source">
|
|
288
|
+
<pre>
|
|
289
|
+
<span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 83</span>
|
|
290
|
+
83: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">value</span>)
|
|
291
|
+
84: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-identifier">value</span>
|
|
292
|
+
85: <span class="ruby-keyword kw">end</span>
|
|
293
|
+
</pre>
|
|
294
|
+
</div>
|
|
295
|
+
|
|
296
|
+
</div>
|
|
297
|
+
</div>
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
<div id="method-M000802" class="method-detail">
|
|
301
|
+
<a name="M000802"></a>
|
|
302
|
+
|
|
303
|
+
<div class="method-heading">
|
|
304
|
+
|
|
305
|
+
<a href="#M000802" class="method-signature">
|
|
306
|
+
|
|
307
|
+
<span class="method-name">clear</span><span class="method-args">(initVal = nil)</span>
|
|
308
|
+
|
|
309
|
+
</a>
|
|
310
|
+
|
|
311
|
+
</div>
|
|
312
|
+
|
|
313
|
+
<div class="method-description">
|
|
314
|
+
|
|
315
|
+
<p>
|
|
316
|
+
Erase all values and set them to nil or a new initial value.
|
|
317
|
+
</p>
|
|
318
|
+
|
|
319
|
+
<p><a class="source-toggle" href="#"
|
|
320
|
+
onclick="toggleCode('M000802-source');return false;">[Source]</a></p>
|
|
321
|
+
<div class="method-source-code" id="M000802-source">
|
|
322
|
+
<pre>
|
|
323
|
+
<span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 36</span>
|
|
324
|
+
36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clear</span>(<span class="ruby-identifier">initVal</span> = <span class="ruby-keyword kw">nil</span>)
|
|
325
|
+
37: <span class="ruby-ivar">@sb</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@size</span>, <span class="ruby-identifier">initVal</span>)
|
|
326
|
+
38: <span class="ruby-keyword kw">end</span>
|
|
327
|
+
</pre>
|
|
328
|
+
</div>
|
|
329
|
+
|
|
330
|
+
</div>
|
|
331
|
+
</div>
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
<div id="method-M000806" class="method-detail">
|
|
335
|
+
<a name="M000806"></a>
|
|
336
|
+
|
|
337
|
+
<div class="method-heading">
|
|
338
|
+
|
|
339
|
+
<a href="#M000806" class="method-signature">
|
|
340
|
+
|
|
341
|
+
<span class="method-name">collect!</span><span class="method-args">() {|x| ...}</span>
|
|
342
|
+
|
|
343
|
+
</a>
|
|
344
|
+
|
|
345
|
+
</div>
|
|
346
|
+
|
|
347
|
+
<div class="method-description">
|
|
348
|
+
|
|
349
|
+
<p>
|
|
350
|
+
Assign result of block to each element.
|
|
351
|
+
</p>
|
|
352
|
+
|
|
353
|
+
<p><a class="source-toggle" href="#"
|
|
354
|
+
onclick="toggleCode('M000806-source');return false;">[Source]</a></p>
|
|
355
|
+
<div class="method-source-code" id="M000806-source">
|
|
356
|
+
<pre>
|
|
357
|
+
<span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 73</span>
|
|
358
|
+
73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collect!</span>
|
|
359
|
+
74: <span class="ruby-ivar">@sb</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">x</span> }
|
|
360
|
+
75: <span class="ruby-keyword kw">end</span>
|
|
361
|
+
</pre>
|
|
362
|
+
</div>
|
|
363
|
+
|
|
364
|
+
</div>
|
|
365
|
+
</div>
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
<div id="method-M000811" class="method-detail">
|
|
369
|
+
<a name="M000811"></a>
|
|
370
|
+
|
|
371
|
+
<div class="method-heading">
|
|
372
|
+
|
|
373
|
+
<a href="#M000811" class="method-signature">
|
|
374
|
+
|
|
375
|
+
<span class="method-name">collectTimeOffIntervals</span><span class="method-args">(iv, minDuration, targets)</span>
|
|
376
|
+
|
|
377
|
+
</a>
|
|
378
|
+
|
|
379
|
+
</div>
|
|
380
|
+
|
|
381
|
+
<div class="method-description">
|
|
382
|
+
|
|
383
|
+
<p>
|
|
384
|
+
Return a list of intervals that describe a contiguous part of the
|
|
385
|
+
scoreboard that contains only the values listed in <em>targets</em>. The
|
|
386
|
+
intervals must be within the interval described by <em>iv</em> and must be
|
|
387
|
+
at least <em>minDuration</em> long. The return value is an Array of [
|
|
388
|
+
start, end ] <a href="TjTime.html">TjTime</a> values.
|
|
389
|
+
</p>
|
|
390
|
+
|
|
391
|
+
<p><a class="source-toggle" href="#"
|
|
392
|
+
onclick="toggleCode('M000811-source');return false;">[Source]</a></p>
|
|
393
|
+
<div class="method-source-code" id="M000811-source">
|
|
394
|
+
<pre>
|
|
395
|
+
<span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 102</span>
|
|
396
|
+
102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collectTimeOffIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>, <span class="ruby-identifier">targets</span>)
|
|
397
|
+
103: <span class="ruby-comment cmt"># Determine the start and stop index for the scoreboard search.</span>
|
|
398
|
+
104: <span class="ruby-identifier">startIdx</span> = <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">true</span>)
|
|
399
|
+
105: <span class="ruby-identifier">endIdx</span> = <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">true</span>)
|
|
400
|
+
106:
|
|
401
|
+
107: <span class="ruby-comment cmt"># Convert the minDuration into number of slots.</span>
|
|
402
|
+
108: <span class="ruby-identifier">minDuration</span> <span class="ruby-operator">/=</span> <span class="ruby-ivar">@resolution</span>
|
|
403
|
+
109: <span class="ruby-identifier">minDuration</span> = <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minDuration</span> <span class="ruby-operator"><=</span> <span class="ruby-value">0</span>
|
|
404
|
+
110:
|
|
405
|
+
111: <span class="ruby-comment cmt"># This is collects the resulting intervals.</span>
|
|
406
|
+
112: <span class="ruby-identifier">intervals</span> = []
|
|
407
|
+
113: <span class="ruby-comment cmt"># The duration counter for the currently analyzed interval and the start</span>
|
|
408
|
+
114: <span class="ruby-comment cmt"># index.</span>
|
|
409
|
+
115: <span class="ruby-identifier">duration</span> = <span class="ruby-identifier">start</span> = <span class="ruby-value">0</span>
|
|
410
|
+
116:
|
|
411
|
+
117: <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">endIdx</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
|
|
412
|
+
118: <span class="ruby-comment cmt"># Check whether the scoreboard slot matches any of the target values.</span>
|
|
413
|
+
119: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">targets</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>])
|
|
414
|
+
120: <span class="ruby-comment cmt"># If so, save the start position if this is the first slot and start</span>
|
|
415
|
+
121: <span class="ruby-comment cmt"># counting the matching slots.</span>
|
|
416
|
+
122: <span class="ruby-identifier">start</span> = <span class="ruby-identifier">idx</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">start</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
417
|
+
123: <span class="ruby-identifier">duration</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
418
|
+
124: <span class="ruby-keyword kw">else</span>
|
|
419
|
+
125: <span class="ruby-comment cmt"># If we don't have a match, check if we've just finished a matching</span>
|
|
420
|
+
126: <span class="ruby-comment cmt"># interval.</span>
|
|
421
|
+
127: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">duration</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
422
|
+
128: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">duration</span> <span class="ruby-operator">>=</span> <span class="ruby-identifier">minDuration</span>
|
|
423
|
+
129: <span class="ruby-identifier">intervals</span> <span class="ruby-operator"><<</span> [ <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">start</span>), <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>) ]
|
|
424
|
+
130: <span class="ruby-keyword kw">end</span>
|
|
425
|
+
131: <span class="ruby-identifier">duration</span> = <span class="ruby-identifier">start</span> = <span class="ruby-value">0</span>
|
|
426
|
+
132: <span class="ruby-keyword kw">end</span>
|
|
427
|
+
133: <span class="ruby-keyword kw">end</span>
|
|
428
|
+
134: <span class="ruby-keyword kw">end</span>
|
|
429
|
+
135: <span class="ruby-identifier">intervals</span>
|
|
430
|
+
136: <span class="ruby-keyword kw">end</span>
|
|
431
|
+
</pre>
|
|
432
|
+
</div>
|
|
433
|
+
|
|
434
|
+
</div>
|
|
435
|
+
</div>
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
<div id="method-M000804" class="method-detail">
|
|
439
|
+
<a name="M000804"></a>
|
|
440
|
+
|
|
441
|
+
<div class="method-heading">
|
|
442
|
+
|
|
443
|
+
<a href="#M000804" class="method-signature">
|
|
444
|
+
|
|
445
|
+
<span class="method-name">dateToIdx</span><span class="method-args">(date, forceIntoProject = false)</span>
|
|
446
|
+
|
|
447
|
+
</a>
|
|
448
|
+
|
|
449
|
+
</div>
|
|
450
|
+
|
|
451
|
+
<div class="method-description">
|
|
452
|
+
|
|
453
|
+
<p>
|
|
454
|
+
Converts a date to the corresponding scoreboard index. You can optionally
|
|
455
|
+
sanitize the <em>date</em> by forcing it into the project time span.
|
|
456
|
+
</p>
|
|
457
|
+
|
|
458
|
+
<p><a class="source-toggle" href="#"
|
|
459
|
+
onclick="toggleCode('M000804-source');return false;">[Source]</a></p>
|
|
460
|
+
<div class="method-source-code" id="M000804-source">
|
|
461
|
+
<pre>
|
|
462
|
+
<span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 54</span>
|
|
463
|
+
54: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">forceIntoProject</span> = <span class="ruby-keyword kw">false</span>)
|
|
464
|
+
55: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">forceIntoProject</span>
|
|
465
|
+
56: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">date</span> <span class="ruby-operator"><</span> <span class="ruby-ivar">@startDate</span>
|
|
466
|
+
57: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">date</span> <span class="ruby-operator">>=</span> <span class="ruby-ivar">@endDate</span>
|
|
467
|
+
58: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">date</span> <span class="ruby-operator"><</span> <span class="ruby-ivar">@startDate</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">date</span> <span class="ruby-operator">></span> <span class="ruby-ivar">@endDate</span>
|
|
468
|
+
59: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Date #{date} is out of project time range "</span> <span class="ruby-operator">+</span>
|
|
469
|
+
60: <span class="ruby-node">"(#{@startDate} - #{@endDate})"</span>
|
|
470
|
+
61: <span class="ruby-keyword kw">end</span>
|
|
471
|
+
62: ((<span class="ruby-identifier">date</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@startDate</span>) <span class="ruby-operator">/</span> <span class="ruby-ivar">@resolution</span>).<span class="ruby-identifier">to_i</span>
|
|
472
|
+
63: <span class="ruby-keyword kw">end</span>
|
|
473
|
+
</pre>
|
|
474
|
+
</div>
|
|
475
|
+
|
|
476
|
+
</div>
|
|
477
|
+
</div>
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
<div id="method-M000805" class="method-detail">
|
|
481
|
+
<a name="M000805"></a>
|
|
482
|
+
|
|
483
|
+
<div class="method-heading">
|
|
484
|
+
|
|
485
|
+
<a href="#M000805" class="method-signature">
|
|
486
|
+
|
|
487
|
+
<span class="method-name">each</span><span class="method-args">() {|entry| ...}</span>
|
|
488
|
+
|
|
489
|
+
</a>
|
|
490
|
+
|
|
491
|
+
</div>
|
|
492
|
+
|
|
493
|
+
<div class="method-description">
|
|
494
|
+
|
|
495
|
+
<p>
|
|
496
|
+
Iterate over all scoreboard entries.
|
|
497
|
+
</p>
|
|
498
|
+
|
|
499
|
+
<p><a class="source-toggle" href="#"
|
|
500
|
+
onclick="toggleCode('M000805-source');return false;">[Source]</a></p>
|
|
501
|
+
<div class="method-source-code" id="M000805-source">
|
|
502
|
+
<pre>
|
|
503
|
+
<span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 66</span>
|
|
504
|
+
66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
|
|
505
|
+
67: <span class="ruby-ivar">@sb</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
|
|
506
|
+
68: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">entry</span>
|
|
507
|
+
69: <span class="ruby-keyword kw">end</span>
|
|
508
|
+
70: <span class="ruby-keyword kw">end</span>
|
|
509
|
+
</pre>
|
|
510
|
+
</div>
|
|
511
|
+
|
|
512
|
+
</div>
|
|
513
|
+
</div>
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
<div id="method-M000809" class="method-detail">
|
|
517
|
+
<a name="M000809"></a>
|
|
518
|
+
|
|
519
|
+
<div class="method-heading">
|
|
520
|
+
|
|
521
|
+
<a href="#M000809" class="method-signature">
|
|
522
|
+
|
|
523
|
+
<span class="method-name">get</span><span class="method-args">(date)</span>
|
|
524
|
+
|
|
525
|
+
</a>
|
|
526
|
+
|
|
527
|
+
</div>
|
|
528
|
+
|
|
529
|
+
<div class="method-description">
|
|
530
|
+
|
|
531
|
+
<p>
|
|
532
|
+
Get the value corresponding to <em>date</em>.
|
|
533
|
+
</p>
|
|
534
|
+
|
|
535
|
+
<p><a class="source-toggle" href="#"
|
|
536
|
+
onclick="toggleCode('M000809-source');return false;">[Source]</a></p>
|
|
537
|
+
<div class="method-source-code" id="M000809-source">
|
|
538
|
+
<pre>
|
|
539
|
+
<span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 88</span>
|
|
540
|
+
88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">date</span>)
|
|
541
|
+
89: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>)]
|
|
542
|
+
90: <span class="ruby-keyword kw">end</span>
|
|
543
|
+
</pre>
|
|
544
|
+
</div>
|
|
545
|
+
|
|
546
|
+
</div>
|
|
547
|
+
</div>
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
<div id="method-M000803" class="method-detail">
|
|
551
|
+
<a name="M000803"></a>
|
|
552
|
+
|
|
553
|
+
<div class="method-heading">
|
|
554
|
+
|
|
555
|
+
<a href="#M000803" class="method-signature">
|
|
556
|
+
|
|
557
|
+
<span class="method-name">idxToDate</span><span class="method-args">(idx, forceIntoProject = false)</span>
|
|
558
|
+
|
|
559
|
+
</a>
|
|
560
|
+
|
|
561
|
+
</div>
|
|
562
|
+
|
|
563
|
+
<div class="method-description">
|
|
564
|
+
|
|
565
|
+
<p>
|
|
566
|
+
Converts a scroreboard index to the corresponding date. You can optionally
|
|
567
|
+
sanitize the <em>idx</em> value by forcing it into the project range.
|
|
568
|
+
</p>
|
|
569
|
+
|
|
570
|
+
<p><a class="source-toggle" href="#"
|
|
571
|
+
onclick="toggleCode('M000803-source');return false;">[Source]</a></p>
|
|
572
|
+
<div class="method-source-code" id="M000803-source">
|
|
573
|
+
<pre>
|
|
574
|
+
<span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 42</span>
|
|
575
|
+
42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">forceIntoProject</span> = <span class="ruby-keyword kw">false</span>)
|
|
576
|
+
43: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">forceIntoProject</span>
|
|
577
|
+
44: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@startDate</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">kdx</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
|
|
578
|
+
45: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@endDate</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">>=</span> <span class="ruby-ivar">@size</span>
|
|
579
|
+
46: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">>=</span> <span class="ruby-ivar">@size</span>
|
|
580
|
+
47: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Index #{idx} is out of scoreboard range (#{size - 1})"</span>
|
|
581
|
+
48: <span class="ruby-keyword kw">end</span>
|
|
582
|
+
49: <span class="ruby-ivar">@startDate</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">*</span> <span class="ruby-ivar">@resolution</span>
|
|
583
|
+
50: <span class="ruby-keyword kw">end</span>
|
|
584
|
+
</pre>
|
|
585
|
+
</div>
|
|
586
|
+
|
|
587
|
+
</div>
|
|
588
|
+
</div>
|
|
589
|
+
|
|
590
|
+
|
|
591
|
+
<div id="method-M000810" class="method-detail">
|
|
592
|
+
<a name="M000810"></a>
|
|
593
|
+
|
|
594
|
+
<div class="method-heading">
|
|
595
|
+
|
|
596
|
+
<a href="#M000810" class="method-signature">
|
|
597
|
+
|
|
598
|
+
<span class="method-name">set</span><span class="method-args">(date, value)</span>
|
|
599
|
+
|
|
600
|
+
</a>
|
|
601
|
+
|
|
602
|
+
</div>
|
|
603
|
+
|
|
604
|
+
<div class="method-description">
|
|
605
|
+
|
|
606
|
+
<p>
|
|
607
|
+
Set the <em>value</em> corresponding to <em>date</em>.
|
|
608
|
+
</p>
|
|
609
|
+
|
|
610
|
+
<p><a class="source-toggle" href="#"
|
|
611
|
+
onclick="toggleCode('M000810-source');return false;">[Source]</a></p>
|
|
612
|
+
<div class="method-source-code" id="M000810-source">
|
|
613
|
+
<pre>
|
|
614
|
+
<span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 93</span>
|
|
615
|
+
93: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">value</span>)
|
|
616
|
+
94: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>)] = <span class="ruby-identifier">value</span>
|
|
617
|
+
95: <span class="ruby-keyword kw">end</span>
|
|
618
|
+
</pre>
|
|
619
|
+
</div>
|
|
620
|
+
|
|
621
|
+
</div>
|
|
622
|
+
</div>
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
</div>
|
|
627
|
+
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
</div>
|
|
632
|
+
|
|
633
|
+
<div id="validator-badges">
|
|
634
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
635
|
+
</div>
|
|
636
|
+
|
|
637
|
+
</body>
|
|
638
|
+
</html>
|