taskjuggler 0.0.7 → 0.0.8
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 +119 -0
- data/benchmarks/allocatedSlots.tjp +1602 -0
- data/benchmarks/booking.tjp +40 -30
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/css/tjmanual.css +0 -0
- data/{test/TestSuite/Scheduler/Correct → benchmarks}/css/tjreport.css +1 -0
- data/benchmarks/gantt.tjp +57 -0
- data/benchmarks/htmltaskreport.tjp +26 -1
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/details.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-green.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-red.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-yellow.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resource.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resourcegroup.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/task.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/taskgroup.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-down.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-flat.png +0 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-up.png +0 -0
- data/benchmarks/profile.clt +36082 -0
- data/benchmarks/profile.html +58182 -0
- data/benchmarks/runbench.rb +6 -0
- data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/scripts/wz_tooltip.js +0 -0
- data/doc/AppConfig.html +85 -37
- data/doc/Arguments.html +11 -1
- data/doc/CHANGELOG.html +131 -2
- data/doc/COPYING.html +11 -1
- data/doc/Object.html +12 -3
- data/doc/README.html +11 -1
- data/doc/RuntimeConfig.html +11 -1
- data/doc/String.html +11 -1
- data/doc/StringIO.html +11 -1
- data/doc/TaskJuggler.html +250 -219
- data/doc/TaskJuggler/Account.html +11 -1
- data/doc/TaskJuggler/AccountAttribute.html +11 -1
- data/doc/TaskJuggler/AccountScenario.html +11 -1
- data/doc/TaskJuggler/Allocation.html +11 -1
- data/doc/TaskJuggler/AllocationAttribute.html +11 -1
- data/doc/TaskJuggler/AttributeBase.html +11 -1
- data/doc/TaskJuggler/AttributeDefinition.html +11 -1
- data/doc/TaskJuggler/BatchProcessor.html +11 -1
- data/doc/TaskJuggler/Booking.html +11 -1
- data/doc/TaskJuggler/BookingListAttribute.html +11 -1
- data/doc/TaskJuggler/BooleanAttribute.html +11 -1
- data/doc/TaskJuggler/CSVFile.html +12 -2
- data/doc/TaskJuggler/CellSettingPattern.html +11 -1
- data/doc/TaskJuggler/CellSettingPatternList.html +11 -1
- data/doc/TaskJuggler/Charge.html +11 -1
- data/doc/TaskJuggler/ChargeListAttribute.html +11 -1
- data/doc/TaskJuggler/ChargeSet.html +11 -1
- data/doc/TaskJuggler/ChargeSetListAttribute.html +11 -1
- data/doc/TaskJuggler/CollisionDetector.html +1063 -0
- data/doc/TaskJuggler/ColumnListAttribute.html +11 -1
- data/doc/TaskJuggler/ColumnTable.html +11 -1
- data/doc/TaskJuggler/Daemon.html +11 -1
- data/doc/TaskJuggler/{OnShiftCache.html → DataCache.html} +127 -139
- data/doc/TaskJuggler/DataCacheEntry.html +711 -0
- data/doc/TaskJuggler/DateAttribute.html +11 -1
- data/doc/TaskJuggler/DefinitionListAttribute.html +11 -1
- data/doc/TaskJuggler/DependencyListAttribute.html +11 -1
- data/doc/TaskJuggler/DurationAttribute.html +16 -5
- data/doc/TaskJuggler/FileList.html +11 -1
- data/doc/TaskJuggler/FileRecord.html +11 -1
- data/doc/TaskJuggler/FixnumAttribute.html +19 -9
- data/doc/TaskJuggler/FlagListAttribute.html +29 -19
- data/doc/TaskJuggler/FloatAttribute.html +23 -13
- data/doc/TaskJuggler/FormatListAttribute.html +19 -9
- data/doc/TaskJuggler/GanttChart.html +94 -133
- data/doc/TaskJuggler/GanttContainer.html +11 -1
- data/doc/TaskJuggler/GanttHeader.html +11 -1
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +11 -1
- data/doc/TaskJuggler/GanttLine.html +11 -1
- data/doc/TaskJuggler/GanttLoadStack.html +11 -1
- data/doc/TaskJuggler/GanttMilestone.html +11 -1
- data/doc/TaskJuggler/GanttRouter.html +247 -596
- data/doc/TaskJuggler/GanttTaskBar.html +11 -1
- data/doc/TaskJuggler/HTMLDocument.html +11 -1
- data/doc/TaskJuggler/HTMLGraphics.html +11 -1
- data/doc/TaskJuggler/Interval.html +11 -1
- data/doc/TaskJuggler/IntervalListAttribute.html +33 -23
- data/doc/TaskJuggler/JobInfo.html +11 -1
- data/doc/TaskJuggler/Journal.html +11 -1
- data/doc/TaskJuggler/JournalEntry.html +11 -1
- data/doc/TaskJuggler/JournalEntryList.html +11 -1
- data/doc/TaskJuggler/KeywordArray.html +11 -1
- data/doc/TaskJuggler/KeywordDocumentation.html +16 -6
- data/doc/TaskJuggler/Limits.html +11 -1
- data/doc/TaskJuggler/Limits/Limit.html +11 -1
- data/doc/TaskJuggler/LimitsAttribute.html +24 -14
- data/doc/TaskJuggler/ListAttributeBase.html +11 -1
- data/doc/TaskJuggler/Log.html +11 -1
- data/doc/TaskJuggler/LogFile.html +11 -1
- data/doc/TaskJuggler/LogicalAttribute.html +11 -1
- data/doc/TaskJuggler/LogicalExpression.html +11 -1
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +19 -9
- data/doc/TaskJuggler/LogicalFlag.html +11 -1
- data/doc/TaskJuggler/LogicalFunction.html +11 -1
- data/doc/TaskJuggler/LogicalOperation.html +11 -1
- data/doc/TaskJuggler/Macro.html +11 -1
- data/doc/TaskJuggler/MacroTable.html +11 -1
- data/doc/TaskJuggler/ManagerResponsibilities.html +11 -1
- data/doc/TaskJuggler/ManagerStatusRecord.html +11 -1
- data/doc/TaskJuggler/Message.html +11 -1
- data/doc/TaskJuggler/MessageHandler.html +11 -1
- data/doc/TaskJuggler/Navigator.html +12 -2
- data/doc/TaskJuggler/NavigatorElement.html +11 -1
- data/doc/TaskJuggler/NikuProject.html +11 -1
- data/doc/TaskJuggler/NikuReport.html +11 -1
- data/doc/TaskJuggler/NikuResource.html +11 -1
- data/doc/TaskJuggler/NodeListAttribute.html +17 -7
- data/doc/TaskJuggler/PlaceHolderCell.html +722 -0
- data/doc/TaskJuggler/ProcessIntercom.html +11 -1
- data/doc/TaskJuggler/ProcessIntercomIface.html +11 -1
- data/doc/TaskJuggler/Project.html +587 -500
- data/doc/TaskJuggler/ProjectBroker.html +11 -1
- data/doc/TaskJuggler/ProjectBrokerIface.html +11 -1
- data/doc/TaskJuggler/ProjectFileParser.html +205 -192
- data/doc/TaskJuggler/ProjectFileScanner.html +230 -207
- data/doc/TaskJuggler/ProjectRecord.html +11 -1
- data/doc/TaskJuggler/ProjectServer.html +11 -1
- data/doc/TaskJuggler/ProjectServerIface.html +11 -1
- data/doc/TaskJuggler/PropertyAttribute.html +19 -9
- data/doc/TaskJuggler/PropertyList.html +95 -83
- data/doc/TaskJuggler/PropertySet.html +11 -1
- data/doc/TaskJuggler/PropertyTreeNode.html +11 -1
- data/doc/TaskJuggler/Query.html +234 -232
- data/doc/TaskJuggler/RTFHandlers.html +11 -1
- data/doc/TaskJuggler/RTFNavigator.html +11 -1
- data/doc/TaskJuggler/RTFQuery.html +11 -1
- data/doc/TaskJuggler/RTFReport.html +11 -1
- data/doc/TaskJuggler/RTFReportLink.html +11 -1
- data/doc/TaskJuggler/RTFWithQuerySupport.html +11 -1
- data/doc/TaskJuggler/RealFormat.html +12 -2
- data/doc/TaskJuggler/RealFormatAttribute.html +15 -5
- data/doc/TaskJuggler/ReferenceAttribute.html +38 -28
- data/doc/TaskJuggler/Report.html +96 -113
- data/doc/TaskJuggler/ReportBase.html +161 -152
- data/doc/TaskJuggler/ReportContext.html +11 -1
- data/doc/TaskJuggler/ReportServer.html +59 -48
- data/doc/TaskJuggler/ReportServerIface.html +51 -41
- data/doc/TaskJuggler/ReportServerRecord.html +11 -1
- data/doc/TaskJuggler/ReportServlet.html +11 -1
- data/doc/TaskJuggler/ReportTable.html +46 -25
- data/doc/TaskJuggler/ReportTableCell.html +296 -275
- data/doc/TaskJuggler/ReportTableColumn.html +14 -4
- data/doc/TaskJuggler/ReportTableLegend.html +11 -1
- data/doc/TaskJuggler/ReportTableLine.html +19 -7
- data/doc/TaskJuggler/Resource.html +12 -2
- data/doc/TaskJuggler/ResourceListAttribute.html +40 -30
- data/doc/TaskJuggler/ResourceListRE.html +11 -1
- data/doc/TaskJuggler/ResourceScenario.html +708 -565
- data/doc/TaskJuggler/RichText.html +54 -36
- data/doc/TaskJuggler/RichTextAttribute.html +31 -21
- data/doc/TaskJuggler/RichTextDocument.html +11 -1
- data/doc/TaskJuggler/RichTextElement.html +11 -1
- data/doc/TaskJuggler/RichTextFunctionExample.html +11 -1
- data/doc/TaskJuggler/RichTextFunctionHandler.html +11 -1
- data/doc/TaskJuggler/RichTextImage.html +11 -1
- data/doc/TaskJuggler/RichTextIntermediate.html +81 -71
- data/doc/TaskJuggler/RichTextParser.html +88 -33
- data/doc/TaskJuggler/RichTextScanner.html +45 -35
- data/doc/TaskJuggler/RichTextSnip.html +11 -1
- data/doc/TaskJuggler/RichTextSyntaxRules.html +436 -389
- data/doc/TaskJuggler/Scenario.html +11 -1
- data/doc/TaskJuggler/ScenarioData.html +11 -1
- data/doc/TaskJuggler/ScenarioListAttribute.html +23 -13
- data/doc/TaskJuggler/Scoreboard.html +92 -73
- data/doc/TaskJuggler/SheetHandlerBase.html +11 -1
- data/doc/TaskJuggler/SheetReceiver.html +11 -1
- data/doc/TaskJuggler/SheetSender.html +11 -1
- data/doc/TaskJuggler/Shift.html +11 -1
- data/doc/TaskJuggler/ShiftAssignment.html +11 -1
- data/doc/TaskJuggler/ShiftAssignments.html +11 -1
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +24 -14
- data/doc/TaskJuggler/ShiftScenario.html +11 -1
- data/doc/TaskJuggler/SimpleQueryExpander.html +11 -1
- data/doc/TaskJuggler/SortListAttribute.html +21 -11
- data/doc/TaskJuggler/SourceFileInfo.html +11 -1
- data/doc/TaskJuggler/StatusSheetReceiver.html +11 -1
- data/doc/TaskJuggler/StatusSheetReport.html +11 -1
- data/doc/TaskJuggler/StatusSheetSender.html +112 -11
- data/doc/TaskJuggler/StringAttribute.html +23 -13
- data/doc/TaskJuggler/SymbolAttribute.html +19 -9
- data/doc/TaskJuggler/SyntaxReference.html +80 -71
- data/doc/TaskJuggler/TOCEntry.html +11 -1
- data/doc/TaskJuggler/TSResourceRecord.html +11 -1
- data/doc/TaskJuggler/TSTaskRecord.html +11 -1
- data/doc/TaskJuggler/TableColumnDefinition.html +11 -1
- data/doc/TaskJuggler/TableOfContents.html +11 -1
- data/doc/TaskJuggler/TableReport.html +422 -411
- data/doc/TaskJuggler/Task.html +11 -1
- data/doc/TaskJuggler/TaskDependency.html +11 -1
- data/doc/TaskJuggler/TaskListAttribute.html +33 -23
- data/doc/TaskJuggler/TaskListRE.html +11 -1
- data/doc/TaskJuggler/TaskScenario.html +2007 -1919
- data/doc/TaskJuggler/TextFormatter.html +11 -1
- data/doc/TaskJuggler/TextParser.html +421 -612
- data/doc/TaskJuggler/TextParser/Pattern.html +410 -211
- data/doc/TaskJuggler/TextParser/Rule.html +224 -152
- data/doc/TaskJuggler/TextParser/StackElement.html +190 -28
- data/doc/TaskJuggler/TextParser/State.html +989 -0
- data/doc/TaskJuggler/TextParser/StateTransition.html +782 -0
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +25 -14
- data/doc/TaskJuggler/TextParser/TokenDoc.html +11 -1
- data/doc/TaskJuggler/TextReport.html +11 -1
- data/doc/TaskJuggler/TextScanner.html +285 -273
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +17 -7
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +24 -14
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +11 -1
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +64 -52
- data/doc/TaskJuggler/TimeSheet.html +11 -1
- data/doc/TaskJuggler/TimeSheetReceiver.html +11 -1
- data/doc/TaskJuggler/TimeSheetRecord.html +11 -1
- data/doc/TaskJuggler/TimeSheetReport.html +11 -1
- data/doc/TaskJuggler/TimeSheetSender.html +11 -1
- data/doc/TaskJuggler/TimeSheetSummary.html +11 -1
- data/doc/TaskJuggler/TimeSheets.html +11 -1
- data/doc/TaskJuggler/Tj3AppBase.html +11 -1
- data/doc/TaskJuggler/Tj3Client.html +11 -1
- data/doc/TaskJuggler/Tj3Daemon.html +11 -1
- data/doc/TaskJuggler/Tj3SheetAppBase.html +11 -1
- data/doc/TaskJuggler/Tj3SsReceiver.html +11 -1
- data/doc/TaskJuggler/Tj3SsSender.html +11 -1
- data/doc/TaskJuggler/Tj3TsReceiver.html +11 -1
- data/doc/TaskJuggler/Tj3TsSender.html +11 -1
- data/doc/TaskJuggler/Tj3TsSummary.html +11 -1
- data/doc/TaskJuggler/TjException.html +11 -1
- data/doc/TaskJuggler/TjTime.html +474 -324
- data/doc/TaskJuggler/TjpExample.html +11 -1
- data/doc/TaskJuggler/TjpExportRE.html +11 -1
- data/doc/TaskJuggler/TjpSyntaxRules.html +3731 -3662
- data/doc/TaskJuggler/URLParameter.html +11 -1
- data/doc/TaskJuggler/UserManual.html +11 -1
- data/doc/TaskJuggler/VimSyntax.html +11 -1
- data/doc/TaskJuggler/WebServer.html +11 -1
- data/doc/TaskJuggler/WorkingHours.html +295 -221
- data/doc/TaskJuggler/WorkingHoursAttribute.html +11 -1
- data/doc/TaskJuggler/XMLBlob.html +11 -1
- data/doc/TaskJuggler/XMLComment.html +11 -1
- data/doc/TaskJuggler/XMLDocument.html +11 -1
- data/doc/TaskJuggler/XMLElement.html +11 -1
- data/doc/TaskJuggler/XMLNamedText.html +11 -1
- data/doc/TaskJuggler/XMLText.html +11 -1
- data/doc/index.html +694 -624
- data/doc/lib/AppConfig_rb.html +1 -1
- data/doc/lib/Attributes_rb.html +1 -1
- data/doc/lib/Booking_rb.html +1 -1
- data/doc/lib/DataCache_rb.html +69 -0
- data/doc/lib/KeywordDocumentation_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 +1 -1
- data/doc/lib/PropertyList_rb.html +1 -1
- data/doc/lib/Query_rb.html +1 -1
- 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/RichTextParser_rb.html +1 -1
- data/doc/lib/RichTextScanner_rb.html +1 -1
- data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
- data/doc/lib/RichText_rb.html +1 -1
- data/doc/lib/Scoreboard_rb.html +1 -1
- data/doc/lib/StatusSheetSender_rb.html +1 -1
- data/doc/lib/SyntaxReference_rb.html +1 -1
- data/doc/lib/TaskJuggler_rb.html +1 -1
- data/doc/lib/TaskScenario_rb.html +3 -1
- data/doc/lib/TextParser/Pattern_rb.html +3 -1
- data/doc/lib/TextParser/Rule_rb.html +3 -1
- data/doc/lib/TextParser/StackElement_rb.html +3 -1
- data/doc/lib/TextParser/State_rb.html +65 -0
- data/doc/lib/TextParser_rb.html +1 -1
- data/doc/lib/TextScanner_rb.html +1 -1
- data/doc/lib/Tj3Config_rb.html +1 -1
- data/doc/lib/TjTime_rb.html +1 -1
- data/doc/lib/TjpSyntaxRules_rb.html +1 -1
- data/doc/lib/WorkingHours_rb.html +3 -1
- data/doc/lib/daemon/ReportServer_rb.html +1 -1
- data/doc/lib/reports/CSVFile_rb.html +1 -1
- data/doc/lib/reports/CollisionDetector_rb.html +67 -0
- data/doc/lib/reports/GanttChart_rb.html +1 -1
- data/doc/lib/reports/GanttRouter_rb.html +3 -1
- data/doc/lib/reports/Navigator_rb.html +1 -1
- data/doc/lib/reports/ReportBase_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/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/TableReport_rb.html +1 -1
- data/doc/lib/taskjuggler3_rb.html +1 -1
- data/examples/tutorial.tjp +1 -2
- data/lib/AppConfig.rb +10 -4
- data/lib/Attributes.rb +4 -4
- data/lib/DataCache.rb +124 -0
- data/lib/KeywordDocumentation.rb +5 -5
- data/lib/Project.rb +54 -10
- data/lib/ProjectFileParser.rb +10 -9
- data/lib/ProjectFileScanner.rb +38 -25
- data/lib/PropertyList.rb +6 -4
- data/lib/Query.rb +0 -8
- data/lib/RealFormat.rb +1 -1
- data/lib/Resource.rb +1 -1
- data/lib/ResourceScenario.rb +96 -31
- data/lib/RichText.rb +17 -5
- data/lib/RichTextParser.rb +22 -9
- data/lib/RichTextScanner.rb +34 -34
- data/lib/RichTextSyntaxRules.rb +41 -36
- data/lib/Scoreboard.rb +16 -7
- data/lib/StatusSheetSender.rb +63 -0
- data/lib/SyntaxReference.rb +9 -10
- data/lib/TaskJuggler.rb +28 -4
- data/lib/TaskScenario.rb +66 -19
- data/lib/TextParser.rb +219 -384
- data/lib/TextParser/Pattern.rb +168 -49
- data/lib/TextParser/Rule.rb +33 -17
- data/lib/TextParser/StackElement.rb +42 -2
- data/lib/TextParser/State.rb +175 -0
- data/lib/TextScanner.rb +19 -15
- data/lib/Tj3Config.rb +1 -1
- data/lib/TjTime.rb +111 -3
- data/lib/TjpSyntaxRules.rb +122 -66
- data/lib/WorkingHours.rb +91 -186
- data/lib/daemon/ReportServer.rb +3 -2
- data/lib/reports/CSVFile.rb +1 -1
- data/lib/reports/CollisionDetector.rb +177 -0
- data/lib/reports/GanttChart.rb +25 -41
- data/lib/reports/GanttRouter.rb +104 -233
- data/lib/reports/Navigator.rb +1 -1
- data/lib/reports/Report.rb +9 -33
- data/lib/reports/ReportBase.rb +0 -1
- data/lib/reports/ReportTable.rb +19 -8
- data/lib/reports/ReportTableCell.rb +61 -25
- data/lib/reports/ReportTableColumn.rb +2 -2
- data/lib/reports/ReportTableLine.rb +4 -2
- data/lib/reports/TableReport.rb +1 -0
- data/lib/taskjuggler3.rb +0 -1
- data/manual/Installation +7 -3
- data/manual/Intro +12 -10
- data/manual/The_TaskJuggler_Syntax +4 -4
- data/test/TestSuite/CSV-Reports/celltext-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/genrefs +1 -1
- data/test/TestSuite/CSV-Reports/resourcereport-Reference.csv +4 -4
- data/test/TestSuite/CSV-Reports/resourcereport_with_tasks-Reference.csv +22 -22
- data/test/TestSuite/CSV-Reports/sortByTree-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/sortBy_duration.down-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/sortBy_effort.up-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/sortBy_plan.start.down-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/taskreport-Reference.csv +14 -14
- data/test/TestSuite/CSV-Reports/taskreport_with_resources-Reference.csv +32 -24
- data/test/TestSuite/CSV-Reports/weekly-Reference.csv +13 -0
- data/test/TestSuite/CSV-Reports/weekly.tjp +9 -0
- data/test/TestSuite/HTML-Reports/css/tjreport.css +7 -2
- data/test/TestSuite/HTML-Reports/depArrows.html +839 -830
- data/test/TestSuite/HTML-Reports/depArrows.tjp +12 -12
- data/test/TestSuite/HTML-Reports/profile.html +37581 -0
- data/test/TestSuite/ReportGenerator/Errors/no_report_defined.tjp +7 -0
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +1 -1
- data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/missing-reports +2 -0
- data/test/TestSuite/StatusSheets/run +2 -0
- data/test/TestSuite/Syntax/Correct/Booking.tjp +13 -5
- data/test/TestSuite/Syntax/Correct/ResourceRoot.tjp +21 -0
- data/test/TestSuite/Syntax/Correct/RollupResource.tjp +21 -0
- data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/include_before_project.tjp +2 -0
- data/test/TestSuite/Syntax/Errors/no_reduce.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
- data/test/TestSuite/TimeSheets/run +1 -1
- data/test/test_CSV-Reports.rb +2 -4
- data/test/test_CollisionDetector.rb +85 -0
- data/test/test_Project.rb +2 -2
- data/test/test_ProjectFileScanner.rb +73 -31
- data/test/test_Query.rb +2 -2
- data/test/test_ReportGenerator.rb +1 -1
- data/test/test_RichText.rb +4 -4
- data/test/test_WorkingHours.rb +150 -11
- metadata +75 -67
- data/test/TestSuite/ReportGenerator/Errors/css/tjreport.css +0 -407
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +0 -26
- data/test/TestSuite/Scheduler/Correct/Allocate.html +0 -3210
- data/test/TestSuite/Scheduler/Correct/Container.html +0 -349
- data/test/TestSuite/Scheduler/Correct/Limits.html +0 -4964
- data/test/TestSuite/Scheduler/Correct/Shift.html +0 -1719
- data/test/TestSuite/Scheduler/Correct/Shift2.html +0 -476
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -66
- data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +0 -1301
- data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +0 -66
- data/test/TestSuite/Scheduler/Errors/css/tjreport.css +0 -407
- 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/scripts/wz_tooltip.js +0 -1301
- data/test/TestSuite/StatusSheets/resrep.tji +0 -7
- data/test/TestSuite/StatusSheets/tj3d.log +0 -312
- data/test/TestSuite/Syntax/Correct/Managers.html +0 -263
- data/test/TestSuite/TimeSheets/acceptable_intervals +0 -1
- data/test/TestSuite/TimeSheets/statussheets.log +0 -1
|
@@ -153,12 +153,18 @@
|
|
|
153
153
|
|
|
154
154
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
155
155
|
|
|
156
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
157
|
+
|
|
156
158
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
157
159
|
|
|
158
160
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
159
161
|
|
|
160
162
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
161
163
|
|
|
164
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
165
|
+
|
|
166
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
167
|
+
|
|
162
168
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
163
169
|
|
|
164
170
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -265,7 +271,7 @@
|
|
|
265
271
|
|
|
266
272
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
267
273
|
|
|
268
|
-
<li><a href="../TaskJuggler/
|
|
274
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
269
275
|
|
|
270
276
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
271
277
|
|
|
@@ -445,6 +451,10 @@
|
|
|
445
451
|
|
|
446
452
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
447
453
|
|
|
454
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
455
|
+
|
|
456
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
457
|
+
|
|
448
458
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
449
459
|
|
|
450
460
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
@@ -151,12 +151,18 @@
|
|
|
151
151
|
|
|
152
152
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
153
153
|
|
|
154
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
155
|
+
|
|
154
156
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
155
157
|
|
|
156
158
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
157
159
|
|
|
158
160
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
159
161
|
|
|
162
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
163
|
+
|
|
164
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
165
|
+
|
|
160
166
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
161
167
|
|
|
162
168
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -263,7 +269,7 @@
|
|
|
263
269
|
|
|
264
270
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
265
271
|
|
|
266
|
-
<li><a href="../TaskJuggler/
|
|
272
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
267
273
|
|
|
268
274
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
269
275
|
|
|
@@ -443,6 +449,10 @@
|
|
|
443
449
|
|
|
444
450
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
445
451
|
|
|
452
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
453
|
+
|
|
454
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
455
|
+
|
|
446
456
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
447
457
|
|
|
448
458
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
data/doc/TaskJuggler/Daemon.html
CHANGED
|
@@ -153,12 +153,18 @@
|
|
|
153
153
|
|
|
154
154
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
155
155
|
|
|
156
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
157
|
+
|
|
156
158
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
157
159
|
|
|
158
160
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
159
161
|
|
|
160
162
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
161
163
|
|
|
164
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
165
|
+
|
|
166
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
167
|
+
|
|
162
168
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
163
169
|
|
|
164
170
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -265,7 +271,7 @@
|
|
|
265
271
|
|
|
266
272
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
267
273
|
|
|
268
|
-
<li><a href="../TaskJuggler/
|
|
274
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
269
275
|
|
|
270
276
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
271
277
|
|
|
@@ -445,6 +451,10 @@
|
|
|
445
451
|
|
|
446
452
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
447
453
|
|
|
454
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
455
|
+
|
|
456
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
457
|
+
|
|
448
458
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
449
459
|
|
|
450
460
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<head>
|
|
6
6
|
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
|
7
7
|
|
|
8
|
-
<title>Class: TaskJuggler::
|
|
8
|
+
<title>Class: TaskJuggler::DataCache</title>
|
|
9
9
|
|
|
10
10
|
<link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
|
|
11
11
|
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
<div class="section-body">
|
|
39
39
|
<ul>
|
|
40
40
|
|
|
41
|
-
<li><a href="../lib/
|
|
42
|
-
class="thickbox" title="lib/
|
|
41
|
+
<li><a href="../lib/DataCache_rb.html?TB_iframe=true&height=550&width=785"
|
|
42
|
+
class="thickbox" title="lib/DataCache.rb">lib/DataCache.rb</a></li>
|
|
43
43
|
|
|
44
44
|
</ul>
|
|
45
45
|
</div>
|
|
@@ -71,15 +71,15 @@
|
|
|
71
71
|
|
|
72
72
|
<li><a href="#method-c-new">::new</a></li>
|
|
73
73
|
|
|
74
|
-
<li><a href="#method-i-
|
|
74
|
+
<li><a href="#method-i-flush">#flush</a></li>
|
|
75
75
|
|
|
76
|
-
<li><a href="#method-i-
|
|
76
|
+
<li><a href="#method-i-load">#load</a></li>
|
|
77
77
|
|
|
78
|
-
<li><a href="#method-i-
|
|
78
|
+
<li><a href="#method-i-resize">#resize</a></li>
|
|
79
79
|
|
|
80
|
-
<li><a href="#method-i-
|
|
80
|
+
<li><a href="#method-i-store">#store</a></li>
|
|
81
81
|
|
|
82
|
-
<li><a href="#method-i-
|
|
82
|
+
<li><a href="#method-i-to_s">#to_s</a></li>
|
|
83
83
|
|
|
84
84
|
</ul>
|
|
85
85
|
</div>
|
|
@@ -87,6 +87,17 @@
|
|
|
87
87
|
|
|
88
88
|
<!-- Included Modules -->
|
|
89
89
|
|
|
90
|
+
<div id="includes-section" class="section">
|
|
91
|
+
<h3 class="section-header">Included Modules</h3>
|
|
92
|
+
<ul class="link-list">
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
<li><span class="include">Singleton</span></li>
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
</ul>
|
|
99
|
+
</div>
|
|
100
|
+
|
|
90
101
|
</div>
|
|
91
102
|
|
|
92
103
|
<div id="project-metadata">
|
|
@@ -159,12 +170,18 @@
|
|
|
159
170
|
|
|
160
171
|
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
161
172
|
|
|
173
|
+
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
174
|
+
|
|
162
175
|
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
163
176
|
|
|
164
177
|
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
165
178
|
|
|
166
179
|
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
167
180
|
|
|
181
|
+
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
182
|
+
|
|
183
|
+
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
184
|
+
|
|
168
185
|
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
169
186
|
|
|
170
187
|
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
@@ -271,7 +288,7 @@
|
|
|
271
288
|
|
|
272
289
|
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
273
290
|
|
|
274
|
-
<li><a href="../TaskJuggler/
|
|
291
|
+
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
275
292
|
|
|
276
293
|
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
277
294
|
|
|
@@ -451,6 +468,10 @@
|
|
|
451
468
|
|
|
452
469
|
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
453
470
|
|
|
471
|
+
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
472
|
+
|
|
473
|
+
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
474
|
+
|
|
454
475
|
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
455
476
|
|
|
456
477
|
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
@@ -554,18 +575,16 @@
|
|
|
554
575
|
</div>
|
|
555
576
|
|
|
556
577
|
<div id="documentation">
|
|
557
|
-
<h1 class="class">TaskJuggler::
|
|
578
|
+
<h1 class="class">TaskJuggler::DataCache</h1>
|
|
558
579
|
|
|
559
580
|
<div id="description">
|
|
560
581
|
<p>
|
|
561
|
-
This
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
so that <a href="WorkingHours.html">WorkingHours</a> objects with identical
|
|
568
|
-
working hours can share the cache.
|
|
582
|
+
This class provides a global data cache that can be used to store and
|
|
583
|
+
retrieve values indexed by a key. The cache is size limited. When maximum
|
|
584
|
+
capacity is reached, a certain percentage of the least requested values is
|
|
585
|
+
dropped from the cache. The primary purpose of this global cache is to
|
|
586
|
+
store values that are expensive to compute but may be need on several
|
|
587
|
+
occasions during the program execution.
|
|
569
588
|
</p>
|
|
570
589
|
|
|
571
590
|
</div>
|
|
@@ -595,28 +614,24 @@ working hours can share the cache.
|
|
|
595
614
|
|
|
596
615
|
<div class="method-description">
|
|
597
616
|
|
|
598
|
-
|
|
599
|
-
Create the <a href="OnShiftCache.html">OnShiftCache</a> object. There
|
|
600
|
-
should be only one for the application.
|
|
601
|
-
</p>
|
|
617
|
+
|
|
602
618
|
|
|
603
619
|
|
|
604
620
|
|
|
605
621
|
<div class="method-source-code"
|
|
606
622
|
id="new-source">
|
|
607
623
|
<pre>
|
|
608
|
-
<span class="ruby-comment cmt"># File lib/
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
38: <span class="ruby-keyword kw">end</span></pre>
|
|
624
|
+
<span class="ruby-comment cmt"># File lib/DataCache.rb, line 53</span>
|
|
625
|
+
53: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
|
|
626
|
+
54: <span class="ruby-identifier">resize</span>
|
|
627
|
+
55: <span class="ruby-identifier">flush</span>
|
|
628
|
+
56: <span class="ruby-comment cmt"># Counter for the number of writes to the cache.</span>
|
|
629
|
+
57: <span class="ruby-ivar">@stores</span> = <span class="ruby-value">0</span>
|
|
630
|
+
58: <span class="ruby-comment cmt"># Counter for the number of found values.</span>
|
|
631
|
+
59: <span class="ruby-ivar">@hits</span> = <span class="ruby-value">0</span>
|
|
632
|
+
60: <span class="ruby-comment cmt"># Counter for the number of not found values.</span>
|
|
633
|
+
61: <span class="ruby-ivar">@misses</span> = <span class="ruby-value">0</span>
|
|
634
|
+
62: <span class="ruby-keyword kw">end</span></pre>
|
|
620
635
|
</div>
|
|
621
636
|
|
|
622
637
|
</div>
|
|
@@ -633,13 +648,13 @@ should be only one for the application.
|
|
|
633
648
|
<h3 class="section-header">Public Instance Methods</h3>
|
|
634
649
|
|
|
635
650
|
|
|
636
|
-
<div id="
|
|
637
|
-
<a name="method-i-
|
|
651
|
+
<div id="flush-method" class="method-detail ">
|
|
652
|
+
<a name="method-i-flush"></a>
|
|
638
653
|
|
|
639
654
|
<div class="method-heading">
|
|
640
655
|
|
|
641
|
-
<span class="method-name">
|
|
642
|
-
class="method-args">(
|
|
656
|
+
<span class="method-name">flush</span><span
|
|
657
|
+
class="method-args">()</span>
|
|
643
658
|
<span class="method-click-advice">click to toggle source</span>
|
|
644
659
|
|
|
645
660
|
</div>
|
|
@@ -647,18 +662,19 @@ should be only one for the application.
|
|
|
647
662
|
<div class="method-description">
|
|
648
663
|
|
|
649
664
|
<p>
|
|
650
|
-
|
|
665
|
+
Completely flush the cache. The statistic counters will remain intact, but
|
|
666
|
+
all data values are lost.
|
|
651
667
|
</p>
|
|
652
668
|
|
|
653
669
|
|
|
654
670
|
|
|
655
671
|
<div class="method-source-code"
|
|
656
|
-
id="
|
|
672
|
+
id="flush-source">
|
|
657
673
|
<pre>
|
|
658
|
-
<span class="ruby-comment cmt"># File lib/
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
674
|
+
<span class="ruby-comment cmt"># File lib/DataCache.rb, line 75</span>
|
|
675
|
+
75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">flush</span>
|
|
676
|
+
76: <span class="ruby-ivar">@entries</span> = {}
|
|
677
|
+
77: <span class="ruby-keyword kw">end</span></pre>
|
|
662
678
|
</div>
|
|
663
679
|
|
|
664
680
|
</div>
|
|
@@ -669,13 +685,13 @@ Get the value for a given <tt>cache</tt> and <tt>date</tt>.
|
|
|
669
685
|
</div>
|
|
670
686
|
|
|
671
687
|
|
|
672
|
-
<div id="
|
|
673
|
-
<a name="method-i-
|
|
688
|
+
<div id="load-method" class="method-detail ">
|
|
689
|
+
<a name="method-i-load"></a>
|
|
674
690
|
|
|
675
691
|
<div class="method-heading">
|
|
676
692
|
|
|
677
|
-
<span class="method-name">
|
|
678
|
-
class="method-args">(
|
|
693
|
+
<span class="method-name">load</span><span
|
|
694
|
+
class="method-args">(key)</span>
|
|
679
695
|
<span class="method-click-advice">click to toggle source</span>
|
|
680
696
|
|
|
681
697
|
</div>
|
|
@@ -683,34 +699,25 @@ Get the value for a given <tt>cache</tt> and <tt>date</tt>.
|
|
|
683
699
|
<div class="method-description">
|
|
684
700
|
|
|
685
701
|
<p>
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
set of working hours. The <a href="WorkingHours.html">WorkingHours</a>
|
|
689
|
-
object may not change its working hours after this call. The returned cache
|
|
690
|
-
reference is used as a handle for subsequent OnShiftCache::set and
|
|
691
|
-
OnShiftCache::get calls.
|
|
702
|
+
Retrieve the value indexed by <em>key</em> from the cache. If it’s
|
|
703
|
+
not found, nil is returned.
|
|
692
704
|
</p>
|
|
693
705
|
|
|
694
706
|
|
|
695
707
|
|
|
696
708
|
<div class="method-source-code"
|
|
697
|
-
id="
|
|
709
|
+
id="load-source">
|
|
698
710
|
<pre>
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
54: <span class="ruby-comment cmt"># If this is a new set of WorkingHours we create a new cache for it.</span>
|
|
710
|
-
55: <span class="ruby-ivar">@workingHoursTable</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">WorkingHours</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">wh</span>)
|
|
711
|
-
56: <span class="ruby-ivar">@caches</span> <span class="ruby-operator"><<</span> []
|
|
712
|
-
57: <span class="ruby-ivar">@caches</span>.<span class="ruby-identifier">last</span>
|
|
713
|
-
58: <span class="ruby-keyword kw">end</span></pre>
|
|
711
|
+
<span class="ruby-comment cmt"># File lib/DataCache.rb, line 103</span>
|
|
712
|
+
103: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load</span>(<span class="ruby-identifier">key</span>)
|
|
713
|
+
104: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">e</span> = <span class="ruby-ivar">@entries</span>[<span class="ruby-identifier">key</span>])
|
|
714
|
+
105: <span class="ruby-ivar">@hits</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
715
|
+
106: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">value</span>
|
|
716
|
+
107: <span class="ruby-keyword kw">else</span>
|
|
717
|
+
108: <span class="ruby-ivar">@misses</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
718
|
+
109: <span class="ruby-keyword kw">nil</span>
|
|
719
|
+
110: <span class="ruby-keyword kw">end</span>
|
|
720
|
+
111: <span class="ruby-keyword kw">end</span></pre>
|
|
714
721
|
</div>
|
|
715
722
|
|
|
716
723
|
</div>
|
|
@@ -721,13 +728,13 @@ OnShiftCache::get calls.
|
|
|
721
728
|
</div>
|
|
722
729
|
|
|
723
730
|
|
|
724
|
-
<div id="
|
|
725
|
-
<a name="method-i-
|
|
731
|
+
<div id="resize-method" class="method-detail ">
|
|
732
|
+
<a name="method-i-resize"></a>
|
|
726
733
|
|
|
727
734
|
<div class="method-heading">
|
|
728
735
|
|
|
729
|
-
<span class="method-name">
|
|
730
|
-
class="method-args">(
|
|
736
|
+
<span class="method-name">resize</span><span
|
|
737
|
+
class="method-args">(size = 100000)</span>
|
|
731
738
|
<span class="method-click-advice">click to toggle source</span>
|
|
732
739
|
|
|
733
740
|
</div>
|
|
@@ -735,18 +742,22 @@ OnShiftCache::get calls.
|
|
|
735
742
|
<div class="method-description">
|
|
736
743
|
|
|
737
744
|
<p>
|
|
738
|
-
|
|
745
|
+
For now, we use this randomly determined size.
|
|
739
746
|
</p>
|
|
740
747
|
|
|
741
748
|
|
|
742
749
|
|
|
743
750
|
<div class="method-source-code"
|
|
744
|
-
id="
|
|
751
|
+
id="resize-source">
|
|
745
752
|
<pre>
|
|
746
|
-
<span class="ruby-comment cmt"># File lib/
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
753
|
+
<span class="ruby-comment cmt"># File lib/DataCache.rb, line 65</span>
|
|
754
|
+
65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resize</span>(<span class="ruby-identifier">size</span> = <span class="ruby-value">100000</span>)
|
|
755
|
+
66: <span class="ruby-ivar">@highWaterMark</span> = <span class="ruby-identifier">size</span>
|
|
756
|
+
67: <span class="ruby-comment cmt"># Flushing out the least used entries is fairly expensive. So we only</span>
|
|
757
|
+
68: <span class="ruby-comment cmt"># want to do this once in a while. The lowWaterMark determines how much</span>
|
|
758
|
+
69: <span class="ruby-comment cmt"># of the entries will survive the flush.</span>
|
|
759
|
+
70: <span class="ruby-ivar">@lowWaterMark</span> = <span class="ruby-identifier">size</span> * <span class="ruby-value">0.9</span>
|
|
760
|
+
71: <span class="ruby-keyword kw">end</span></pre>
|
|
750
761
|
</div>
|
|
751
762
|
|
|
752
763
|
</div>
|
|
@@ -757,19 +768,13 @@ Set the <tt>value</tt> for a given <tt>cache</tt> and <tt>date</tt>.
|
|
|
757
768
|
</div>
|
|
758
769
|
|
|
759
770
|
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
<div id="private-instance-method-details" class="method-section section">
|
|
763
|
-
<h3 class="section-header">Private Instance Methods</h3>
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
<div id="date-o-ndex-method" class="method-detail ">
|
|
767
|
-
<a name="method-i-dateToIndex"></a>
|
|
771
|
+
<div id="store-method" class="method-detail ">
|
|
772
|
+
<a name="method-i-store"></a>
|
|
768
773
|
|
|
769
774
|
<div class="method-heading">
|
|
770
775
|
|
|
771
|
-
<span class="method-name">
|
|
772
|
-
class="method-args">(
|
|
776
|
+
<span class="method-name">store</span><span
|
|
777
|
+
class="method-args">(value, key)</span>
|
|
773
778
|
<span class="method-click-advice">click to toggle source</span>
|
|
774
779
|
|
|
775
780
|
</div>
|
|
@@ -777,49 +782,35 @@ Set the <tt>value</tt> for a given <tt>cache</tt> and <tt>date</tt>.
|
|
|
777
782
|
<div class="method-description">
|
|
778
783
|
|
|
779
784
|
<p>
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
have to correct these guessed values, we have to clear the caches.
|
|
785
|
+
Store <em>value</em> into the cache using <em>key</em> to tag it.
|
|
786
|
+
<em>key</em> must be unique and must be used to load the value from the
|
|
787
|
+
cache again. You cannot store nil values!
|
|
784
788
|
</p>
|
|
785
789
|
|
|
786
790
|
|
|
787
791
|
|
|
788
792
|
<div class="method-source-code"
|
|
789
|
-
id="
|
|
793
|
+
id="store-source">
|
|
790
794
|
<pre>
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
100: <span class="ruby-keyword kw">when</span> <span class="ruby-value">15</span>
|
|
811
|
-
101: <span class="ruby-ivar">@minDateDelta</span> = <span class="ruby-value">10</span>
|
|
812
|
-
102: <span class="ruby-keyword kw">when</span> <span class="ruby-value">10</span>
|
|
813
|
-
103: <span class="ruby-ivar">@minDateDelta</span> = <span class="ruby-value">5</span>
|
|
814
|
-
104: <span class="ruby-keyword kw">else</span>
|
|
815
|
-
105: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Illegal timing resolution!"</span>
|
|
816
|
-
106: <span class="ruby-keyword kw">end</span>
|
|
817
|
-
107: <span class="ruby-ivar">@minDateDelta</span> <span class="ruby-operator">*=</span> <span class="ruby-value">60</span>
|
|
818
|
-
108: <span class="ruby-identifier">div</span> = <span class="ruby-identifier">startDate</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@minDateDelta</span>
|
|
819
|
-
109: <span class="ruby-keyword kw">end</span>
|
|
820
|
-
110:
|
|
821
|
-
111: <span class="ruby-identifier">div</span>
|
|
822
|
-
112: <span class="ruby-keyword kw">end</span></pre>
|
|
795
|
+
<span class="ruby-comment cmt"># File lib/DataCache.rb, line 82</span>
|
|
796
|
+
82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">key</span>)
|
|
797
|
+
83: <span class="ruby-ivar">@stores</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
798
|
+
84:
|
|
799
|
+
85: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@entries</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">></span> <span class="ruby-ivar">@highWaterMark</span>
|
|
800
|
+
86: <span class="ruby-keyword kw">while</span> <span class="ruby-ivar">@entries</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">></span> <span class="ruby-ivar">@lowWaterMark</span>
|
|
801
|
+
87: <span class="ruby-comment cmt"># How many entries do we need to delete to get to the low watermark?</span>
|
|
802
|
+
88: <span class="ruby-identifier">toDelete</span> = <span class="ruby-ivar">@entries</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@lowWaterMark</span>
|
|
803
|
+
89: <span class="ruby-ivar">@entries</span>.<span class="ruby-identifier">delete_if</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">foo</span>, <span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
|
|
804
|
+
90: <span class="ruby-comment cmt"># Hit counts age with every cleanup.</span>
|
|
805
|
+
91: (<span class="ruby-identifier">e</span>.<span class="ruby-identifier">hits</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>) <span class="ruby-operator"><</span> <span class="ruby-value">0</span> <span class="ruby-operator">&&</span> (<span class="ruby-identifier">toDelete</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>) <span class="ruby-operator">>=</span> <span class="ruby-value">0</span>
|
|
806
|
+
92: <span class="ruby-keyword kw">end</span>
|
|
807
|
+
93: <span class="ruby-keyword kw">end</span>
|
|
808
|
+
94: <span class="ruby-keyword kw">end</span>
|
|
809
|
+
95:
|
|
810
|
+
96: <span class="ruby-ivar">@entries</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-constant">DataCacheEntry</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">value</span>)
|
|
811
|
+
97:
|
|
812
|
+
98: <span class="ruby-identifier">value</span>
|
|
813
|
+
99: <span class="ruby-keyword kw">end</span></pre>
|
|
823
814
|
</div>
|
|
824
815
|
|
|
825
816
|
</div>
|
|
@@ -830,12 +821,12 @@ have to correct these guessed values, we have to clear the caches.
|
|
|
830
821
|
</div>
|
|
831
822
|
|
|
832
823
|
|
|
833
|
-
<div id="
|
|
834
|
-
<a name="method-i-
|
|
824
|
+
<div id="to-s-method" class="method-detail ">
|
|
825
|
+
<a name="method-i-to_s"></a>
|
|
835
826
|
|
|
836
827
|
<div class="method-heading">
|
|
837
828
|
|
|
838
|
-
<span class="method-name">
|
|
829
|
+
<span class="method-name">to_s</span><span
|
|
839
830
|
class="method-args">()</span>
|
|
840
831
|
<span class="method-click-advice">click to toggle source</span>
|
|
841
832
|
|
|
@@ -843,20 +834,17 @@ have to correct these guessed values, we have to clear the caches.
|
|
|
843
834
|
|
|
844
835
|
<div class="method-description">
|
|
845
836
|
|
|
846
|
-
|
|
847
|
-
When the @minDate or @minDateDelta values need to be changed, we have to
|
|
848
|
-
clear all the caches again.
|
|
849
|
-
</p>
|
|
837
|
+
|
|
850
838
|
|
|
851
839
|
|
|
852
840
|
|
|
853
841
|
<div class="method-source-code"
|
|
854
|
-
id="
|
|
842
|
+
id="to-s-source">
|
|
855
843
|
<pre>
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
844
|
+
<span class="ruby-comment cmt"># File lib/DataCache.rb, line 113</span>
|
|
845
|
+
113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
|
846
|
+
114: <span class="ruby-value str">Entries: #{@entries.size} Stores: #{@stores}Hits: #{@hits} Misses: #{@misses}Hit Rate: #{@hits * 100.0 / (@hits + @misses)}%</span>
|
|
847
|
+
115: <span class="ruby-keyword kw">end</span></pre>
|
|
860
848
|
</div>
|
|
861
849
|
|
|
862
850
|
</div>
|