taskjuggler 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +1144 -2047
- data/README +1 -1
- data/Rakefile +6 -6
- data/data/css/tjmanual.css +20 -0
- data/data/css/tjreport.css +7 -6
- data/doc/AppConfig.html +136 -130
- data/doc/Arguments.html +46 -40
- data/doc/CHANGELOG.html +1162 -2057
- data/doc/COPYING.html +8 -2
- data/doc/Object.html +205 -199
- data/doc/README.html +9 -3
- data/doc/RuntimeConfig.html +75 -69
- data/doc/String.html +69 -63
- data/doc/TaskJuggler.html +350 -291
- data/doc/TaskJuggler/Account.html +26 -20
- data/doc/TaskJuggler/AccountAttribute.html +24 -18
- data/doc/TaskJuggler/AccountScenario.html +24 -18
- data/doc/TaskJuggler/Allocation.html +74 -68
- data/doc/TaskJuggler/AllocationAttribute.html +54 -48
- data/doc/TaskJuggler/AttributeBase.html +172 -93
- data/doc/TaskJuggler/AttributeDefinition.html +22 -16
- data/doc/TaskJuggler/AttributeOverwrite.html +586 -0
- data/doc/TaskJuggler/BatchProcessor.html +263 -257
- data/doc/TaskJuggler/Booking.html +44 -38
- data/doc/TaskJuggler/BookingListAttribute.html +25 -21
- data/doc/TaskJuggler/BooleanAttribute.html +24 -18
- data/doc/TaskJuggler/CSVFile.html +193 -187
- data/doc/TaskJuggler/CellSettingPattern.html +13 -7
- data/doc/TaskJuggler/CellSettingPatternList.html +25 -19
- data/doc/TaskJuggler/Charge.html +49 -43
- data/doc/TaskJuggler/ChargeListAttribute.html +21 -15
- data/doc/TaskJuggler/ChargeSet.html +94 -88
- data/doc/TaskJuggler/ChargeSetListAttribute.html +29 -25
- data/doc/TaskJuggler/CollisionDetector.html +142 -136
- data/doc/TaskJuggler/ColumnListAttribute.html +21 -17
- data/doc/TaskJuggler/ColumnTable.html +50 -44
- data/doc/TaskJuggler/Daemon.html +71 -50
- data/doc/TaskJuggler/DataCache.html +110 -58
- data/doc/TaskJuggler/DataCacheEntry.html +22 -16
- data/doc/TaskJuggler/DateAttribute.html +24 -18
- data/doc/TaskJuggler/DefinitionListAttribute.html +12 -6
- data/doc/TaskJuggler/DependencyListAttribute.html +29 -25
- data/doc/TaskJuggler/DurationAttribute.html +25 -19
- data/doc/TaskJuggler/FileList.html +25 -19
- data/doc/TaskJuggler/FileRecord.html +17 -11
- data/doc/TaskJuggler/FixnumAttribute.html +16 -10
- data/doc/TaskJuggler/FlagListAttribute.html +25 -21
- data/doc/TaskJuggler/FloatAttribute.html +20 -14
- data/doc/TaskJuggler/FormatListAttribute.html +17 -11
- data/doc/TaskJuggler/GanttChart.html +242 -236
- data/doc/TaskJuggler/GanttContainer.html +71 -67
- data/doc/TaskJuggler/GanttHeader.html +113 -107
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -20
- data/doc/TaskJuggler/GanttLine.html +217 -210
- data/doc/TaskJuggler/GanttLoadStack.html +89 -83
- data/doc/TaskJuggler/GanttMilestone.html +11 -6
- data/doc/TaskJuggler/GanttRouter.html +194 -186
- data/doc/TaskJuggler/GanttTaskBar.html +41 -34
- data/doc/TaskJuggler/HTMLDocument.html +52 -46
- data/doc/TaskJuggler/HTMLGraphics.html +58 -52
- data/doc/TaskJuggler/Interval.html +90 -84
- data/doc/TaskJuggler/IntervalList.html +777 -0
- data/doc/TaskJuggler/IntervalListAttribute.html +29 -25
- data/doc/TaskJuggler/JobInfo.html +36 -30
- data/doc/TaskJuggler/Journal.html +188 -177
- data/doc/TaskJuggler/JournalEntry.html +36 -30
- data/doc/TaskJuggler/JournalEntryList.html +88 -82
- data/doc/TaskJuggler/KeywordArray.html +12 -6
- data/doc/TaskJuggler/KeywordDocumentation.html +512 -503
- data/doc/TaskJuggler/Limits.html +111 -105
- data/doc/TaskJuggler/Limits/Limit.html +71 -65
- data/doc/TaskJuggler/LimitsAttribute.html +21 -15
- data/doc/TaskJuggler/ListAttributeBase.html +16 -10
- data/doc/TaskJuggler/Log.html +111 -105
- data/doc/TaskJuggler/LogFile.html +54 -48
- data/doc/TaskJuggler/LogicalAttribute.html +35 -29
- data/doc/TaskJuggler/LogicalExpression.html +32 -26
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +16 -10
- data/doc/TaskJuggler/LogicalExpressionListAttribute.html +671 -0
- data/doc/TaskJuggler/LogicalFlag.html +24 -18
- data/doc/TaskJuggler/LogicalFunction.html +164 -158
- data/doc/TaskJuggler/LogicalOperation.html +138 -132
- data/doc/TaskJuggler/Macro.html +14 -8
- data/doc/TaskJuggler/MacroTable.html +42 -36
- data/doc/TaskJuggler/ManagerResponsibilities.html +19 -13
- data/doc/TaskJuggler/ManagerStatusRecord.html +23 -17
- data/doc/TaskJuggler/Message.html +56 -50
- data/doc/TaskJuggler/MessageHandler.html +73 -67
- data/doc/TaskJuggler/Navigator.html +92 -86
- data/doc/TaskJuggler/NavigatorElement.html +88 -82
- data/doc/TaskJuggler/NikuProject.html +15 -9
- data/doc/TaskJuggler/NikuReport.html +405 -370
- data/doc/TaskJuggler/NikuResource.html +13 -7
- data/doc/TaskJuggler/NodeListAttribute.html +13 -9
- data/doc/TaskJuggler/PlaceHolderCell.html +22 -16
- data/doc/TaskJuggler/ProcessIntercom.html +116 -110
- data/doc/TaskJuggler/ProcessIntercomIface.html +39 -33
- data/doc/TaskJuggler/Project.html +1064 -895
- data/doc/TaskJuggler/ProjectBroker.html +439 -366
- data/doc/TaskJuggler/ProjectBrokerIface.html +63 -53
- data/doc/TaskJuggler/ProjectFileParser.html +329 -319
- data/doc/TaskJuggler/ProjectFileScanner.html +351 -345
- data/doc/TaskJuggler/ProjectRecord.html +66 -60
- data/doc/TaskJuggler/ProjectServer.html +287 -280
- data/doc/TaskJuggler/ProjectServerIface.html +43 -37
- data/doc/TaskJuggler/PropertyAttribute.html +16 -10
- data/doc/TaskJuggler/PropertyList.html +205 -199
- data/doc/TaskJuggler/PropertySet.html +264 -296
- data/doc/TaskJuggler/PropertyTreeNode.html +455 -505
- data/doc/TaskJuggler/Query.html +309 -524
- data/doc/TaskJuggler/RTFHandlers.html +17 -11
- data/doc/TaskJuggler/RTFNavigator.html +33 -27
- data/doc/TaskJuggler/RTFQuery.html +135 -129
- data/doc/TaskJuggler/RTFReport.html +63 -57
- data/doc/TaskJuggler/RTFReportLink.html +55 -49
- data/doc/TaskJuggler/RTFWithQuerySupport.html +17 -11
- data/doc/TaskJuggler/RealFormat.html +64 -58
- data/doc/TaskJuggler/RealFormatAttribute.html +12 -6
- data/doc/TaskJuggler/ReferenceAttribute.html +35 -29
- data/doc/TaskJuggler/Report.html +294 -249
- data/doc/TaskJuggler/ReportBase.html +229 -223
- data/doc/TaskJuggler/ReportContext.html +52 -46
- data/doc/TaskJuggler/ReportServer.html +143 -137
- data/doc/TaskJuggler/ReportServerIface.html +51 -43
- data/doc/TaskJuggler/ReportServerRecord.html +36 -30
- data/doc/TaskJuggler/ReportServlet.html +167 -140
- data/doc/TaskJuggler/ReportTable.html +137 -131
- data/doc/TaskJuggler/ReportTableCell.html +332 -292
- data/doc/TaskJuggler/ReportTableColumn.html +46 -40
- data/doc/TaskJuggler/ReportTableLegend.html +43 -38
- data/doc/TaskJuggler/ReportTableLine.html +66 -60
- data/doc/TaskJuggler/Resource.html +166 -160
- data/doc/TaskJuggler/ResourceListAttribute.html +54 -32
- data/doc/TaskJuggler/ResourceListRE.html +47 -41
- data/doc/TaskJuggler/ResourceScenario.html +671 -644
- data/doc/TaskJuggler/RichText.html +51 -45
- data/doc/TaskJuggler/RichTextAttribute.html +28 -22
- data/doc/TaskJuggler/RichTextDocument.html +96 -90
- data/doc/TaskJuggler/RichTextElement.html +503 -497
- data/doc/TaskJuggler/RichTextFunctionExample.html +41 -35
- data/doc/TaskJuggler/RichTextFunctionHandler.html +19 -13
- data/doc/TaskJuggler/RichTextImage.html +14 -8
- data/doc/TaskJuggler/RichTextIntermediate.html +86 -80
- data/doc/TaskJuggler/RichTextParser.html +59 -53
- data/doc/TaskJuggler/RichTextScanner.html +184 -178
- data/doc/TaskJuggler/RichTextSnip.html +69 -63
- data/doc/TaskJuggler/RichTextSyntaxRules.html +416 -410
- data/doc/TaskJuggler/Scenario.html +13 -7
- data/doc/TaskJuggler/ScenarioData.html +40 -34
- data/doc/TaskJuggler/ScenarioListAttribute.html +21 -15
- data/doc/TaskJuggler/Scoreboard.html +129 -107
- data/doc/TaskJuggler/SheetHandlerBase.html +245 -239
- data/doc/TaskJuggler/SheetReceiver.html +333 -327
- data/doc/TaskJuggler/SheetSender.html +227 -221
- data/doc/TaskJuggler/Shift.html +26 -20
- data/doc/TaskJuggler/ShiftAssignment.html +45 -39
- data/doc/TaskJuggler/ShiftAssignments.html +178 -172
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +21 -15
- data/doc/TaskJuggler/ShiftScenario.html +29 -23
- data/doc/TaskJuggler/SimpleQueryExpander.html +36 -30
- data/doc/TaskJuggler/SortListAttribute.html +17 -13
- data/doc/TaskJuggler/SourceFileInfo.html +19 -13
- data/doc/TaskJuggler/StatusSheetReceiver.html +31 -25
- data/doc/TaskJuggler/StatusSheetReport.html +166 -159
- data/doc/TaskJuggler/StatusSheetSender.html +80 -74
- data/doc/TaskJuggler/StringAttribute.html +20 -14
- data/doc/TaskJuggler/SymbolAttribute.html +16 -10
- data/doc/TaskJuggler/SyntaxReference.html +231 -225
- data/doc/TaskJuggler/TOCEntry.html +46 -40
- data/doc/TaskJuggler/TSResourceRecord.html +15 -9
- data/doc/TaskJuggler/TSTaskRecord.html +16 -10
- data/doc/TaskJuggler/TableColumnDefinition.html +84 -39
- data/doc/TaskJuggler/TableOfContents.html +28 -22
- data/doc/TaskJuggler/TableReport.html +906 -866
- data/doc/TaskJuggler/Task.html +99 -93
- data/doc/TaskJuggler/TaskDependency.html +24 -18
- data/doc/TaskJuggler/TaskListAttribute.html +29 -25
- data/doc/TaskJuggler/TaskListRE.html +46 -39
- data/doc/TaskJuggler/TaskScenario.html +2218 -1965
- data/doc/TaskJuggler/TextFormatter.html +154 -148
- data/doc/TaskJuggler/TextParser.html +362 -348
- data/doc/TaskJuggler/TextParser/Pattern.html +313 -307
- data/doc/TaskJuggler/TextParser/Rule.html +147 -141
- data/doc/TaskJuggler/TextParser/StackElement.html +58 -52
- data/doc/TaskJuggler/TextParser/State.html +88 -82
- data/doc/TaskJuggler/TextParser/StateTransition.html +42 -36
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +20 -14
- data/doc/TaskJuggler/TextParser/TokenDoc.html +19 -13
- data/doc/TaskJuggler/TextReport.html +80 -74
- data/doc/TaskJuggler/TextScanner.html +284 -272
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +14 -8
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +21 -15
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +15 -9
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
- data/doc/TaskJuggler/TimeSheet.html +123 -117
- data/doc/TaskJuggler/TimeSheetReceiver.html +28 -22
- data/doc/TaskJuggler/TimeSheetRecord.html +212 -206
- data/doc/TaskJuggler/TimeSheetReport.html +206 -199
- data/doc/TaskJuggler/TimeSheetSender.html +27 -21
- data/doc/TaskJuggler/TimeSheetSummary.html +140 -134
- data/doc/TaskJuggler/TimeSheets.html +20 -14
- data/doc/TaskJuggler/Tj3AppBase.html +100 -94
- data/doc/TaskJuggler/Tj3Client.html +407 -483
- data/doc/TaskJuggler/Tj3Daemon.html +116 -107
- data/doc/TaskJuggler/Tj3SheetAppBase.html +45 -39
- data/doc/TaskJuggler/Tj3SsReceiver.html +31 -25
- data/doc/TaskJuggler/Tj3SsSender.html +64 -58
- data/doc/TaskJuggler/Tj3TsReceiver.html +31 -25
- data/doc/TaskJuggler/Tj3TsSender.html +51 -45
- data/doc/TaskJuggler/Tj3TsSummary.html +59 -53
- data/doc/TaskJuggler/TjException.html +13 -7
- data/doc/TaskJuggler/TjTime.html +444 -438
- data/doc/TaskJuggler/TjpExample.html +84 -78
- data/doc/TaskJuggler/TjpExportRE.html +356 -349
- data/doc/TaskJuggler/TjpSyntaxRules.html +4279 -4151
- data/doc/TaskJuggler/URLParameter.html +16 -10
- data/doc/TaskJuggler/UserManual.html +185 -179
- data/doc/TaskJuggler/VimSyntax.html +144 -138
- data/doc/TaskJuggler/WebServer.html +46 -39
- data/doc/TaskJuggler/WelcomePage.html +769 -0
- data/doc/TaskJuggler/WorkingHours.html +185 -179
- data/doc/TaskJuggler/WorkingHoursAttribute.html +42 -36
- data/doc/TaskJuggler/XMLBlob.html +21 -15
- data/doc/TaskJuggler/XMLComment.html +17 -11
- data/doc/TaskJuggler/XMLDocument.html +33 -27
- data/doc/TaskJuggler/XMLElement.html +97 -91
- data/doc/TaskJuggler/XMLNamedText.html +13 -7
- data/doc/TaskJuggler/XMLText.html +32 -26
- data/doc/index.html +601 -563
- data/doc/lib/AccountScenario_rb.html +5 -3
- data/doc/lib/Account_rb.html +5 -3
- data/doc/lib/Allocation_rb.html +5 -3
- data/doc/lib/AppConfig_rb.html +5 -3
- data/doc/lib/AttributeBase_rb.html +5 -3
- data/doc/lib/AttributeDefinition_rb.html +5 -3
- data/doc/lib/Attributes_rb.html +5 -3
- data/doc/lib/BatchProcessor_rb.html +5 -3
- data/doc/lib/Booking_rb.html +5 -3
- data/doc/lib/ChargeSet_rb.html +5 -3
- data/doc/lib/Charge_rb.html +5 -3
- data/doc/lib/DataCache_rb.html +5 -3
- data/doc/lib/FileList_rb.html +5 -3
- data/doc/lib/HTMLDocument_rb.html +5 -3
- data/doc/lib/IntervalList_rb.html +69 -0
- data/doc/lib/Interval_rb.html +5 -3
- data/doc/lib/Journal_rb.html +5 -3
- data/doc/lib/KeywordArray_rb.html +5 -3
- data/doc/lib/KeywordDocumentation_rb.html +5 -3
- data/doc/lib/Limits_rb.html +5 -3
- data/doc/lib/LogFile_rb.html +5 -3
- data/doc/lib/Log_rb.html +5 -3
- data/doc/lib/LogicalExpression_rb.html +5 -3
- data/doc/lib/LogicalFunction_rb.html +5 -3
- data/doc/lib/LogicalOperation_rb.html +5 -3
- data/doc/lib/MacroTable_rb.html +5 -3
- data/doc/lib/MessageHandler_rb.html +5 -3
- data/doc/lib/ProjectFileParser_rb.html +5 -3
- data/doc/lib/ProjectFileScanner_rb.html +5 -3
- data/doc/lib/Project_rb.html +5 -3
- data/doc/lib/PropertyList_rb.html +5 -3
- data/doc/lib/PropertySet_rb.html +5 -3
- data/doc/lib/PropertyTreeNode_rb.html +5 -3
- data/doc/lib/Query_rb.html +5 -3
- data/doc/lib/RTFHandlers_rb.html +5 -3
- data/doc/lib/RTFNavigator_rb.html +5 -3
- data/doc/lib/RTFQuery_rb.html +5 -3
- data/doc/lib/RTFReportLink_rb.html +5 -3
- data/doc/lib/RTFReport_rb.html +5 -3
- data/doc/lib/RTFWithQuerySupport_rb.html +5 -3
- data/doc/lib/RealFormat_rb.html +5 -3
- data/doc/lib/ResourceScenario_rb.html +5 -3
- data/doc/lib/Resource_rb.html +5 -3
- data/doc/lib/RichTextDocument_rb.html +5 -3
- data/doc/lib/RichTextElement_rb.html +5 -3
- data/doc/lib/RichTextFunctionExample_rb.html +5 -3
- data/doc/lib/RichTextFunctionHandler_rb.html +5 -3
- data/doc/lib/RichTextParser_rb.html +5 -3
- data/doc/lib/RichTextScanner_rb.html +5 -3
- data/doc/lib/RichTextSnip_rb.html +5 -3
- data/doc/lib/RichTextSyntaxRules_rb.html +5 -3
- data/doc/lib/RichText_rb.html +5 -3
- data/doc/lib/RuntimeConfig_rb.html +5 -3
- data/doc/lib/ScenarioData_rb.html +5 -3
- data/doc/lib/Scenario_rb.html +5 -3
- data/doc/lib/Scoreboard_rb.html +7 -3
- data/doc/lib/SheetHandlerBase_rb.html +5 -3
- data/doc/lib/SheetReceiver_rb.html +5 -3
- data/doc/lib/SheetSender_rb.html +5 -3
- data/doc/lib/ShiftAssignments_rb.html +5 -3
- data/doc/lib/ShiftScenario_rb.html +5 -3
- data/doc/lib/Shift_rb.html +5 -3
- data/doc/lib/SimpleQueryExpander_rb.html +5 -3
- data/doc/lib/SourceFileInfo_rb.html +5 -3
- data/doc/lib/StatusSheetReceiver_rb.html +5 -3
- data/doc/lib/StatusSheetSender_rb.html +5 -3
- data/doc/lib/SyntaxReference_rb.html +5 -3
- data/doc/lib/TOCEntry_rb.html +5 -3
- data/doc/lib/TableColumnDefinition_rb.html +5 -3
- data/doc/lib/TableOfContents_rb.html +5 -3
- data/doc/lib/TaskDependency_rb.html +5 -3
- data/doc/lib/TaskJuggler_rb.html +5 -3
- data/doc/lib/TaskScenario_rb.html +5 -3
- data/doc/lib/Task_rb.html +5 -3
- data/doc/lib/TextFormatter_rb.html +6 -4
- data/doc/lib/TextParser/Pattern_rb.html +5 -3
- data/doc/lib/TextParser/Rule_rb.html +5 -3
- data/doc/lib/TextParser/StackElement_rb.html +5 -3
- data/doc/lib/TextParser/State_rb.html +6 -4
- data/doc/lib/TextParser/TokenDoc_rb.html +5 -3
- data/doc/lib/TextParser_rb.html +5 -3
- data/doc/lib/TextScanner_rb.html +5 -3
- data/doc/lib/TimeSheetReceiver_rb.html +5 -3
- data/doc/lib/TimeSheetSender_rb.html +5 -3
- data/doc/lib/TimeSheetSummary_rb.html +6 -4
- data/doc/lib/TimeSheets_rb.html +5 -3
- data/doc/lib/Tj3AppBase_rb.html +5 -3
- data/doc/lib/Tj3Config_rb.html +5 -3
- data/doc/lib/Tj3SheetAppBase_rb.html +5 -3
- data/doc/lib/TjException_rb.html +5 -3
- data/doc/lib/TjTime_rb.html +5 -3
- data/doc/lib/TjpExample_rb.html +5 -3
- data/doc/lib/TjpSyntaxRules_rb.html +5 -3
- data/doc/lib/URLParameter_rb.html +5 -3
- data/doc/lib/UTF8String_rb.html +5 -3
- data/doc/lib/UserManual_rb.html +5 -3
- data/doc/lib/VimSyntax_rb.html +6 -4
- data/doc/lib/WorkingHours_rb.html +5 -3
- data/doc/lib/XMLDocument_rb.html +5 -3
- data/doc/lib/XMLElement_rb.html +5 -3
- data/doc/lib/daemon/Daemon_rb.html +5 -3
- data/doc/lib/daemon/ProcessIntercom_rb.html +7 -3
- data/doc/lib/daemon/ProjectBroker_rb.html +5 -3
- data/doc/lib/daemon/ProjectServer_rb.html +5 -3
- data/doc/lib/daemon/ReportServer_rb.html +5 -3
- data/doc/lib/daemon/ReportServlet_rb.html +69 -0
- data/doc/lib/daemon/WebServer_rb.html +9 -3
- data/doc/lib/daemon/WelcomePage_rb.html +71 -0
- data/doc/lib/deep_copy_rb.html +5 -3
- data/doc/lib/reports/CSVFile_rb.html +5 -3
- data/doc/lib/reports/CollisionDetector_rb.html +5 -3
- data/doc/lib/reports/ColumnTable_rb.html +5 -3
- data/doc/lib/reports/GanttChart_rb.html +5 -3
- data/doc/lib/reports/GanttContainer_rb.html +5 -3
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +5 -3
- data/doc/lib/reports/GanttHeader_rb.html +5 -3
- data/doc/lib/reports/GanttLine_rb.html +5 -3
- data/doc/lib/reports/GanttLoadStack_rb.html +5 -3
- data/doc/lib/reports/GanttMilestone_rb.html +5 -3
- data/doc/lib/reports/GanttRouter_rb.html +5 -3
- data/doc/lib/reports/GanttTaskBar_rb.html +5 -3
- data/doc/lib/reports/HTMLGraphics_rb.html +5 -3
- data/doc/lib/reports/Navigator_rb.html +5 -3
- data/doc/lib/reports/NikuReport_rb.html +5 -3
- data/doc/lib/reports/ReportBase_rb.html +5 -3
- data/doc/lib/reports/ReportContext_rb.html +5 -3
- data/doc/lib/reports/ReportTableCell_rb.html +5 -3
- data/doc/lib/reports/ReportTableColumn_rb.html +5 -3
- data/doc/lib/reports/ReportTableLegend_rb.html +5 -3
- data/doc/lib/reports/ReportTableLine_rb.html +5 -3
- data/doc/lib/reports/ReportTable_rb.html +5 -3
- data/doc/lib/reports/Report_rb.html +5 -3
- data/doc/lib/reports/ResourceListRE_rb.html +5 -3
- data/doc/lib/reports/StatusSheetReport_rb.html +5 -3
- data/doc/lib/reports/TableReport_rb.html +5 -3
- data/doc/lib/reports/TaskListRE_rb.html +5 -3
- data/doc/lib/reports/TextReport_rb.html +5 -3
- data/doc/lib/reports/TimeSheetReport_rb.html +5 -3
- data/doc/lib/reports/TjpExportRE_rb.html +5 -3
- data/doc/lib/{taskjuggler3_rb.html → tj3_rb.html} +7 -5
- data/doc/lib/tj3client_rb.html +5 -3
- data/doc/lib/tj3d_rb.html +6 -4
- data/doc/lib/tj3man_rb.html +5 -3
- data/doc/lib/tj3ss_receiver_rb.html +5 -3
- data/doc/lib/tj3ss_sender_rb.html +5 -3
- data/doc/lib/tj3ts_receiver_rb.html +5 -3
- data/doc/lib/tj3ts_sender_rb.html +5 -3
- data/doc/lib/tj3ts_summary_rb.html +5 -3
- data/examples/tutorial.tjp +13 -5
- data/gem_spec.rb +3 -0
- data/lib/Account.rb +2 -1
- data/lib/AccountScenario.rb +2 -1
- data/lib/Allocation.rb +2 -1
- data/lib/AppConfig.rb +2 -1
- data/lib/AttributeBase.rb +19 -5
- data/lib/AttributeDefinition.rb +2 -1
- data/lib/Attributes.rb +49 -38
- data/lib/BatchProcessor.rb +2 -1
- data/lib/Booking.rb +2 -1
- data/lib/Charge.rb +2 -1
- data/lib/ChargeSet.rb +2 -1
- data/lib/DataCache.rb +15 -1
- data/lib/FileList.rb +2 -1
- data/lib/HTMLDocument.rb +2 -1
- data/lib/Interval.rb +2 -1
- data/lib/IntervalList.rb +100 -0
- data/lib/Journal.rb +8 -2
- data/lib/KeywordArray.rb +2 -1
- data/lib/KeywordDocumentation.rb +10 -6
- data/lib/Limits.rb +2 -1
- data/lib/Log.rb +3 -2
- data/lib/LogFile.rb +2 -1
- data/lib/LogicalExpression.rb +2 -1
- data/lib/LogicalFunction.rb +2 -1
- data/lib/LogicalOperation.rb +2 -1
- data/lib/MacroTable.rb +2 -1
- data/lib/MessageHandler.rb +2 -1
- data/lib/Project.rb +92 -25
- data/lib/ProjectFileParser.rb +7 -2
- data/lib/ProjectFileScanner.rb +2 -1
- data/lib/PropertyList.rb +2 -1
- data/lib/PropertySet.rb +2 -6
- data/lib/PropertyTreeNode.rb +22 -44
- data/lib/Query.rb +32 -13
- data/lib/RTFHandlers.rb +2 -1
- data/lib/RTFNavigator.rb +2 -1
- data/lib/RTFQuery.rb +3 -2
- data/lib/RTFReport.rb +2 -1
- data/lib/RTFReportLink.rb +2 -1
- data/lib/RTFWithQuerySupport.rb +2 -1
- data/lib/RealFormat.rb +2 -1
- data/lib/Resource.rb +2 -1
- data/lib/ResourceScenario.rb +35 -14
- data/lib/RichText.rb +2 -1
- data/lib/RichTextDocument.rb +2 -1
- data/lib/RichTextElement.rb +2 -1
- data/lib/RichTextFunctionExample.rb +2 -1
- data/lib/RichTextFunctionHandler.rb +2 -1
- data/lib/RichTextParser.rb +2 -1
- data/lib/RichTextScanner.rb +2 -1
- data/lib/RichTextSnip.rb +2 -1
- data/lib/RichTextSyntaxRules.rb +2 -1
- data/lib/RuntimeConfig.rb +2 -1
- data/lib/Scenario.rb +2 -1
- data/lib/ScenarioData.rb +2 -1
- data/lib/Scoreboard.rb +27 -8
- data/lib/SheetHandlerBase.rb +2 -1
- data/lib/SheetReceiver.rb +2 -1
- data/lib/SheetSender.rb +2 -1
- data/lib/Shift.rb +2 -1
- data/lib/ShiftAssignments.rb +2 -1
- data/lib/ShiftScenario.rb +2 -1
- data/lib/SimpleQueryExpander.rb +2 -1
- data/lib/SourceFileInfo.rb +2 -1
- data/lib/StatusSheetReceiver.rb +2 -1
- data/lib/StatusSheetSender.rb +2 -1
- data/lib/SyntaxReference.rb +2 -1
- data/lib/TOCEntry.rb +2 -1
- data/lib/TableColumnDefinition.rb +9 -2
- data/lib/TableOfContents.rb +2 -1
- data/lib/Task.rb +2 -1
- data/lib/TaskDependency.rb +2 -1
- data/lib/TaskJuggler.rb +8 -6
- data/lib/TaskScenario.rb +337 -153
- data/lib/TextFormatter.rb +3 -2
- data/lib/TextParser.rb +7 -2
- data/lib/TextParser/Pattern.rb +2 -1
- data/lib/TextParser/Rule.rb +2 -1
- data/lib/TextParser/StackElement.rb +2 -1
- data/lib/TextParser/State.rb +3 -2
- data/lib/TextParser/TokenDoc.rb +2 -1
- data/lib/TextScanner.rb +12 -5
- data/lib/TimeSheetReceiver.rb +2 -1
- data/lib/TimeSheetSender.rb +2 -1
- data/lib/TimeSheetSummary.rb +3 -2
- data/lib/TimeSheets.rb +2 -1
- data/lib/Tj3AppBase.rb +6 -5
- data/lib/Tj3Config.rb +5 -4
- data/lib/Tj3SheetAppBase.rb +2 -1
- data/lib/TjException.rb +2 -1
- data/lib/TjTime.rb +2 -1
- data/lib/TjpExample.rb +2 -1
- data/lib/TjpSyntaxRules.rb +264 -65
- data/lib/URLParameter.rb +2 -1
- data/lib/UTF8String.rb +2 -1
- data/lib/UserManual.rb +2 -1
- data/lib/VimSyntax.rb +3 -2
- data/lib/WorkingHours.rb +2 -1
- data/lib/XMLDocument.rb +2 -1
- data/lib/XMLElement.rb +2 -1
- data/lib/daemon/Daemon.rb +3 -1
- data/lib/daemon/ProcessIntercom.rb +3 -1
- data/lib/daemon/ProjectBroker.rb +84 -32
- data/lib/daemon/ProjectServer.rb +5 -3
- data/lib/daemon/ReportServer.rb +8 -5
- data/lib/daemon/ReportServlet.rb +166 -0
- data/lib/daemon/WebServer.rb +6 -150
- data/lib/daemon/WelcomePage.rb +80 -0
- data/lib/deep_copy.rb +2 -1
- data/lib/reports/CSVFile.rb +2 -1
- data/lib/reports/CollisionDetector.rb +2 -1
- data/lib/reports/ColumnTable.rb +2 -1
- data/lib/reports/GanttChart.rb +2 -1
- data/lib/reports/GanttContainer.rb +3 -4
- data/lib/reports/GanttHeader.rb +2 -1
- data/lib/reports/GanttHeaderScaleItem.rb +2 -1
- data/lib/reports/GanttLine.rb +12 -10
- data/lib/reports/GanttLoadStack.rb +2 -1
- data/lib/reports/GanttMilestone.rb +3 -3
- data/lib/reports/GanttRouter.rb +4 -1
- data/lib/reports/GanttTaskBar.rb +9 -7
- data/lib/reports/HTMLGraphics.rb +2 -1
- data/lib/reports/Navigator.rb +2 -1
- data/lib/reports/NikuReport.rb +79 -49
- data/lib/reports/Report.rb +42 -10
- data/lib/reports/ReportBase.rb +2 -1
- data/lib/reports/ReportContext.rb +2 -1
- data/lib/reports/ReportTable.rb +2 -1
- data/lib/reports/ReportTableCell.rb +63 -28
- data/lib/reports/ReportTableColumn.rb +2 -1
- data/lib/reports/ReportTableLegend.rb +5 -5
- data/lib/reports/ReportTableLine.rb +2 -1
- data/lib/reports/ResourceListRE.rb +2 -1
- data/lib/reports/StatusSheetReport.rb +4 -2
- data/lib/reports/TableReport.rb +42 -38
- data/lib/reports/TaskListRE.rb +4 -2
- data/lib/reports/TextReport.rb +2 -1
- data/lib/reports/TimeSheetReport.rb +4 -2
- data/lib/reports/TjpExportRE.rb +4 -2
- data/lib/{taskjuggler3.rb → tj3.rb} +6 -5
- data/lib/tj3client.rb +19 -36
- data/lib/tj3d.rb +6 -2
- data/lib/tj3man.rb +4 -3
- data/lib/tj3ss_receiver.rb +2 -1
- data/lib/tj3ss_sender.rb +2 -1
- data/lib/tj3ts_receiver.rb +2 -1
- data/lib/tj3ts_sender.rb +2 -1
- data/lib/tj3ts_summary.rb +2 -1
- data/manual/Day_To_Day_Juggling +36 -0
- data/manual/How_To_Contribute +9 -4
- data/manual/Installation +10 -3
- data/manual/TaskJuggler_Internals +0 -2
- data/manual/Tutorial +25 -3
- data/prj_cfg.rb +4 -2
- data/spec/IntervalList_spec.rb +138 -0
- data/spec/ProjectBroker_spec.rb +133 -0
- data/tasks/changelog.rake +41 -24
- data/tasks/csts.rake +1 -0
- data/tasks/gem.rake +1 -0
- data/tasks/rcov.rake +1 -1
- data/tasks/spec.rake +7 -0
- data/tasks/test.rake +1 -0
- data/test/MessageChecker.rb +2 -1
- data/test/TestSuite/CSV-Reports/niku.tjp +70 -0
- data/test/TestSuite/CSV-Reports/{celltext-Reference.csv → refs/celltext.csv} +0 -0
- data/test/TestSuite/CSV-Reports/refs/niku.csv +5 -0
- data/test/TestSuite/CSV-Reports/{resourcereport-Reference.csv → refs/resourcereport.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{resourcereport_with_tasks-Reference.csv → refs/resourcereport_with_tasks.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortByTree-Reference.csv → refs/sortByTree.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_duration.down-Reference.csv → refs/sortBy_duration.down.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_effort.up-Reference.csv → refs/sortBy_effort.up.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_plan.start.down-Reference.csv → refs/sortBy_plan.start.down.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{taskreport-Reference.csv → refs/taskreport.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{taskreport_with_resources-Reference.csv → refs/taskreport_with_resources.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{weekly-Reference.csv → refs/weekly.csv} +0 -0
- data/test/TestSuite/HTML-Reports/Alerts.tjp +12 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
- data/test/TestSuite/Scheduler/Correct/Container-2.tjp +1 -2
- data/test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp +77 -0
- data/test/TestSuite/Scheduler/Correct/WeakDeps.tjp +40 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +2 -2
- data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +3 -4
- data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +2 -2
- data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +8 -7
- data/test/TestSuite/Scheduler/Errors/onend_wrong_direction.tjp +19 -0
- data/test/TestSuite/Scheduler/Errors/onstart_wrong_direction.tjp +18 -0
- data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +1 -2
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/boss_2002-03-02.tji +46 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/dev2_2002-03-02.tji +22 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/resources.yml +11 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/acceptable_intervals +1 -0
- data/test/TestSuite/StatusSheets/sender.log +256 -0
- data/test/TestSuite/StatusSheets/statussheets.log +9 -0
- data/test/TestSuite/StatusSheets/tj3d.log +395 -0
- data/test/TestSuite/Syntax/Correct/Limits-1.tjp +2 -0
- data/test/TestSuite/Syntax/Correct/Niku.tjp +6 -1
- data/test/TestSuite/Syntax/Correct/Scenario.tjp +4 -1
- data/test/TestSuite/Syntax/Correct/Supplement.tjp +12 -5
- data/test/TestSuite/Syntax/Correct/TaskPrefix.tji +3 -0
- data/test/TestSuite/Syntax/Correct/TaskPrefix.tjp +24 -0
- data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -2
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +15 -5
- data/test/all.rb +2 -4
- data/test/test_BatchProcessor.rb +2 -1
- data/test/test_CSV-Reports.rb +34 -23
- data/test/test_CSVFile.rb +2 -1
- data/test/test_CollisionDetector.rb +3 -2
- data/test/test_Journal.rb +2 -1
- data/test/test_Limits.rb +2 -1
- data/test/test_LogicalExpression.rb +2 -1
- data/test/test_MacroTable.rb +2 -1
- data/test/test_Project.rb +3 -2
- data/test/test_ProjectFileScanner.rb +2 -1
- data/test/test_PropertySet.rb +2 -1
- data/test/test_Query.rb +2 -1
- data/test/test_RealFormat.rb +2 -1
- data/test/test_ReportGenerator.rb +2 -1
- data/test/test_RichText.rb +2 -1
- data/test/test_Scheduler.rb +2 -1
- data/test/test_ShiftAssignments.rb +2 -1
- data/test/test_SimpleQueryExpander.rb +2 -1
- data/test/test_Syntax.rb +2 -1
- data/test/test_TextFormatter.rb +3 -2
- data/test/test_TjTime.rb +2 -1
- data/test/test_TjpExample.rb +2 -1
- data/test/test_URLParameter.rb +2 -1
- data/test/test_UTF8String.rb +2 -1
- data/test/test_WorkingHours.rb +2 -1
- data/test/test_deep_copy.rb +2 -1
- metadata +74 -20
- data/doc/StringIO.html +0 -595
- data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +0 -46
- data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +0 -51
- data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +0 -11
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
<div id="parent-class-section" class="section">
|
|
56
56
|
<h3 class="section-header">Parent</h3>
|
|
57
57
|
|
|
58
|
-
<p class="link"><a href="
|
|
58
|
+
<p class="link"><a href="ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></p>
|
|
59
59
|
|
|
60
60
|
</div>
|
|
61
61
|
|
|
@@ -131,6 +131,8 @@
|
|
|
131
131
|
|
|
132
132
|
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
133
133
|
|
|
134
|
+
<li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
|
|
135
|
+
|
|
134
136
|
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
135
137
|
|
|
136
138
|
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
@@ -209,6 +211,8 @@
|
|
|
209
211
|
|
|
210
212
|
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
211
213
|
|
|
214
|
+
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
215
|
+
|
|
212
216
|
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
213
217
|
|
|
214
218
|
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
@@ -241,6 +245,8 @@
|
|
|
241
245
|
|
|
242
246
|
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
243
247
|
|
|
248
|
+
<li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
|
|
249
|
+
|
|
244
250
|
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
245
251
|
|
|
246
252
|
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
@@ -521,6 +527,8 @@
|
|
|
521
527
|
|
|
522
528
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
523
529
|
|
|
530
|
+
<li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
|
|
531
|
+
|
|
524
532
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
525
533
|
|
|
526
534
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -547,8 +555,6 @@
|
|
|
547
555
|
|
|
548
556
|
<li><a href="../String.html">String</a></li>
|
|
549
557
|
|
|
550
|
-
<li><a href="../StringIO.html">StringIO</a></li>
|
|
551
|
-
|
|
552
558
|
</ul>
|
|
553
559
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
554
560
|
</div>
|
|
@@ -596,12 +602,10 @@
|
|
|
596
602
|
<div class="method-source-code"
|
|
597
603
|
id="new-source">
|
|
598
604
|
<pre>
|
|
599
|
-
<span class="ruby-comment cmt"># File lib/Attributes.rb, line
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
180: <span class="ruby-ivar">@value</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
|
|
604
|
-
181: <span class="ruby-keyword kw">end</span></pre>
|
|
605
|
+
<span class="ruby-comment cmt"># File lib/Attributes.rb, line 174</span>
|
|
606
|
+
174: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">type</span>)
|
|
607
|
+
175: <span class="ruby-keyword kw">super</span>
|
|
608
|
+
176: <span class="ruby-keyword kw">end</span></pre>
|
|
605
609
|
</div>
|
|
606
610
|
|
|
607
611
|
</div>
|
|
@@ -632,10 +636,10 @@
|
|
|
632
636
|
<div class="method-source-code"
|
|
633
637
|
id="tjp-d-source">
|
|
634
638
|
<pre>
|
|
635
|
-
<span class="ruby-comment cmt"># File lib/Attributes.rb, line
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
+
<span class="ruby-comment cmt"># File lib/Attributes.rb, line 178</span>
|
|
640
|
+
178: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ColumnListAttribute</span><span class="ruby-operator">::</span><span class="ruby-identifier">tjpId</span>
|
|
641
|
+
179: <span class="ruby-value str">'columns'</span>
|
|
642
|
+
180: <span class="ruby-keyword kw">end</span></pre>
|
|
639
643
|
</div>
|
|
640
644
|
|
|
641
645
|
</div>
|
|
@@ -672,10 +676,10 @@
|
|
|
672
676
|
<div class="method-source-code"
|
|
673
677
|
id="to-s-source">
|
|
674
678
|
<pre>
|
|
675
|
-
<span class="ruby-comment cmt"># File lib/Attributes.rb, line
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
+
<span class="ruby-comment cmt"># File lib/Attributes.rb, line 182</span>
|
|
680
|
+
182: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">query</span> = <span class="ruby-keyword kw">nil</span>)
|
|
681
|
+
183: <span class="ruby-value str">"TODO"</span>
|
|
682
|
+
184: <span class="ruby-keyword kw">end</span></pre>
|
|
679
683
|
</div>
|
|
680
684
|
|
|
681
685
|
</div>
|
|
@@ -129,6 +129,8 @@
|
|
|
129
129
|
|
|
130
130
|
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
131
131
|
|
|
132
|
+
<li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
|
|
133
|
+
|
|
132
134
|
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
133
135
|
|
|
134
136
|
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
@@ -207,6 +209,8 @@
|
|
|
207
209
|
|
|
208
210
|
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
209
211
|
|
|
212
|
+
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
213
|
+
|
|
210
214
|
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
211
215
|
|
|
212
216
|
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
@@ -239,6 +243,8 @@
|
|
|
239
243
|
|
|
240
244
|
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
241
245
|
|
|
246
|
+
<li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
|
|
247
|
+
|
|
242
248
|
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
243
249
|
|
|
244
250
|
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
@@ -519,6 +525,8 @@
|
|
|
519
525
|
|
|
520
526
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
521
527
|
|
|
528
|
+
<li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
|
|
529
|
+
|
|
522
530
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
523
531
|
|
|
524
532
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -545,8 +553,6 @@
|
|
|
545
553
|
|
|
546
554
|
<li><a href="../String.html">String</a></li>
|
|
547
555
|
|
|
548
|
-
<li><a href="../StringIO.html">StringIO</a></li>
|
|
549
|
-
|
|
550
556
|
</ul>
|
|
551
557
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
552
558
|
</div>
|
|
@@ -626,17 +632,17 @@ Create a new <a href="ColumnTable.html">ColumnTable</a> object.
|
|
|
626
632
|
<div class="method-source-code"
|
|
627
633
|
id="new-source">
|
|
628
634
|
<pre>
|
|
629
|
-
<span class="ruby-comment cmt"># File lib/reports/ColumnTable.rb, line
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
635
|
+
<span class="ruby-comment cmt"># File lib/reports/ColumnTable.rb, line 26</span>
|
|
636
|
+
26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
|
|
637
|
+
27: <span class="ruby-keyword kw">super</span>
|
|
638
|
+
28: <span class="ruby-comment cmt"># The user requested width of the column (chart)</span>
|
|
639
|
+
29: <span class="ruby-ivar">@viewWidth</span> = <span class="ruby-keyword kw">nil</span>
|
|
640
|
+
30: <span class="ruby-comment cmt"># The header will have 2 lines. So, use a smaller font. This should match</span>
|
|
641
|
+
31: <span class="ruby-comment cmt"># the font size used for the GanttChart header.</span>
|
|
642
|
+
32: <span class="ruby-ivar">@headerFontSize</span> = <span class="ruby-value">10</span>
|
|
643
|
+
33: <span class="ruby-comment cmt"># This is an embedded table.</span>
|
|
644
|
+
34: <span class="ruby-ivar">@embedded</span> = <span class="ruby-keyword kw">true</span>
|
|
645
|
+
35: <span class="ruby-keyword kw">end</span></pre>
|
|
640
646
|
</div>
|
|
641
647
|
|
|
642
648
|
</div>
|
|
@@ -673,37 +679,37 @@ Create a new <a href="ColumnTable.html">ColumnTable</a> object.
|
|
|
673
679
|
<div class="method-source-code"
|
|
674
680
|
id="to-html-source">
|
|
675
681
|
<pre>
|
|
676
|
-
<span class="ruby-comment cmt"># File lib/reports/ColumnTable.rb, line
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
682
|
+
<span class="ruby-comment cmt"># File lib/reports/ColumnTable.rb, line 37</span>
|
|
683
|
+
37: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
|
|
684
|
+
38: <span class="ruby-identifier">height</span> = <span class="ruby-value">2</span> * <span class="ruby-ivar">@headerLineHeight</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
|
|
685
|
+
39: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
|
686
|
+
40: <span class="ruby-comment cmt"># Add line height plus 1 pixel padding</span>
|
|
687
|
+
41: <span class="ruby-identifier">height</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">height</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
|
|
688
|
+
42: <span class="ruby-keyword kw">end</span>
|
|
689
|
+
43:
|
|
690
|
+
44: <span class="ruby-comment cmt"># Since we don't know the resulting width of the column, we need to always</span>
|
|
691
|
+
45: <span class="ruby-comment cmt"># add an extra space for the scrollbar.</span>
|
|
692
|
+
46: <span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'rowspan'</span> =<span class="ruby-operator">></span> <span class="ruby-node">"#{2 + @lines.length + 1}"</span>,
|
|
693
|
+
47: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'padding:0px; vertical-align:top;'</span>)
|
|
694
|
+
48: <span class="ruby-comment cmt"># Now we generate a 'div' that will contain the nested table. It has a</span>
|
|
695
|
+
49: <span class="ruby-comment cmt"># height that fits all lines but has a maximum width. In case the embedded</span>
|
|
696
|
+
50: <span class="ruby-comment cmt"># table is larger, a scrollbar will appear. We assume that the scrollbar</span>
|
|
697
|
+
51: <span class="ruby-comment cmt"># has a height of SCROLLBARHEIGHT pixels or less.</span>
|
|
698
|
+
52: <span class="ruby-comment cmt"># If there is a user specified with, use it. Otherwise use the</span>
|
|
699
|
+
53: <span class="ruby-comment cmt"># calculated minimum with.</span>
|
|
700
|
+
54: <span class="ruby-identifier">width</span> = <span class="ruby-ivar">@viewWidth</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@viewWidth</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">minWidth</span>
|
|
701
|
+
55: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">scrollDiv</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'tabback'</span>,
|
|
702
|
+
56: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'position:relative; overflow:auto; '</span> <span class="ruby-operator">+</span>
|
|
703
|
+
57: <span class="ruby-node">"width:#{width}px; "</span> <span class="ruby-operator">+</span>
|
|
704
|
+
58: <span class="ruby-value str">'margin-top:-1px; margin-bottom:-1px; '</span> <span class="ruby-operator">+</span>
|
|
705
|
+
59: <span class="ruby-node">"height:#{height + SCROLLBARHEIGHT + 2}px;"</span>))
|
|
706
|
+
60:
|
|
707
|
+
61: <span class="ruby-identifier">scrollDiv</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">contentDiv</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>,
|
|
708
|
+
62: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'margin: 0px; padding: 0px; position: absolute; top: 0px;'</span> <span class="ruby-operator">+</span>
|
|
709
|
+
63: <span class="ruby-node">"left: 0px; width: #{@viewWidth}px; height: #{height}px; "</span>))
|
|
710
|
+
64: <span class="ruby-identifier">contentDiv</span> <span class="ruby-operator"><<</span> <span class="ruby-keyword kw">super</span>
|
|
711
|
+
65: <span class="ruby-identifier">td</span>
|
|
712
|
+
66: <span class="ruby-keyword kw">end</span></pre>
|
|
707
713
|
</div>
|
|
708
714
|
|
|
709
715
|
</div>
|
data/doc/TaskJuggler/Daemon.html
CHANGED
|
@@ -131,6 +131,8 @@
|
|
|
131
131
|
|
|
132
132
|
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
133
133
|
|
|
134
|
+
<li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
|
|
135
|
+
|
|
134
136
|
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
135
137
|
|
|
136
138
|
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
@@ -209,6 +211,8 @@
|
|
|
209
211
|
|
|
210
212
|
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
211
213
|
|
|
214
|
+
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
215
|
+
|
|
212
216
|
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
213
217
|
|
|
214
218
|
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
@@ -241,6 +245,8 @@
|
|
|
241
245
|
|
|
242
246
|
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
243
247
|
|
|
248
|
+
<li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
|
|
249
|
+
|
|
244
250
|
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
245
251
|
|
|
246
252
|
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
@@ -521,6 +527,8 @@
|
|
|
521
527
|
|
|
522
528
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
523
529
|
|
|
530
|
+
<li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
|
|
531
|
+
|
|
524
532
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
525
533
|
|
|
526
534
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -547,8 +555,6 @@
|
|
|
547
555
|
|
|
548
556
|
<li><a href="../String.html">String</a></li>
|
|
549
557
|
|
|
550
|
-
<li><a href="../StringIO.html">StringIO</a></li>
|
|
551
|
-
|
|
552
558
|
</ul>
|
|
553
559
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
554
560
|
</div>
|
|
@@ -592,6 +598,21 @@ this class and call the start() method.
|
|
|
592
598
|
|
|
593
599
|
|
|
594
600
|
|
|
601
|
+
</div>
|
|
602
|
+
</div>
|
|
603
|
+
|
|
604
|
+
<div id="log-attribute-method" class="method-detail">
|
|
605
|
+
<a name="log"></a>
|
|
606
|
+
|
|
607
|
+
<div class="method-heading attribute-method-heading">
|
|
608
|
+
<span class="method-name">log</span><span
|
|
609
|
+
class="attribute-access-type">[R]</span>
|
|
610
|
+
</div>
|
|
611
|
+
|
|
612
|
+
<div class="method-description">
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
|
|
595
616
|
</div>
|
|
596
617
|
</div>
|
|
597
618
|
|
|
@@ -624,14 +645,14 @@ this class and call the start() method.
|
|
|
624
645
|
<div class="method-source-code"
|
|
625
646
|
id="new-source">
|
|
626
647
|
<pre>
|
|
627
|
-
<span class="ruby-comment cmt"># File lib/daemon/Daemon.rb, line
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
648
|
+
<span class="ruby-comment cmt"># File lib/daemon/Daemon.rb, line 26</span>
|
|
649
|
+
26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
|
|
650
|
+
27: <span class="ruby-comment cmt"># You can set this flag to false to prevent the program from</span>
|
|
651
|
+
28: <span class="ruby-comment cmt"># disconnecting from the current terminal. This is useful for debugging</span>
|
|
652
|
+
29: <span class="ruby-comment cmt"># purposes.</span>
|
|
653
|
+
30: <span class="ruby-ivar">@daemonize</span> = <span class="ruby-keyword kw">true</span>
|
|
654
|
+
31: <span class="ruby-ivar">@log</span> = <span class="ruby-constant">LogFile</span>.<span class="ruby-identifier">instance</span>
|
|
655
|
+
32: <span class="ruby-keyword kw">end</span></pre>
|
|
635
656
|
</div>
|
|
636
657
|
|
|
637
658
|
</div>
|
|
@@ -670,44 +691,44 @@ Call this method to turn the process into a background process.
|
|
|
670
691
|
<div class="method-source-code"
|
|
671
692
|
id="start-source">
|
|
672
693
|
<pre>
|
|
673
|
-
<span class="ruby-comment cmt"># File lib/daemon/Daemon.rb, line
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
55:
|
|
697
|
-
56: <span class="ruby-ivar">@pid</span> = <span class="ruby-constant">Process</span>.<span class="ruby-identifier">pid</span>
|
|
694
|
+
<span class="ruby-comment cmt"># File lib/daemon/Daemon.rb, line 35</span>
|
|
695
|
+
35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start</span>
|
|
696
|
+
36: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@daemonize</span>
|
|
697
|
+
37:
|
|
698
|
+
38: <span class="ruby-comment cmt"># Fork and have the parent exit</span>
|
|
699
|
+
39: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">pid</span> = <span class="ruby-identifier">fork</span>) <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
|
|
700
|
+
40: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">fatal</span>(<span class="ruby-value str">'First fork failed'</span>)
|
|
701
|
+
41: <span class="ruby-keyword kw">elsif</span> <span class="ruby-operator">!</span><span class="ruby-identifier">pid</span>.<span class="ruby-identifier">nil?</span>
|
|
702
|
+
42: <span class="ruby-comment cmt"># This is the parent. We can exit now.</span>
|
|
703
|
+
43: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">"Forked a child process with PID #{pid}"</span>)
|
|
704
|
+
44: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
|
|
705
|
+
45: <span class="ruby-keyword kw">end</span>
|
|
706
|
+
46:
|
|
707
|
+
47: <span class="ruby-comment cmt"># Create a new session</span>
|
|
708
|
+
48: <span class="ruby-constant">Process</span>.<span class="ruby-identifier">setsid</span>
|
|
709
|
+
49: <span class="ruby-comment cmt"># Fork again to make sure we lose the controlling terminal</span>
|
|
710
|
+
50: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">pid</span> = <span class="ruby-identifier">fork</span>) <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
|
|
711
|
+
51: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">fatal</span>(<span class="ruby-value str">'Second fork failed'</span>)
|
|
712
|
+
52: <span class="ruby-keyword kw">elsif</span> <span class="ruby-operator">!</span><span class="ruby-identifier">pid</span>.<span class="ruby-identifier">nil?</span>
|
|
713
|
+
53: <span class="ruby-comment cmt"># This is the parent. We can exit now.</span>
|
|
714
|
+
54: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">"Forked a child process with PID #{pid}"</span>)
|
|
715
|
+
55: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
|
|
716
|
+
56: <span class="ruby-keyword kw">end</span>
|
|
698
717
|
57:
|
|
699
|
-
58: <span class="ruby-
|
|
700
|
-
59:
|
|
701
|
-
60: <span class="ruby-comment cmt">#
|
|
702
|
-
61: <span class="ruby-constant">
|
|
703
|
-
62:
|
|
704
|
-
63: <span class="ruby-
|
|
705
|
-
64:
|
|
706
|
-
65: <span class="ruby-
|
|
707
|
-
66: <span class="ruby-identifier">$
|
|
708
|
-
67:
|
|
709
|
-
68: <span class="ruby-
|
|
710
|
-
69:
|
|
718
|
+
58: <span class="ruby-ivar">@pid</span> = <span class="ruby-constant">Process</span>.<span class="ruby-identifier">pid</span>
|
|
719
|
+
59:
|
|
720
|
+
60: <span class="ruby-comment cmt"># Change current working directory to the file system root</span>
|
|
721
|
+
61: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span> <span class="ruby-value str">'/'</span>
|
|
722
|
+
62: <span class="ruby-comment cmt"># Make sure we can create files with any permission</span>
|
|
723
|
+
63: <span class="ruby-constant">File</span>.<span class="ruby-identifier">umask</span> <span class="ruby-value">0</span>
|
|
724
|
+
64:
|
|
725
|
+
65: <span class="ruby-comment cmt"># We no longer have a controlling terminal, so these are useless.</span>
|
|
726
|
+
66: <span class="ruby-identifier">$stdin</span>.<span class="ruby-identifier">reopen</span>(<span class="ruby-value str">'/dev/null'</span>)
|
|
727
|
+
67: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">reopen</span>(<span class="ruby-value str">'/dev/null'</span>, <span class="ruby-value str">'a'</span>)
|
|
728
|
+
68: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">reopen</span>(<span class="ruby-identifier">$stdout</span>)
|
|
729
|
+
69:
|
|
730
|
+
70: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">"The process is running as daemon now with PID #{@pid}"</span>)
|
|
731
|
+
71: <span class="ruby-keyword kw">end</span></pre>
|
|
711
732
|
</div>
|
|
712
733
|
|
|
713
734
|
</div>
|
|
@@ -741,9 +762,9 @@ better call it before you exit.
|
|
|
741
762
|
<div class="method-source-code"
|
|
742
763
|
id="stop-source">
|
|
743
764
|
<pre>
|
|
744
|
-
<span class="ruby-comment cmt"># File lib/daemon/Daemon.rb, line
|
|
745
|
-
|
|
746
|
-
|
|
765
|
+
<span class="ruby-comment cmt"># File lib/daemon/Daemon.rb, line 75</span>
|
|
766
|
+
75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stop</span>
|
|
767
|
+
76: <span class="ruby-keyword kw">end</span></pre>
|
|
747
768
|
</div>
|
|
748
769
|
|
|
749
770
|
</div>
|
|
@@ -71,6 +71,8 @@
|
|
|
71
71
|
|
|
72
72
|
<li><a href="#method-c-new">::new</a></li>
|
|
73
73
|
|
|
74
|
+
<li><a href="#method-i-cached">#cached</a></li>
|
|
75
|
+
|
|
74
76
|
<li><a href="#method-i-flush">#flush</a></li>
|
|
75
77
|
|
|
76
78
|
<li><a href="#method-i-load">#load</a></li>
|
|
@@ -148,6 +150,8 @@
|
|
|
148
150
|
|
|
149
151
|
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
150
152
|
|
|
153
|
+
<li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
|
|
154
|
+
|
|
151
155
|
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
152
156
|
|
|
153
157
|
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
@@ -226,6 +230,8 @@
|
|
|
226
230
|
|
|
227
231
|
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
228
232
|
|
|
233
|
+
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
234
|
+
|
|
229
235
|
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
230
236
|
|
|
231
237
|
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
@@ -258,6 +264,8 @@
|
|
|
258
264
|
|
|
259
265
|
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
260
266
|
|
|
267
|
+
<li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
|
|
268
|
+
|
|
261
269
|
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
262
270
|
|
|
263
271
|
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
@@ -538,6 +546,8 @@
|
|
|
538
546
|
|
|
539
547
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
540
548
|
|
|
549
|
+
<li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
|
|
550
|
+
|
|
541
551
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
542
552
|
|
|
543
553
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -564,8 +574,6 @@
|
|
|
564
574
|
|
|
565
575
|
<li><a href="../String.html">String</a></li>
|
|
566
576
|
|
|
567
|
-
<li><a href="../StringIO.html">StringIO</a></li>
|
|
568
|
-
|
|
569
577
|
</ul>
|
|
570
578
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
571
579
|
</div>
|
|
@@ -621,17 +629,17 @@ occasions during the program execution.
|
|
|
621
629
|
<div class="method-source-code"
|
|
622
630
|
id="new-source">
|
|
623
631
|
<pre>
|
|
624
|
-
<span class="ruby-comment cmt"># File lib/DataCache.rb, line
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
632
|
+
<span class="ruby-comment cmt"># File lib/DataCache.rb, line 54</span>
|
|
633
|
+
54: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
|
|
634
|
+
55: <span class="ruby-identifier">resize</span>
|
|
635
|
+
56: <span class="ruby-identifier">flush</span>
|
|
636
|
+
57: <span class="ruby-comment cmt"># Counter for the number of writes to the cache.</span>
|
|
637
|
+
58: <span class="ruby-ivar">@stores</span> = <span class="ruby-value">0</span>
|
|
638
|
+
59: <span class="ruby-comment cmt"># Counter for the number of found values.</span>
|
|
639
|
+
60: <span class="ruby-ivar">@hits</span> = <span class="ruby-value">0</span>
|
|
640
|
+
61: <span class="ruby-comment cmt"># Counter for the number of not found values.</span>
|
|
641
|
+
62: <span class="ruby-ivar">@misses</span> = <span class="ruby-value">0</span>
|
|
642
|
+
63: <span class="ruby-keyword kw">end</span></pre>
|
|
635
643
|
</div>
|
|
636
644
|
|
|
637
645
|
</div>
|
|
@@ -648,6 +656,50 @@ occasions during the program execution.
|
|
|
648
656
|
<h3 class="section-header">Public Instance Methods</h3>
|
|
649
657
|
|
|
650
658
|
|
|
659
|
+
<div id="cached-method" class="method-detail ">
|
|
660
|
+
<a name="method-i-cached"></a>
|
|
661
|
+
|
|
662
|
+
<div class="method-heading">
|
|
663
|
+
|
|
664
|
+
<span class="method-name">cached</span><span
|
|
665
|
+
class="method-args">(key)</span>
|
|
666
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
667
|
+
|
|
668
|
+
</div>
|
|
669
|
+
|
|
670
|
+
<div class="method-description">
|
|
671
|
+
|
|
672
|
+
<p>
|
|
673
|
+
If we have a value for the <em>key</em>, return the value. Otherwise call
|
|
674
|
+
the block to compute the value, store it and return it.
|
|
675
|
+
</p>
|
|
676
|
+
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
<div class="method-source-code"
|
|
680
|
+
id="cached-source">
|
|
681
|
+
<pre>
|
|
682
|
+
<span class="ruby-comment cmt"># File lib/DataCache.rb, line 116</span>
|
|
683
|
+
116: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cached</span>(<span class="ruby-identifier">key</span>)
|
|
684
|
+
117: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@entries</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">key</span>)
|
|
685
|
+
118: <span class="ruby-identifier">e</span> = <span class="ruby-ivar">@entries</span>[<span class="ruby-identifier">key</span>]
|
|
686
|
+
119: <span class="ruby-ivar">@hits</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
687
|
+
120: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">value</span>
|
|
688
|
+
121: <span class="ruby-keyword kw">else</span>
|
|
689
|
+
122: <span class="ruby-ivar">@misses</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
690
|
+
123: <span class="ruby-identifier">store</span>(<span class="ruby-keyword kw">yield</span>, <span class="ruby-identifier">key</span>)
|
|
691
|
+
124: <span class="ruby-keyword kw">end</span>
|
|
692
|
+
125: <span class="ruby-keyword kw">end</span></pre>
|
|
693
|
+
</div>
|
|
694
|
+
|
|
695
|
+
</div>
|
|
696
|
+
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
|
|
700
|
+
</div>
|
|
701
|
+
|
|
702
|
+
|
|
651
703
|
<div id="flush-method" class="method-detail ">
|
|
652
704
|
<a name="method-i-flush"></a>
|
|
653
705
|
|
|
@@ -671,10 +723,10 @@ all data values are lost.
|
|
|
671
723
|
<div class="method-source-code"
|
|
672
724
|
id="flush-source">
|
|
673
725
|
<pre>
|
|
674
|
-
<span class="ruby-comment cmt"># File lib/DataCache.rb, line
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
726
|
+
<span class="ruby-comment cmt"># File lib/DataCache.rb, line 76</span>
|
|
727
|
+
76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">flush</span>
|
|
728
|
+
77: <span class="ruby-ivar">@entries</span> = {}
|
|
729
|
+
78: <span class="ruby-keyword kw">end</span></pre>
|
|
678
730
|
</div>
|
|
679
731
|
|
|
680
732
|
</div>
|
|
@@ -708,16 +760,16 @@ not found, nil is returned.
|
|
|
708
760
|
<div class="method-source-code"
|
|
709
761
|
id="load-source">
|
|
710
762
|
<pre>
|
|
711
|
-
<span class="ruby-comment cmt"># File lib/DataCache.rb, line
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
763
|
+
<span class="ruby-comment cmt"># File lib/DataCache.rb, line 104</span>
|
|
764
|
+
104: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load</span>(<span class="ruby-identifier">key</span>)
|
|
765
|
+
105: <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>])
|
|
766
|
+
106: <span class="ruby-ivar">@hits</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
767
|
+
107: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">value</span>
|
|
768
|
+
108: <span class="ruby-keyword kw">else</span>
|
|
769
|
+
109: <span class="ruby-ivar">@misses</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
770
|
+
110: <span class="ruby-keyword kw">nil</span>
|
|
771
|
+
111: <span class="ruby-keyword kw">end</span>
|
|
772
|
+
112: <span class="ruby-keyword kw">end</span></pre>
|
|
721
773
|
</div>
|
|
722
774
|
|
|
723
775
|
</div>
|
|
@@ -750,14 +802,14 @@ For now, we use this randomly determined size.
|
|
|
750
802
|
<div class="method-source-code"
|
|
751
803
|
id="resize-source">
|
|
752
804
|
<pre>
|
|
753
|
-
<span class="ruby-comment cmt"># File lib/DataCache.rb, line
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
805
|
+
<span class="ruby-comment cmt"># File lib/DataCache.rb, line 66</span>
|
|
806
|
+
66: <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>)
|
|
807
|
+
67: <span class="ruby-ivar">@highWaterMark</span> = <span class="ruby-identifier">size</span>
|
|
808
|
+
68: <span class="ruby-comment cmt"># Flushing out the least used entries is fairly expensive. So we only</span>
|
|
809
|
+
69: <span class="ruby-comment cmt"># want to do this once in a while. The lowWaterMark determines how much</span>
|
|
810
|
+
70: <span class="ruby-comment cmt"># of the entries will survive the flush.</span>
|
|
811
|
+
71: <span class="ruby-ivar">@lowWaterMark</span> = <span class="ruby-identifier">size</span> * <span class="ruby-value">0.9</span>
|
|
812
|
+
72: <span class="ruby-keyword kw">end</span></pre>
|
|
761
813
|
</div>
|
|
762
814
|
|
|
763
815
|
</div>
|
|
@@ -792,25 +844,25 @@ cache again. You cannot store nil values!
|
|
|
792
844
|
<div class="method-source-code"
|
|
793
845
|
id="store-source">
|
|
794
846
|
<pre>
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
847
|
+
<span class="ruby-comment cmt"># File lib/DataCache.rb, line 83</span>
|
|
848
|
+
83: <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>)
|
|
849
|
+
84: <span class="ruby-ivar">@stores</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
850
|
+
85:
|
|
851
|
+
86: <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>
|
|
852
|
+
87: <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>
|
|
853
|
+
88: <span class="ruby-comment cmt"># How many entries do we need to delete to get to the low watermark?</span>
|
|
854
|
+
89: <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>
|
|
855
|
+
90: <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>
|
|
856
|
+
91: <span class="ruby-comment cmt"># Hit counts age with every cleanup.</span>
|
|
857
|
+
92: (<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>
|
|
858
|
+
93: <span class="ruby-keyword kw">end</span>
|
|
859
|
+
94: <span class="ruby-keyword kw">end</span>
|
|
860
|
+
95: <span class="ruby-keyword kw">end</span>
|
|
861
|
+
96:
|
|
862
|
+
97: <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>)
|
|
863
|
+
98:
|
|
864
|
+
99: <span class="ruby-identifier">value</span>
|
|
865
|
+
100: <span class="ruby-keyword kw">end</span></pre>
|
|
814
866
|
</div>
|
|
815
867
|
|
|
816
868
|
</div>
|
|
@@ -841,10 +893,10 @@ cache again. You cannot store nil values!
|
|
|
841
893
|
<div class="method-source-code"
|
|
842
894
|
id="to-s-source">
|
|
843
895
|
<pre>
|
|
844
|
-
<span class="ruby-comment cmt"># File lib/DataCache.rb, line
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
896
|
+
<span class="ruby-comment cmt"># File lib/DataCache.rb, line 127</span>
|
|
897
|
+
127: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
|
898
|
+
128: <span class="ruby-value str">Entries: #{@entries.size} Stores: #{@stores}Hits: #{@hits} Misses: #{@misses}Hit Rate: #{@hits * 100.0 / (@hits + @misses)}%</span>
|
|
899
|
+
129: <span class="ruby-keyword kw">end</span></pre>
|
|
848
900
|
</div>
|
|
849
901
|
|
|
850
902
|
</div>
|