taskjuggler 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +160 -0
- data/benchmarks/UTF-8-Strings.rb +58 -0
- data/data/css/tjreport.css +7 -2
- data/doc/AppConfig.html +10 -4
- data/doc/Arguments.html +10 -4
- data/doc/CHANGELOG.html +171 -5
- data/doc/COPYING.html +10 -4
- data/doc/Object.html +11 -107
- data/doc/README.html +10 -4
- data/doc/RuntimeConfig.html +10 -4
- data/doc/String.html +16 -11
- data/doc/StringIO.html +10 -4
- data/doc/TaskJuggler.html +506 -435
- data/doc/TaskJuggler/Account.html +10 -4
- data/doc/TaskJuggler/AccountAttribute.html +10 -4
- data/doc/TaskJuggler/AccountScenario.html +10 -4
- data/doc/TaskJuggler/Allocation.html +69 -60
- data/doc/TaskJuggler/AllocationAttribute.html +10 -4
- data/doc/TaskJuggler/AttributeBase.html +10 -4
- data/doc/TaskJuggler/AttributeDefinition.html +10 -4
- data/doc/TaskJuggler/BatchProcessor.html +202 -192
- data/doc/TaskJuggler/Booking.html +10 -4
- data/doc/TaskJuggler/BookingListAttribute.html +10 -4
- data/doc/TaskJuggler/BooleanAttribute.html +10 -4
- data/doc/TaskJuggler/CSVFile.html +10 -4
- data/doc/TaskJuggler/CellSettingPattern.html +10 -4
- data/doc/TaskJuggler/CellSettingPatternList.html +10 -4
- data/doc/TaskJuggler/Charge.html +10 -4
- data/doc/TaskJuggler/ChargeListAttribute.html +10 -4
- data/doc/TaskJuggler/ChargeSet.html +10 -4
- data/doc/TaskJuggler/ChargeSetListAttribute.html +10 -4
- data/doc/TaskJuggler/ColumnListAttribute.html +10 -4
- data/doc/TaskJuggler/ColumnTable.html +10 -4
- data/doc/TaskJuggler/Daemon.html +71 -52
- data/doc/TaskJuggler/DateAttribute.html +10 -4
- data/doc/TaskJuggler/DefinitionListAttribute.html +10 -4
- data/doc/TaskJuggler/DependencyListAttribute.html +10 -4
- data/doc/TaskJuggler/DurationAttribute.html +10 -4
- data/doc/TaskJuggler/{MacroParser.html → FileList.html} +58 -173
- data/doc/TaskJuggler/{RichTextException.html → FileRecord.html} +59 -80
- data/doc/TaskJuggler/FixnumAttribute.html +10 -4
- data/doc/TaskJuggler/FlagListAttribute.html +10 -4
- data/doc/TaskJuggler/FloatAttribute.html +10 -4
- data/doc/TaskJuggler/FormatListAttribute.html +10 -4
- data/doc/TaskJuggler/GanttChart.html +10 -4
- data/doc/TaskJuggler/GanttContainer.html +14 -8
- data/doc/TaskJuggler/GanttHeader.html +10 -4
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +10 -4
- data/doc/TaskJuggler/GanttLine.html +29 -24
- data/doc/TaskJuggler/GanttLoadStack.html +10 -4
- data/doc/TaskJuggler/GanttMilestone.html +10 -4
- data/doc/TaskJuggler/GanttRouter.html +10 -4
- data/doc/TaskJuggler/GanttTaskBar.html +20 -10
- data/doc/TaskJuggler/HTMLDocument.html +10 -4
- data/doc/TaskJuggler/HTMLGraphics.html +10 -4
- data/doc/TaskJuggler/Interval.html +10 -4
- data/doc/TaskJuggler/IntervalListAttribute.html +10 -4
- data/doc/TaskJuggler/JobInfo.html +10 -4
- data/doc/TaskJuggler/Journal.html +227 -160
- data/doc/TaskJuggler/JournalEntry.html +10 -4
- data/doc/TaskJuggler/JournalEntryList.html +158 -72
- data/doc/TaskJuggler/KeywordArray.html +21 -9
- data/doc/TaskJuggler/KeywordDocumentation.html +612 -475
- data/doc/TaskJuggler/Limits.html +13 -8
- data/doc/TaskJuggler/Limits/Limit.html +10 -4
- data/doc/TaskJuggler/LimitsAttribute.html +10 -4
- data/doc/TaskJuggler/ListAttributeBase.html +10 -4
- data/doc/TaskJuggler/Log.html +10 -4
- data/doc/TaskJuggler/LogFile.html +10 -4
- data/doc/TaskJuggler/LogicalAttribute.html +10 -4
- data/doc/TaskJuggler/LogicalExpression.html +11 -5
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +10 -4
- data/doc/TaskJuggler/LogicalFlag.html +10 -4
- data/doc/TaskJuggler/LogicalFunction.html +132 -124
- data/doc/TaskJuggler/LogicalOperation.html +10 -4
- data/doc/TaskJuggler/Macro.html +16 -10
- data/doc/TaskJuggler/MacroTable.html +44 -38
- data/doc/TaskJuggler/ManagerResponsibilities.html +10 -4
- data/doc/TaskJuggler/ManagerStatusRecord.html +10 -4
- data/doc/TaskJuggler/Message.html +92 -68
- data/doc/TaskJuggler/MessageHandler.html +349 -28
- data/doc/TaskJuggler/Navigator.html +10 -4
- data/doc/TaskJuggler/NavigatorElement.html +10 -4
- data/doc/TaskJuggler/NikuProject.html +10 -4
- data/doc/TaskJuggler/NikuReport.html +10 -4
- data/doc/TaskJuggler/NikuResource.html +10 -4
- data/doc/TaskJuggler/NodeListAttribute.html +10 -4
- data/doc/TaskJuggler/OnShiftCache.html +10 -4
- data/doc/TaskJuggler/ProcessIntercom.html +118 -111
- data/doc/TaskJuggler/ProcessIntercomIface.html +75 -22
- data/doc/TaskJuggler/Project.html +886 -913
- data/doc/TaskJuggler/ProjectBroker.html +442 -331
- data/doc/TaskJuggler/ProjectBrokerIface.html +95 -38
- data/doc/TaskJuggler/ProjectFileParser.html +320 -317
- data/doc/TaskJuggler/ProjectFileScanner.html +336 -339
- data/doc/TaskJuggler/ProjectRecord.html +119 -56
- data/doc/TaskJuggler/ProjectServer.html +282 -237
- data/doc/TaskJuggler/ProjectServerIface.html +45 -39
- data/doc/TaskJuggler/PropertyAttribute.html +10 -4
- data/doc/TaskJuggler/PropertyList.html +177 -173
- data/doc/TaskJuggler/PropertySet.html +11 -5
- data/doc/TaskJuggler/PropertyTreeNode.html +194 -191
- data/doc/TaskJuggler/Query.html +280 -256
- data/doc/TaskJuggler/RTFHandlers.html +10 -4
- data/doc/TaskJuggler/RTFNavigator.html +33 -26
- data/doc/TaskJuggler/RTFQuery.html +135 -169
- data/doc/TaskJuggler/RTFReport.html +63 -56
- data/doc/TaskJuggler/RTFReportLink.html +58 -47
- data/doc/TaskJuggler/RTFWithQuerySupport.html +666 -0
- data/doc/TaskJuggler/RealFormat.html +10 -4
- data/doc/TaskJuggler/RealFormatAttribute.html +10 -4
- data/doc/TaskJuggler/ReferenceAttribute.html +10 -4
- data/doc/TaskJuggler/Report.html +333 -290
- data/doc/TaskJuggler/ReportBase.html +182 -174
- data/doc/TaskJuggler/ReportContext.html +10 -4
- data/doc/TaskJuggler/ReportServer.html +144 -126
- data/doc/TaskJuggler/ReportServerIface.html +50 -44
- data/doc/TaskJuggler/ReportServerRecord.html +38 -32
- data/doc/TaskJuggler/ReportServlet.html +144 -137
- data/doc/TaskJuggler/ReportTable.html +10 -4
- data/doc/TaskJuggler/ReportTableCell.html +169 -164
- data/doc/TaskJuggler/ReportTableColumn.html +10 -4
- data/doc/TaskJuggler/ReportTableLegend.html +10 -4
- data/doc/TaskJuggler/ReportTableLine.html +10 -4
- data/doc/TaskJuggler/Resource.html +121 -115
- data/doc/TaskJuggler/ResourceListAttribute.html +10 -4
- data/doc/TaskJuggler/ResourceListRE.html +10 -4
- data/doc/TaskJuggler/ResourceScenario.html +13 -7
- data/doc/TaskJuggler/RichText.html +61 -37
- data/doc/TaskJuggler/RichTextAttribute.html +10 -4
- data/doc/TaskJuggler/RichTextDocument.html +91 -81
- data/doc/TaskJuggler/RichTextElement.html +378 -317
- data/doc/TaskJuggler/RichTextFunctionExample.html +10 -4
- data/doc/TaskJuggler/RichTextFunctionHandler.html +16 -11
- data/doc/TaskJuggler/RichTextImage.html +10 -4
- data/doc/TaskJuggler/RichTextIntermediate.html +138 -70
- data/doc/TaskJuggler/RichTextParser.html +48 -40
- data/doc/TaskJuggler/RichTextScanner.html +328 -906
- data/doc/TaskJuggler/RichTextSnip.html +59 -57
- data/doc/TaskJuggler/RichTextSyntaxRules.html +458 -369
- data/doc/TaskJuggler/Scenario.html +10 -4
- data/doc/TaskJuggler/ScenarioData.html +33 -30
- data/doc/TaskJuggler/ScenarioListAttribute.html +10 -4
- data/doc/TaskJuggler/Scoreboard.html +10 -4
- data/doc/TaskJuggler/SheetHandlerBase.html +315 -191
- data/doc/TaskJuggler/SheetReceiver.html +334 -313
- data/doc/TaskJuggler/SheetSender.html +10 -4
- data/doc/TaskJuggler/Shift.html +10 -4
- data/doc/TaskJuggler/ShiftAssignment.html +10 -4
- data/doc/TaskJuggler/ShiftAssignments.html +10 -4
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +10 -4
- data/doc/TaskJuggler/ShiftScenario.html +10 -4
- data/doc/TaskJuggler/SimpleQueryExpander.html +697 -0
- data/doc/TaskJuggler/SortListAttribute.html +10 -4
- data/doc/TaskJuggler/SourceFileInfo.html +10 -4
- data/doc/TaskJuggler/StatusSheetReceiver.html +10 -4
- data/doc/TaskJuggler/StatusSheetReport.html +10 -4
- data/doc/TaskJuggler/StatusSheetSender.html +10 -4
- data/doc/TaskJuggler/StringAttribute.html +10 -4
- data/doc/TaskJuggler/SymbolAttribute.html +10 -4
- data/doc/TaskJuggler/SyntaxReference.html +260 -230
- data/doc/TaskJuggler/TOCEntry.html +99 -42
- data/doc/TaskJuggler/TSResourceRecord.html +10 -4
- data/doc/TaskJuggler/TSTaskRecord.html +10 -4
- data/doc/TaskJuggler/TableColumnDefinition.html +10 -4
- data/doc/TaskJuggler/TableOfContents.html +54 -12
- data/doc/TaskJuggler/TableReport.html +877 -872
- data/doc/TaskJuggler/Task.html +117 -68
- data/doc/TaskJuggler/TaskDependency.html +10 -4
- data/doc/TaskJuggler/TaskListAttribute.html +10 -4
- data/doc/TaskJuggler/TaskListRE.html +10 -4
- data/doc/TaskJuggler/TaskScenario.html +1681 -1563
- data/doc/TaskJuggler/TextFormatter.html +10 -4
- data/doc/TaskJuggler/TextParser.html +567 -534
- data/doc/TaskJuggler/TextParser/Pattern.html +128 -118
- data/doc/TaskJuggler/TextParser/Rule.html +26 -15
- data/doc/TaskJuggler/TextParser/StackElement.html +10 -4
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +22 -16
- data/doc/TaskJuggler/TextParser/TokenDoc.html +10 -4
- data/doc/TaskJuggler/TextReport.html +15 -6
- data/doc/TaskJuggler/TextScanner.html +319 -287
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +16 -10
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +23 -17
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +17 -11
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
- data/doc/TaskJuggler/TimeSheet.html +138 -175
- data/doc/TaskJuggler/TimeSheetReceiver.html +10 -4
- data/doc/TaskJuggler/TimeSheetRecord.html +65 -58
- data/doc/TaskJuggler/TimeSheetReport.html +47 -42
- data/doc/TaskJuggler/TimeSheetSender.html +10 -4
- data/doc/TaskJuggler/TimeSheetSummary.html +91 -83
- data/doc/TaskJuggler/TimeSheets.html +22 -16
- data/doc/TaskJuggler/Tj3AppBase.html +10 -4
- data/doc/TaskJuggler/Tj3Client.html +399 -365
- data/doc/TaskJuggler/Tj3Daemon.html +107 -94
- data/doc/TaskJuggler/Tj3SheetAppBase.html +10 -4
- data/doc/TaskJuggler/Tj3SsReceiver.html +10 -4
- data/doc/TaskJuggler/Tj3SsSender.html +10 -4
- data/doc/TaskJuggler/Tj3TsReceiver.html +10 -4
- data/doc/TaskJuggler/Tj3TsSender.html +10 -4
- data/doc/TaskJuggler/Tj3TsSummary.html +10 -4
- data/doc/TaskJuggler/TjException.html +10 -4
- data/doc/TaskJuggler/TjTime.html +145 -140
- data/doc/TaskJuggler/TjpExample.html +10 -4
- data/doc/TaskJuggler/TjpExportRE.html +122 -118
- data/doc/TaskJuggler/TjpSyntaxRules.html +4065 -4052
- data/doc/TaskJuggler/URLParameter.html +10 -4
- data/doc/TaskJuggler/UserManual.html +162 -155
- data/doc/TaskJuggler/VimSyntax.html +1028 -0
- data/doc/TaskJuggler/WebServer.html +45 -27
- data/doc/TaskJuggler/WorkingHours.html +10 -4
- data/doc/TaskJuggler/WorkingHoursAttribute.html +10 -4
- data/doc/TaskJuggler/XMLBlob.html +10 -4
- data/doc/TaskJuggler/XMLComment.html +10 -4
- data/doc/TaskJuggler/XMLDocument.html +10 -4
- data/doc/TaskJuggler/XMLElement.html +10 -4
- data/doc/TaskJuggler/XMLNamedText.html +10 -4
- data/doc/TaskJuggler/XMLText.html +10 -4
- data/doc/index.html +735 -677
- data/doc/lib/AccountScenario_rb.html +1 -1
- data/doc/lib/Account_rb.html +1 -1
- data/doc/lib/Allocation_rb.html +1 -1
- data/doc/lib/AppConfig_rb.html +1 -1
- data/doc/lib/AttributeBase_rb.html +1 -1
- data/doc/lib/AttributeDefinition_rb.html +1 -1
- data/doc/lib/Attributes_rb.html +1 -1
- data/doc/lib/BatchProcessor_rb.html +1 -1
- data/doc/lib/Booking_rb.html +1 -1
- data/doc/lib/ChargeSet_rb.html +1 -1
- data/doc/lib/Charge_rb.html +1 -1
- data/doc/lib/{Message_rb.html → FileList_rb.html} +3 -5
- data/doc/lib/HTMLDocument_rb.html +1 -1
- data/doc/lib/Interval_rb.html +1 -1
- data/doc/lib/Journal_rb.html +1 -1
- data/doc/lib/KeywordArray_rb.html +1 -1
- data/doc/lib/KeywordDocumentation_rb.html +1 -1
- data/doc/lib/Limits_rb.html +1 -1
- data/doc/lib/LogFile_rb.html +1 -1
- data/doc/lib/Log_rb.html +1 -1
- data/doc/lib/LogicalExpression_rb.html +1 -1
- data/doc/lib/LogicalFunction_rb.html +1 -1
- data/doc/lib/LogicalOperation_rb.html +1 -1
- data/doc/lib/MacroTable_rb.html +1 -3
- data/doc/lib/MessageHandler_rb.html +1 -1
- data/doc/lib/ProjectFileParser_rb.html +1 -1
- data/doc/lib/ProjectFileScanner_rb.html +1 -1
- data/doc/lib/Project_rb.html +4 -2
- data/doc/lib/PropertyList_rb.html +1 -1
- data/doc/lib/PropertySet_rb.html +1 -1
- data/doc/lib/PropertyTreeNode_rb.html +1 -1
- data/doc/lib/Query_rb.html +1 -1
- data/doc/lib/RTFHandlers_rb.html +1 -1
- data/doc/lib/RTFNavigator_rb.html +1 -1
- data/doc/lib/RTFQuery_rb.html +2 -2
- data/doc/lib/RTFReportLink_rb.html +4 -2
- data/doc/lib/RTFReport_rb.html +1 -1
- data/doc/lib/{MacroParser_rb.html → RTFWithQuerySupport_rb.html} +4 -6
- data/doc/lib/RealFormat_rb.html +1 -1
- data/doc/lib/ResourceScenario_rb.html +1 -1
- data/doc/lib/Resource_rb.html +1 -1
- data/doc/lib/RichTextDocument_rb.html +1 -1
- data/doc/lib/RichTextElement_rb.html +1 -1
- data/doc/lib/RichTextFunctionExample_rb.html +1 -1
- data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
- data/doc/lib/RichTextParser_rb.html +1 -1
- data/doc/lib/RichTextScanner_rb.html +3 -1
- data/doc/lib/RichTextSnip_rb.html +1 -1
- data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
- data/doc/lib/RichText_rb.html +3 -1
- data/doc/lib/RuntimeConfig_rb.html +1 -1
- data/doc/lib/ScenarioData_rb.html +2 -2
- data/doc/lib/Scenario_rb.html +1 -1
- data/doc/lib/Scoreboard_rb.html +1 -1
- data/doc/lib/SheetHandlerBase_rb.html +5 -1
- data/doc/lib/SheetReceiver_rb.html +3 -1
- data/doc/lib/SheetSender_rb.html +1 -1
- data/doc/lib/ShiftAssignments_rb.html +1 -1
- data/doc/lib/ShiftScenario_rb.html +1 -1
- data/doc/lib/Shift_rb.html +1 -1
- data/doc/lib/SimpleQueryExpander_rb.html +67 -0
- data/doc/lib/SourceFileInfo_rb.html +1 -1
- data/doc/lib/StatusSheetReceiver_rb.html +1 -1
- data/doc/lib/StatusSheetSender_rb.html +1 -1
- data/doc/lib/SyntaxReference_rb.html +1 -1
- data/doc/lib/TOCEntry_rb.html +1 -1
- data/doc/lib/TableColumnDefinition_rb.html +1 -1
- data/doc/lib/TableOfContents_rb.html +1 -1
- data/doc/lib/TaskDependency_rb.html +1 -1
- data/doc/lib/TaskJuggler_rb.html +1 -1
- data/doc/lib/TaskScenario_rb.html +1 -1
- data/doc/lib/Task_rb.html +1 -1
- data/doc/lib/TextFormatter_rb.html +1 -1
- data/doc/lib/TextParser/Pattern_rb.html +1 -1
- data/doc/lib/TextParser/Rule_rb.html +1 -1
- data/doc/lib/TextParser/StackElement_rb.html +1 -1
- data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
- data/doc/lib/TextParser_rb.html +3 -1
- data/doc/lib/TextScanner_rb.html +1 -3
- data/doc/lib/TimeSheetReceiver_rb.html +1 -1
- data/doc/lib/TimeSheetSender_rb.html +1 -1
- data/doc/lib/TimeSheetSummary_rb.html +1 -1
- data/doc/lib/TimeSheets_rb.html +1 -1
- data/doc/lib/Tj3AppBase_rb.html +1 -1
- data/doc/lib/Tj3Config_rb.html +1 -1
- data/doc/lib/Tj3SheetAppBase_rb.html +1 -1
- data/doc/lib/TjException_rb.html +1 -1
- data/doc/lib/TjTime_rb.html +1 -1
- data/doc/lib/TjpExample_rb.html +1 -1
- data/doc/lib/TjpSyntaxRules_rb.html +1 -1
- data/doc/lib/URLParameter_rb.html +1 -1
- data/doc/lib/UTF8String_rb.html +1 -1
- data/doc/lib/UserManual_rb.html +1 -1
- data/doc/lib/{ruby-signal-bug_rb.html → VimSyntax_rb.html} +17 -4
- data/doc/lib/WorkingHours_rb.html +1 -1
- data/doc/lib/XMLDocument_rb.html +1 -1
- data/doc/lib/XMLElement_rb.html +1 -1
- data/doc/lib/daemon/Daemon_rb.html +1 -1
- data/doc/lib/daemon/ProcessIntercom_rb.html +1 -1
- data/doc/lib/daemon/ProjectBroker_rb.html +1 -1
- data/doc/lib/daemon/ProjectServer_rb.html +1 -1
- data/doc/lib/daemon/ReportServer_rb.html +1 -3
- data/doc/lib/daemon/WebServer_rb.html +1 -1
- data/doc/lib/deep_copy_rb.html +1 -1
- data/doc/lib/reports/CSVFile_rb.html +1 -1
- data/doc/lib/reports/ColumnTable_rb.html +1 -1
- data/doc/lib/reports/GanttChart_rb.html +1 -1
- data/doc/lib/reports/GanttContainer_rb.html +1 -1
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
- data/doc/lib/reports/GanttHeader_rb.html +1 -1
- data/doc/lib/reports/GanttLine_rb.html +1 -1
- data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
- data/doc/lib/reports/GanttMilestone_rb.html +1 -1
- data/doc/lib/reports/GanttRouter_rb.html +1 -1
- data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
- data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
- data/doc/lib/reports/Navigator_rb.html +1 -1
- data/doc/lib/reports/NikuReport_rb.html +1 -1
- data/doc/lib/reports/ReportBase_rb.html +1 -1
- data/doc/lib/reports/ReportContext_rb.html +1 -1
- data/doc/lib/reports/ReportTableCell_rb.html +1 -1
- data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
- data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
- data/doc/lib/reports/ReportTableLine_rb.html +1 -1
- data/doc/lib/reports/ReportTable_rb.html +1 -1
- data/doc/lib/reports/Report_rb.html +1 -1
- data/doc/lib/reports/ResourceListRE_rb.html +1 -1
- data/doc/lib/reports/StatusSheetReport_rb.html +1 -1
- data/doc/lib/reports/TableReport_rb.html +1 -1
- data/doc/lib/reports/TaskListRE_rb.html +1 -1
- data/doc/lib/reports/TextReport_rb.html +1 -1
- data/doc/lib/reports/TimeSheetReport_rb.html +1 -1
- data/doc/lib/reports/TjpExportRE_rb.html +1 -1
- data/doc/lib/taskjuggler3_rb.html +1 -1
- data/doc/lib/tj3client_rb.html +1 -1
- data/doc/lib/tj3d_rb.html +1 -1
- data/doc/lib/tj3man_rb.html +1 -1
- data/doc/lib/tj3ss_receiver_rb.html +1 -1
- data/doc/lib/tj3ss_sender_rb.html +1 -1
- data/doc/lib/tj3ts_receiver_rb.html +1 -1
- data/doc/lib/tj3ts_sender_rb.html +1 -1
- data/doc/lib/tj3ts_summary_rb.html +1 -1
- data/lib/Allocation.rb +8 -5
- data/lib/BatchProcessor.rb +7 -3
- data/lib/FileList.rb +58 -0
- data/lib/Journal.rb +73 -33
- data/lib/KeywordArray.rb +4 -0
- data/lib/KeywordDocumentation.rb +45 -11
- data/lib/Limits.rb +0 -1
- data/lib/LogicalExpression.rb +1 -1
- data/lib/LogicalFunction.rb +14 -12
- data/lib/MacroTable.rb +3 -4
- data/lib/MessageHandler.rb +136 -7
- data/lib/Project.rb +72 -86
- data/lib/ProjectFileParser.rb +30 -33
- data/lib/ProjectFileScanner.rb +7 -16
- data/lib/PropertyList.rb +25 -27
- data/lib/PropertySet.rb +1 -1
- data/lib/PropertyTreeNode.rb +9 -12
- data/lib/Query.rb +5 -4
- data/lib/RTFNavigator.rb +2 -1
- data/lib/RTFQuery.rb +4 -11
- data/lib/RTFReport.rb +2 -1
- data/lib/RTFReportLink.rb +10 -4
- data/lib/RTFWithQuerySupport.rb +45 -0
- data/lib/Resource.rb +20 -20
- data/lib/ResourceScenario.rb +3 -3
- data/lib/RichText.rb +15 -7
- data/lib/RichTextDocument.rb +8 -4
- data/lib/RichTextElement.rb +35 -12
- data/lib/RichTextFunctionHandler.rb +11 -12
- data/lib/RichTextParser.rb +5 -3
- data/lib/RichTextScanner.rb +144 -565
- data/lib/RichTextSnip.rb +3 -7
- data/lib/RichTextSyntaxRules.rb +51 -32
- data/lib/ScenarioData.rb +16 -25
- data/lib/SheetHandlerBase.rb +59 -2
- data/lib/SheetReceiver.rb +36 -18
- data/lib/SimpleQueryExpander.rb +58 -0
- data/lib/SyntaxReference.rb +9 -5
- data/lib/TOCEntry.rb +2 -0
- data/lib/TableOfContents.rb +4 -0
- data/lib/Task.rb +23 -12
- data/lib/TaskJuggler.rb +72 -33
- data/lib/TaskScenario.rb +131 -53
- data/lib/TextParser.rb +43 -30
- data/lib/TextParser/Pattern.rb +17 -13
- data/lib/TextParser/Rule.rb +5 -0
- data/lib/TextScanner.rb +46 -25
- data/lib/TimeSheetSummary.rb +9 -7
- data/lib/TimeSheets.rb +14 -23
- data/lib/Tj3Config.rb +1 -1
- data/lib/TjTime.rb +1 -2
- data/lib/TjpSyntaxRules.rb +128 -104
- data/lib/UTF8String.rb +0 -1
- data/lib/UserManual.rb +5 -4
- data/lib/VimSyntax.rb +223 -0
- data/lib/daemon/Daemon.rb +9 -0
- data/lib/daemon/ProcessIntercom.rb +19 -4
- data/lib/daemon/ProjectBroker.rb +149 -68
- data/lib/daemon/ProjectServer.rb +119 -79
- data/lib/daemon/ReportServer.rb +42 -31
- data/lib/daemon/WebServer.rb +21 -2
- data/lib/deep_copy.rb +1 -1
- data/lib/reports/GanttContainer.rb +2 -2
- data/lib/reports/GanttLine.rb +2 -3
- data/lib/reports/GanttTaskBar.rb +7 -3
- data/lib/reports/Report.rb +62 -57
- data/lib/reports/ReportBase.rb +6 -4
- data/lib/reports/ReportTableCell.rb +13 -14
- data/lib/reports/TableReport.rb +2 -1
- data/lib/reports/TextReport.rb +3 -0
- data/lib/reports/TimeSheetReport.rb +2 -3
- data/lib/reports/TjpExportRE.rb +0 -2
- data/lib/tj3client.rb +31 -3
- data/lib/tj3d.rb +8 -1
- data/manual/Day_To_Day_Juggling +2 -95
- data/manual/How_To_Contribute +2 -1
- data/manual/Rich_Text_Attributes +37 -3
- data/manual/Software +203 -0
- data/test/MessageChecker.rb +4 -4
- data/test/TestSuite/HTML-Reports/Alerts.html +172 -0
- data/test/TestSuite/HTML-Reports/CellText.html +758 -0
- data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
- data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
- data/test/TestSuite/HTML-Reports/LogicalFunctions.html +245 -0
- data/test/TestSuite/HTML-Reports/Query.html +31 -0
- data/test/TestSuite/HTML-Reports/css/tjmanual.css +14 -0
- data/test/TestSuite/HTML-Reports/css/tjreport.css +233 -21
- data/test/TestSuite/HTML-Reports/depArrows.html +842 -0
- data/test/TestSuite/HTML-Reports/scripts/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +20 -20
- data/test/TestSuite/ReportGenerator/Correct/Alerts.tjp +48 -0
- data/test/TestSuite/ReportGenerator/Correct/Macros.tjp +57 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/Alerts-1.csv +386 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/Macros-1.csv +6 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/css/tjmanual.css +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/css/tjreport.css +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/details.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-green.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-red.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-yellow.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/resource.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/resourcegroup.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/task.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/taskgroup.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-down.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-flat.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-up.png +0 -0
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +26 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/scripts/wz_tooltip.js +0 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.html +3210 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +19 -0
- data/test/TestSuite/Scheduler/Correct/Container.html +22 -22
- data/test/TestSuite/Scheduler/Correct/Limits.html +4964 -0
- data/test/TestSuite/Scheduler/Correct/Shift.html +1707 -417
- data/test/TestSuite/Scheduler/Correct/Shift2.html +9 -9
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +6 -2
- data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +66 -0
- data/test/TestSuite/Scheduler/Errors/css/tjreport.css +407 -0
- data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_1.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_10.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_11.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_14.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_2.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_4.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_5.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_9.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/Scheduler/Errors/task_pred_before.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/task_pred_before_gd.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/task_pred_before_gl.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/task_succ_after.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/task_succ_after_gd.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/task_succ_after_gl.tjp +12 -0
- data/test/TestSuite/StatusSheets/dev2.tji +22 -0
- data/test/TestSuite/StatusSheets/resrep.tji +7 -0
- data/test/TestSuite/StatusSheets/run +6 -4
- data/test/TestSuite/StatusSheets/tj3d.log +312 -0
- data/test/TestSuite/Syntax/Correct/Managers.html +263 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +1 -2
- data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +1 -1
- data/test/TestSuite/TimeSheets/acceptable_intervals +1 -0
- data/test/TestSuite/TimeSheets/resrep.tji +7 -0
- data/test/TestSuite/TimeSheets/run +6 -5
- data/test/TestSuite/TimeSheets/statussheets.log +1 -0
- data/test/TestSuite/TimeSheets/ts.tji +351 -0
- data/test/TestSuite/TimeSheets/tsdef.tji +2 -0
- data/test/test_PropertySet.rb +2 -2
- data/test/test_RichText.rb +178 -387
- data/test/test_SimpleQueryExpander.rb +55 -0
- data/test/test_deep_copy.rb +2 -2
- metadata +854 -834
- data/lib/MacroParser.rb +0 -77
- data/lib/Message.rb +0 -56
- data/lib/ruby-signal-bug.rb +0 -43
- data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
- data/test/TestSuite/HTML-Reports/reference.html +0 -51
- data/test/TestSuite/ReportGenerator/Correct/Journal.html +0 -63
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +0 -3
- data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +0 -2
- data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
- data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
- data/test/TestSuite/Scheduler/Correct/Booking2.html +0 -603
- data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +0 -108
- data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
- data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
- data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +0 -32
|
@@ -167,6 +167,10 @@
|
|
|
167
167
|
|
|
168
168
|
<li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
|
|
169
169
|
|
|
170
|
+
<li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
|
|
171
|
+
|
|
172
|
+
<li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
|
|
173
|
+
|
|
170
174
|
<li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
|
|
171
175
|
|
|
172
176
|
<li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
|
|
@@ -239,8 +243,6 @@
|
|
|
239
243
|
|
|
240
244
|
<li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
|
|
241
245
|
|
|
242
|
-
<li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
|
|
243
|
-
|
|
244
246
|
<li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
|
|
245
247
|
|
|
246
248
|
<li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
|
|
@@ -305,6 +307,8 @@
|
|
|
305
307
|
|
|
306
308
|
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
307
309
|
|
|
310
|
+
<li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
|
|
311
|
+
|
|
308
312
|
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
309
313
|
|
|
310
314
|
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
@@ -351,8 +355,6 @@
|
|
|
351
355
|
|
|
352
356
|
<li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
|
|
353
357
|
|
|
354
|
-
<li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
|
|
355
|
-
|
|
356
358
|
<li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
|
|
357
359
|
|
|
358
360
|
<li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
|
|
@@ -393,6 +395,8 @@
|
|
|
393
395
|
|
|
394
396
|
<li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
|
|
395
397
|
|
|
398
|
+
<li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
|
|
399
|
+
|
|
396
400
|
<li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
|
|
397
401
|
|
|
398
402
|
<li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
|
|
@@ -503,6 +507,8 @@
|
|
|
503
507
|
|
|
504
508
|
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
505
509
|
|
|
510
|
+
<li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
|
|
511
|
+
|
|
506
512
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
507
513
|
|
|
508
514
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
@@ -163,6 +163,10 @@
|
|
|
163
163
|
|
|
164
164
|
<li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
|
|
165
165
|
|
|
166
|
+
<li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
|
|
167
|
+
|
|
168
|
+
<li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
|
|
169
|
+
|
|
166
170
|
<li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
|
|
167
171
|
|
|
168
172
|
<li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
|
|
@@ -235,8 +239,6 @@
|
|
|
235
239
|
|
|
236
240
|
<li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
|
|
237
241
|
|
|
238
|
-
<li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
|
|
239
|
-
|
|
240
242
|
<li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
|
|
241
243
|
|
|
242
244
|
<li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
|
|
@@ -301,6 +303,8 @@
|
|
|
301
303
|
|
|
302
304
|
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
303
305
|
|
|
306
|
+
<li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
|
|
307
|
+
|
|
304
308
|
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
305
309
|
|
|
306
310
|
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
@@ -347,8 +351,6 @@
|
|
|
347
351
|
|
|
348
352
|
<li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
|
|
349
353
|
|
|
350
|
-
<li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
|
|
351
|
-
|
|
352
354
|
<li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
|
|
353
355
|
|
|
354
356
|
<li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
|
|
@@ -389,6 +391,8 @@
|
|
|
389
391
|
|
|
390
392
|
<li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
|
|
391
393
|
|
|
394
|
+
<li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
|
|
395
|
+
|
|
392
396
|
<li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
|
|
393
397
|
|
|
394
398
|
<li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
|
|
@@ -499,6 +503,8 @@
|
|
|
499
503
|
|
|
500
504
|
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
501
505
|
|
|
506
|
+
<li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
|
|
507
|
+
|
|
502
508
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
503
509
|
|
|
504
510
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
@@ -173,6 +173,10 @@
|
|
|
173
173
|
|
|
174
174
|
<li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
|
|
175
175
|
|
|
176
|
+
<li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
|
|
177
|
+
|
|
178
|
+
<li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
|
|
179
|
+
|
|
176
180
|
<li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
|
|
177
181
|
|
|
178
182
|
<li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
|
|
@@ -245,8 +249,6 @@
|
|
|
245
249
|
|
|
246
250
|
<li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
|
|
247
251
|
|
|
248
|
-
<li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
|
|
249
|
-
|
|
250
252
|
<li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
|
|
251
253
|
|
|
252
254
|
<li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
|
|
@@ -311,6 +313,8 @@
|
|
|
311
313
|
|
|
312
314
|
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
313
315
|
|
|
316
|
+
<li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
|
|
317
|
+
|
|
314
318
|
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
315
319
|
|
|
316
320
|
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
@@ -357,8 +361,6 @@
|
|
|
357
361
|
|
|
358
362
|
<li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
|
|
359
363
|
|
|
360
|
-
<li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
|
|
361
|
-
|
|
362
364
|
<li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
|
|
363
365
|
|
|
364
366
|
<li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
|
|
@@ -399,6 +401,8 @@
|
|
|
399
401
|
|
|
400
402
|
<li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
|
|
401
403
|
|
|
404
|
+
<li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
|
|
405
|
+
|
|
402
406
|
<li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
|
|
403
407
|
|
|
404
408
|
<li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
|
|
@@ -509,6 +513,8 @@
|
|
|
509
513
|
|
|
510
514
|
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
511
515
|
|
|
516
|
+
<li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
|
|
517
|
+
|
|
512
518
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
513
519
|
|
|
514
520
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
data/doc/TaskJuggler/Report.html
CHANGED
|
@@ -99,6 +99,8 @@
|
|
|
99
99
|
|
|
100
100
|
<li><a href="#method-i-to_html">#to_html</a></li>
|
|
101
101
|
|
|
102
|
+
<li><a href="#method-i-warning">#warning</a></li>
|
|
103
|
+
|
|
102
104
|
</ul>
|
|
103
105
|
</div>
|
|
104
106
|
|
|
@@ -191,6 +193,10 @@
|
|
|
191
193
|
|
|
192
194
|
<li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
|
|
193
195
|
|
|
196
|
+
<li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
|
|
197
|
+
|
|
198
|
+
<li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
|
|
199
|
+
|
|
194
200
|
<li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
|
|
195
201
|
|
|
196
202
|
<li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
|
|
@@ -263,8 +269,6 @@
|
|
|
263
269
|
|
|
264
270
|
<li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
|
|
265
271
|
|
|
266
|
-
<li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
|
|
267
|
-
|
|
268
272
|
<li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
|
|
269
273
|
|
|
270
274
|
<li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
|
|
@@ -329,6 +333,8 @@
|
|
|
329
333
|
|
|
330
334
|
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
331
335
|
|
|
336
|
+
<li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
|
|
337
|
+
|
|
332
338
|
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
333
339
|
|
|
334
340
|
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
@@ -375,8 +381,6 @@
|
|
|
375
381
|
|
|
376
382
|
<li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
|
|
377
383
|
|
|
378
|
-
<li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
|
|
379
|
-
|
|
380
384
|
<li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
|
|
381
385
|
|
|
382
386
|
<li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
|
|
@@ -417,6 +421,8 @@
|
|
|
417
421
|
|
|
418
422
|
<li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
|
|
419
423
|
|
|
424
|
+
<li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
|
|
425
|
+
|
|
420
426
|
<li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
|
|
421
427
|
|
|
422
428
|
<li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
|
|
@@ -527,6 +533,8 @@
|
|
|
527
533
|
|
|
528
534
|
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
529
535
|
|
|
536
|
+
<li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
|
|
537
|
+
|
|
530
538
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
531
539
|
|
|
532
540
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
@@ -676,6 +684,46 @@ Create a new report object.
|
|
|
676
684
|
<h3 class="section-header">Public Instance Methods</h3>
|
|
677
685
|
|
|
678
686
|
|
|
687
|
+
<div id="error-method" class="method-detail ">
|
|
688
|
+
<a name="method-i-error"></a>
|
|
689
|
+
|
|
690
|
+
<div class="method-heading">
|
|
691
|
+
|
|
692
|
+
<span class="method-name">error</span><span
|
|
693
|
+
class="method-args">(id, message)</span>
|
|
694
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
695
|
+
|
|
696
|
+
</div>
|
|
697
|
+
|
|
698
|
+
<div class="method-description">
|
|
699
|
+
|
|
700
|
+
|
|
701
|
+
|
|
702
|
+
|
|
703
|
+
|
|
704
|
+
<div class="method-source-code"
|
|
705
|
+
id="error-source">
|
|
706
|
+
<pre>
|
|
707
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 111</span>
|
|
708
|
+
111: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">message</span>)
|
|
709
|
+
112: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">message</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
|
|
710
|
+
113: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">message</span>, <span class="ruby-ivar">@sourceFileInfo</span>)
|
|
711
|
+
114: <span class="ruby-keyword kw">else</span>
|
|
712
|
+
115: <span class="ruby-comment cmt"># We have no message, so the error has already been reported to the</span>
|
|
713
|
+
116: <span class="ruby-comment cmt"># MessageHandler. Just trigger another exception to signal the error.</span>
|
|
714
|
+
117: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>
|
|
715
|
+
118: <span class="ruby-keyword kw">end</span>
|
|
716
|
+
119: <span class="ruby-keyword kw">end</span></pre>
|
|
717
|
+
</div>
|
|
718
|
+
|
|
719
|
+
</div>
|
|
720
|
+
|
|
721
|
+
|
|
722
|
+
|
|
723
|
+
|
|
724
|
+
</div>
|
|
725
|
+
|
|
726
|
+
|
|
679
727
|
<div id="generate-method" class="method-detail ">
|
|
680
728
|
<a name="method-i-generate"></a>
|
|
681
729
|
|
|
@@ -702,30 +750,26 @@ according the the requested output format(s).
|
|
|
702
750
|
<pre>
|
|
703
751
|
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 49</span>
|
|
704
752
|
49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate</span>
|
|
705
|
-
50: <span class="ruby-
|
|
706
|
-
51:
|
|
707
|
-
52:
|
|
708
|
-
53:
|
|
709
|
-
54: <span class="ruby-
|
|
710
|
-
55:
|
|
711
|
-
56: <span class="ruby-
|
|
712
|
-
57:
|
|
713
|
-
58:
|
|
714
|
-
59: <span class="ruby-
|
|
715
|
-
60:
|
|
716
|
-
61: <span class="ruby-
|
|
717
|
-
62:
|
|
718
|
-
63: <span class="ruby-
|
|
719
|
-
64:
|
|
720
|
-
65: <span class="ruby-
|
|
721
|
-
66:
|
|
722
|
-
67:
|
|
723
|
-
68:
|
|
724
|
-
69:
|
|
725
|
-
70: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'reporting_failed'</span>, <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">message</span>)
|
|
726
|
-
71: <span class="ruby-keyword kw">end</span>
|
|
727
|
-
72: <span class="ruby-value">0</span>
|
|
728
|
-
73: <span class="ruby-keyword kw">end</span></pre>
|
|
753
|
+
50: <span class="ruby-identifier">generateIntermediateFormat</span>
|
|
754
|
+
51:
|
|
755
|
+
52: <span class="ruby-comment cmt"># Then generate the actual output format.</span>
|
|
756
|
+
53: <span class="ruby-identifier">get</span>(<span class="ruby-value str">'formats'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">format</span><span class="ruby-operator">|</span>
|
|
757
|
+
54: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">format</span>
|
|
758
|
+
55: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:html</span>
|
|
759
|
+
56: <span class="ruby-identifier">generateHTML</span>
|
|
760
|
+
57: <span class="ruby-identifier">copyAuxiliaryFiles</span>
|
|
761
|
+
58: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:csv</span>
|
|
762
|
+
59: <span class="ruby-identifier">generateCSV</span>
|
|
763
|
+
60: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:niku</span>
|
|
764
|
+
61: <span class="ruby-identifier">generateNiku</span>
|
|
765
|
+
62: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:tjp</span>
|
|
766
|
+
63: <span class="ruby-identifier">generateTJP</span>
|
|
767
|
+
64: <span class="ruby-keyword kw">else</span>
|
|
768
|
+
65: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'Unknown report output format #{format}.'</span>
|
|
769
|
+
66: <span class="ruby-keyword kw">end</span>
|
|
770
|
+
67: <span class="ruby-keyword kw">end</span>
|
|
771
|
+
68: <span class="ruby-keyword kw">true</span>
|
|
772
|
+
69: <span class="ruby-keyword kw">end</span></pre>
|
|
729
773
|
</div>
|
|
730
774
|
|
|
731
775
|
</div>
|
|
@@ -759,36 +803,32 @@ the respective output formats.
|
|
|
759
803
|
<div class="method-source-code"
|
|
760
804
|
id="generate-ntermediate-ormat-source">
|
|
761
805
|
<pre>
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
102: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span>
|
|
789
|
-
103: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'report_IR_generattion_failed'</span>, <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">message</span>)
|
|
790
|
-
104: <span class="ruby-keyword kw">end</span>
|
|
791
|
-
105: <span class="ruby-keyword kw">end</span></pre>
|
|
806
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 73</span>
|
|
807
|
+
73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateIntermediateFormat</span>
|
|
808
|
+
74: <span class="ruby-ivar">@content</span> = <span class="ruby-keyword kw">nil</span>
|
|
809
|
+
75: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@typeSpec</span>
|
|
810
|
+
76: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:export</span>
|
|
811
|
+
77: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">TjpExportRE</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
|
|
812
|
+
78: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:niku</span>
|
|
813
|
+
79: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">NikuReport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
|
|
814
|
+
80: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:resourcereport</span>
|
|
815
|
+
81: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">ResourceListRE</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
|
|
816
|
+
82: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:textreport</span>
|
|
817
|
+
83: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">TextReport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
|
|
818
|
+
84: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:taskreport</span>
|
|
819
|
+
85: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">TaskListRE</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
|
|
820
|
+
86: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:statusSheet</span>
|
|
821
|
+
87: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">StatusSheetReport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
|
|
822
|
+
88: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:timeSheet</span>
|
|
823
|
+
89: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">TimeSheetReport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
|
|
824
|
+
90: <span class="ruby-keyword kw">else</span>
|
|
825
|
+
91: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Unknown report type"</span>
|
|
826
|
+
92: <span class="ruby-keyword kw">end</span>
|
|
827
|
+
93:
|
|
828
|
+
94: <span class="ruby-comment cmt"># Most output format can be generated from a common intermediate</span>
|
|
829
|
+
95: <span class="ruby-comment cmt"># representation of the elements. We generate that IR first.</span>
|
|
830
|
+
96: <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">generateIntermediateFormat</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@content</span>
|
|
831
|
+
97: <span class="ruby-keyword kw">end</span></pre>
|
|
792
832
|
</div>
|
|
793
833
|
|
|
794
834
|
</div>
|
|
@@ -823,10 +863,10 @@ interactive setting.
|
|
|
823
863
|
<div class="method-source-code"
|
|
824
864
|
id="interactive--source">
|
|
825
865
|
<pre>
|
|
826
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
866
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 107</span>
|
|
867
|
+
107: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">interactive?</span>
|
|
868
|
+
108: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">reportContexts</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'interactive'</span>)
|
|
869
|
+
109: <span class="ruby-keyword kw">end</span></pre>
|
|
830
870
|
</div>
|
|
831
871
|
|
|
832
872
|
</div>
|
|
@@ -859,10 +899,46 @@ Render the content of the report as HTML (without the framing).
|
|
|
859
899
|
<div class="method-source-code"
|
|
860
900
|
id="to-html-source">
|
|
861
901
|
<pre>
|
|
862
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
902
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 100</span>
|
|
903
|
+
100: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
|
|
904
|
+
101: <span class="ruby-ivar">@content</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">to_html</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
|
|
905
|
+
102: <span class="ruby-keyword kw">end</span></pre>
|
|
906
|
+
</div>
|
|
907
|
+
|
|
908
|
+
</div>
|
|
909
|
+
|
|
910
|
+
|
|
911
|
+
|
|
912
|
+
|
|
913
|
+
</div>
|
|
914
|
+
|
|
915
|
+
|
|
916
|
+
<div id="warning-method" class="method-detail ">
|
|
917
|
+
<a name="method-i-warning"></a>
|
|
918
|
+
|
|
919
|
+
<div class="method-heading">
|
|
920
|
+
|
|
921
|
+
<span class="method-name">warning</span><span
|
|
922
|
+
class="method-args">(id, message)</span>
|
|
923
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
924
|
+
|
|
925
|
+
</div>
|
|
926
|
+
|
|
927
|
+
<div class="method-description">
|
|
928
|
+
|
|
929
|
+
|
|
930
|
+
|
|
931
|
+
|
|
932
|
+
|
|
933
|
+
<div class="method-source-code"
|
|
934
|
+
id="warning-source">
|
|
935
|
+
<pre>
|
|
936
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 121</span>
|
|
937
|
+
121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">warning</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">message</span>)
|
|
938
|
+
122: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">message</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">message</span>.<span class="ruby-identifier">empty?</span>
|
|
939
|
+
123: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">warning</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">message</span>, <span class="ruby-ivar">@sourceFileInfo</span>)
|
|
940
|
+
124: <span class="ruby-keyword kw">end</span>
|
|
941
|
+
125: <span class="ruby-keyword kw">end</span></pre>
|
|
866
942
|
</div>
|
|
867
943
|
|
|
868
944
|
</div>
|
|
@@ -901,10 +977,10 @@ Convenience function to access a report attribute
|
|
|
901
977
|
<div class="method-source-code"
|
|
902
978
|
id="a-source">
|
|
903
979
|
<pre>
|
|
904
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
980
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 129</span>
|
|
981
|
+
129: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">a</span>(<span class="ruby-identifier">attribute</span>)
|
|
982
|
+
130: <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attribute</span>)
|
|
983
|
+
131: <span class="ruby-keyword kw">end</span></pre>
|
|
908
984
|
</div>
|
|
909
985
|
|
|
910
986
|
</div>
|
|
@@ -935,15 +1011,15 @@ Convenience function to access a report attribute
|
|
|
935
1011
|
<div class="method-source-code"
|
|
936
1012
|
id="copy-uxiliary-iles-source">
|
|
937
1013
|
<pre>
|
|
938
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
1014
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 287</span>
|
|
1015
|
+
287: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">copyAuxiliaryFiles</span>
|
|
1016
|
+
288: <span class="ruby-comment cmt"># Don't copy files if output is stdout.</span>
|
|
1017
|
+
289: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'.'</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'interactive'</span>)
|
|
1018
|
+
290:
|
|
1019
|
+
291: <span class="ruby-identifier">copyDirectory</span>(<span class="ruby-value str">'css'</span>)
|
|
1020
|
+
292: <span class="ruby-identifier">copyDirectory</span>(<span class="ruby-value str">'icons'</span>)
|
|
1021
|
+
293: <span class="ruby-identifier">copyDirectory</span>(<span class="ruby-value str">'scripts'</span>)
|
|
1022
|
+
294: <span class="ruby-keyword kw">end</span></pre>
|
|
947
1023
|
</div>
|
|
948
1024
|
|
|
949
1025
|
</div>
|
|
@@ -974,21 +1050,21 @@ Convenience function to access a report attribute
|
|
|
974
1050
|
<div class="method-source-code"
|
|
975
1051
|
id="copy-irectory-source">
|
|
976
1052
|
<pre>
|
|
977
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
1053
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 296</span>
|
|
1054
|
+
296: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">copyDirectory</span>(<span class="ruby-identifier">dirName</span>)
|
|
1055
|
+
297: <span class="ruby-comment cmt"># The directory needs to be in the same directory as the HTML report.</span>
|
|
1056
|
+
298: <span class="ruby-identifier">auxDstDir</span> = (<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>((<span class="ruby-ivar">@name</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'/'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">outputDir</span>) <span class="ruby-operator">+</span>
|
|
1057
|
+
299: <span class="ruby-ivar">@name</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>).<span class="ruby-identifier">untaint</span>
|
|
1058
|
+
300: <span class="ruby-comment cmt"># Find the data directory that came with the TaskJuggler installation.</span>
|
|
1059
|
+
301: <span class="ruby-identifier">auxSrcDir</span> = <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataDirs</span>(<span class="ruby-node">"data/#{dirName}"</span>)[<span class="ruby-value">0</span>].<span class="ruby-identifier">untaint</span>
|
|
1060
|
+
302: <span class="ruby-comment cmt"># Raise an error if we haven't found the data directory</span>
|
|
1061
|
+
303: <span class="ruby-identifier">dataDirError</span>(<span class="ruby-identifier">dirName</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">auxSrcDir</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">auxSrcDir</span>)
|
|
1062
|
+
304: <span class="ruby-comment cmt"># Don't copy directory if all files are up-to-date.</span>
|
|
1063
|
+
305: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directoryUpToDate?</span>(<span class="ruby-identifier">auxSrcDir</span>, <span class="ruby-identifier">auxDstDir</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">dirName</span>)
|
|
1064
|
+
306:
|
|
1065
|
+
307: <span class="ruby-comment cmt"># Recursively copy the directory and all content.</span>
|
|
1066
|
+
308: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">cp_r</span>(<span class="ruby-identifier">auxSrcDir</span>, <span class="ruby-identifier">auxDstDir</span>)
|
|
1067
|
+
309: <span class="ruby-keyword kw">end</span></pre>
|
|
992
1068
|
</div>
|
|
993
1069
|
|
|
994
1070
|
</div>
|
|
@@ -1019,10 +1095,11 @@ Convenience function to access a report attribute
|
|
|
1019
1095
|
<div class="method-source-code"
|
|
1020
1096
|
id="data-ir-rror-source">
|
|
1021
1097
|
<pre>
|
|
1022
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1098
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 325</span>
|
|
1099
|
+
325: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dataDirError</span>(<span class="ruby-identifier">dirName</span>)
|
|
1100
|
+
326: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'data_dir_error'</span>, <span class="ruby-value str">Cannot find the #{dirName} directory. This is usually the result of animproper TaskJuggler installation. If you know the directory, you can use theTASKJUGGLER_DATA_PATH environment variable to specify the location. Thevariable should be set to the path without the /data at the end. Multipledirectories must be separated by colons.</span>
|
|
1101
|
+
327: )
|
|
1102
|
+
328: <span class="ruby-keyword kw">end</span></pre>
|
|
1026
1103
|
</div>
|
|
1027
1104
|
|
|
1028
1105
|
</div>
|
|
@@ -1053,55 +1130,20 @@ Convenience function to access a report attribute
|
|
|
1053
1130
|
<div class="method-source-code"
|
|
1054
1131
|
id="directory-p-o-ate--source">
|
|
1055
1132
|
<pre>
|
|
1056
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
</div>
|
|
1071
|
-
|
|
1072
|
-
</div>
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
</div>
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
<div id="error-method" class="method-detail ">
|
|
1081
|
-
<a name="method-i-error"></a>
|
|
1082
|
-
|
|
1083
|
-
<div class="method-heading">
|
|
1084
|
-
|
|
1085
|
-
<span class="method-name">error</span><span
|
|
1086
|
-
class="method-args">(id, message)</span>
|
|
1087
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
1088
|
-
|
|
1089
|
-
</div>
|
|
1090
|
-
|
|
1091
|
-
<div class="method-description">
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
<div class="method-source-code"
|
|
1098
|
-
id="error-source">
|
|
1099
|
-
<pre>
|
|
1100
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 326</span>
|
|
1101
|
-
326: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">message</span>)
|
|
1102
|
-
327: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">send</span>(<span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">id</span>, <span class="ruby-value str">'error'</span>, <span class="ruby-identifier">message</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>,
|
|
1103
|
-
328: <span class="ruby-ivar">@sourceFileInfo</span>))
|
|
1104
|
-
329: <span class="ruby-keyword kw">end</span></pre>
|
|
1133
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 311</span>
|
|
1134
|
+
311: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">directoryUpToDate?</span>(<span class="ruby-identifier">auxSrcDir</span>, <span class="ruby-identifier">auxDstDir</span>)
|
|
1135
|
+
312: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">auxDstDir</span>.<span class="ruby-identifier">untaint</span>)
|
|
1136
|
+
313:
|
|
1137
|
+
314: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">entries</span>(<span class="ruby-identifier">auxSrcDir</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
|
|
1138
|
+
315: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'.'</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'..'</span>
|
|
1139
|
+
316:
|
|
1140
|
+
317: <span class="ruby-identifier">srcFile</span> = (<span class="ruby-identifier">auxSrcDir</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">file</span>).<span class="ruby-identifier">untaint</span>
|
|
1141
|
+
318: <span class="ruby-identifier">dstFile</span> = (<span class="ruby-identifier">auxDstDir</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">file</span>).<span class="ruby-identifier">untaint</span>
|
|
1142
|
+
319: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">dstFile</span>) <span class="ruby-operator">||</span>
|
|
1143
|
+
320: <span class="ruby-constant">File</span>.<span class="ruby-identifier">mtime</span>(<span class="ruby-identifier">srcFile</span>) <span class="ruby-operator">></span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">mtime</span>(<span class="ruby-identifier">dstFile</span>)
|
|
1144
|
+
321: <span class="ruby-keyword kw">end</span>
|
|
1145
|
+
322: <span class="ruby-keyword kw">true</span>
|
|
1146
|
+
323: <span class="ruby-keyword kw">end</span></pre>
|
|
1105
1147
|
</div>
|
|
1106
1148
|
|
|
1107
1149
|
</div>
|
|
@@ -1134,52 +1176,53 @@ Generate a CSV version of the report.
|
|
|
1134
1176
|
<div class="method-source-code"
|
|
1135
1177
|
id="generate--source">
|
|
1136
1178
|
<pre>
|
|
1137
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1179
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 211</span>
|
|
1180
|
+
211: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateCSV</span>
|
|
1181
|
+
212: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@content</span>
|
|
1182
|
+
213:
|
|
1183
|
+
214: <span class="ruby-comment cmt"># CSV format can only handle the first element.</span>
|
|
1184
|
+
215: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">csv</span> = <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">to_csv</span>)
|
|
1185
|
+
216:
|
|
1186
|
+
217: <span class="ruby-comment cmt"># Expand nested tables into the outer table.</span>
|
|
1187
|
+
218: <span class="ruby-identifier">columnIdx</span> = <span class="ruby-value">0</span>
|
|
1188
|
+
219: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">columnIdx</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">csv</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">length</span> <span class="ruby-keyword kw">do</span>
|
|
1189
|
+
220: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">csv</span>[<span class="ruby-value">0</span>][<span class="ruby-identifier">columnIdx</span>].<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
|
|
1190
|
+
221: <span class="ruby-comment cmt"># We've found a nested table.</span>
|
|
1191
|
+
222: <span class="ruby-identifier">nestedTable</span> = <span class="ruby-identifier">csv</span>[<span class="ruby-value">0</span>][<span class="ruby-identifier">columnIdx</span>]
|
|
1192
|
+
223: <span class="ruby-comment cmt"># The nested table must have exactly as many lines as the outer table.</span>
|
|
1193
|
+
224: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">csv</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">nestedTable</span>.<span class="ruby-identifier">length</span>
|
|
1194
|
+
225: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Table size mismatch"</span>
|
|
1195
|
+
226: <span class="ruby-keyword kw">end</span>
|
|
1196
|
+
227: <span class="ruby-comment cmt"># Insert the nested table into the lines of the outer table.</span>
|
|
1197
|
+
228: <span class="ruby-identifier">csv</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>
|
|
1198
|
+
229: <span class="ruby-identifier">lineIdx</span> = <span class="ruby-identifier">csv</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">line</span>)
|
|
1199
|
+
230: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">lineIdx</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
1200
|
+
231: <span class="ruby-comment cmt"># The header cell can be reused.</span>
|
|
1201
|
+
232: <span class="ruby-identifier">line</span>[<span class="ruby-identifier">columnIdx</span>] = <span class="ruby-identifier">nestedTable</span>[<span class="ruby-identifier">lineIdx</span>]
|
|
1202
|
+
233: <span class="ruby-keyword kw">else</span>
|
|
1203
|
+
234: <span class="ruby-comment cmt"># For normal lines we have no cells for the table. Just inject</span>
|
|
1204
|
+
235: <span class="ruby-comment cmt"># them.</span>
|
|
1205
|
+
236: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-identifier">columnIdx</span>, <span class="ruby-identifier">nestedTable</span>[<span class="ruby-identifier">lineIdx</span>])
|
|
1206
|
+
237: <span class="ruby-keyword kw">end</span>
|
|
1207
|
+
238: <span class="ruby-comment cmt"># Make sure there are no more Arrays nested into the line.</span>
|
|
1208
|
+
239: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">flatten!</span>
|
|
1209
|
+
240: <span class="ruby-keyword kw">end</span>
|
|
1210
|
+
241: <span class="ruby-keyword kw">else</span>
|
|
1211
|
+
242: <span class="ruby-identifier">columnIdx</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
1212
|
+
243: <span class="ruby-keyword kw">end</span>
|
|
1213
|
+
244: <span class="ruby-keyword kw">end</span>
|
|
1214
|
+
245:
|
|
1215
|
+
246: <span class="ruby-comment cmt"># Use the CSVFile class to write the Array of Arrays to a colon</span>
|
|
1216
|
+
247: <span class="ruby-comment cmt"># separated file. Write to $stdout if the filename was set to '.'.</span>
|
|
1217
|
+
248: <span class="ruby-keyword kw">begin</span>
|
|
1218
|
+
249: <span class="ruby-identifier">fileName</span> = (<span class="ruby-ivar">@name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'.'</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@name</span> <span class="ruby-operator">:</span>
|
|
1219
|
+
250: (<span class="ruby-ivar">@name</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'/'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">outputDir</span>) <span class="ruby-operator">+</span>
|
|
1220
|
+
251: <span class="ruby-ivar">@name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.csv'</span>).<span class="ruby-identifier">untaint</span>
|
|
1221
|
+
252: <span class="ruby-constant">CSVFile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-value str">';'</span>).<span class="ruby-identifier">write</span>(<span class="ruby-identifier">fileName</span>)
|
|
1222
|
+
253: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">IOError</span>
|
|
1223
|
+
254: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'write_csv'</span>, <span class="ruby-node">"Cannot write to file #{fileName}.\n#{$!}"</span>)
|
|
1224
|
+
255: <span class="ruby-keyword kw">end</span>
|
|
1225
|
+
256: <span class="ruby-keyword kw">end</span></pre>
|
|
1183
1226
|
</div>
|
|
1184
1227
|
|
|
1185
1228
|
</div>
|
|
@@ -1212,76 +1255,76 @@ Generate an HTML version of the report.
|
|
|
1212
1255
|
<div class="method-source-code"
|
|
1213
1256
|
id="generate--source">
|
|
1214
1257
|
<pre>
|
|
1215
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1258
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 134</span>
|
|
1259
|
+
134: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTML</span>
|
|
1260
|
+
135: <span class="ruby-identifier">html</span> = <span class="ruby-constant">HTMLDocument</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:strict</span>)
|
|
1261
|
+
136: <span class="ruby-identifier">head</span> = <span class="ruby-identifier">html</span>.<span class="ruby-identifier">generateHead</span>(<span class="ruby-node">"TaskJuggler Report - #{@name}"</span>,
|
|
1262
|
+
137: <span class="ruby-value str">'description'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'TaskJuggler Report'</span>,
|
|
1263
|
+
138: <span class="ruby-value str">'keywords'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'taskjuggler, project, management'</span>)
|
|
1264
|
+
139: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'selfcontained'</span>)
|
|
1265
|
+
140: <span class="ruby-identifier">auxSrcDir</span> = <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataDirs</span>(<span class="ruby-value str">'data/css'</span>)[<span class="ruby-value">0</span>]
|
|
1266
|
+
141: <span class="ruby-identifier">cssFileName</span> = (<span class="ruby-identifier">auxSrcDir</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">auxSrcDir</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/tjreport.css'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">''</span>)
|
|
1267
|
+
142: <span class="ruby-comment cmt"># Raise an error if we haven't found the data directory</span>
|
|
1268
|
+
143: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">auxSrcDir</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">cssFileName</span>)
|
|
1269
|
+
144: <span class="ruby-identifier">dataDirError</span>(<span class="ruby-identifier">cssFileName</span>)
|
|
1270
|
+
145: <span class="ruby-keyword kw">end</span>
|
|
1271
|
+
146: <span class="ruby-identifier">cssFile</span> = <span class="ruby-constant">IO</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">cssFileName</span>)
|
|
1272
|
+
147: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cssFile</span>.<span class="ruby-identifier">empty?</span>
|
|
1273
|
+
148: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">Cannot read '#{cssFileName}'. Make sure the file is not empty and you haveread access permission.</span>
|
|
1274
|
+
149: <span class="ruby-keyword kw">end</span>
|
|
1275
|
+
150: <span class="ruby-identifier">head</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'meta'</span>, <span class="ruby-value str">'http-equiv'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Content-Style-Type'</span>,
|
|
1276
|
+
151: <span class="ruby-value str">'content'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'text/css; charset=utf-8'</span>)
|
|
1277
|
+
152: <span class="ruby-identifier">head</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">style</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'style'</span>, <span class="ruby-value str">'type'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'text/css'</span>))
|
|
1278
|
+
153: <span class="ruby-identifier">style</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLBlob</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"\n"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">cssFile</span>)
|
|
1279
|
+
154: <span class="ruby-keyword kw">else</span>
|
|
1280
|
+
155: <span class="ruby-identifier">head</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'link'</span>, <span class="ruby-value str">'rel'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'stylesheet'</span>,
|
|
1281
|
+
156: <span class="ruby-value str">'type'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'text/css'</span>,
|
|
1282
|
+
157: <span class="ruby-value str">'href'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'css/tjreport.css'</span>)
|
|
1283
|
+
158: <span class="ruby-keyword kw">end</span>
|
|
1284
|
+
159: <span class="ruby-identifier">html</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLComment</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">"Dynamic Report ID: "</span> <span class="ruby-operator">+</span>
|
|
1285
|
+
160: <span class="ruby-node">"#{@project.reportContexts.last.dynamicReportId}"</span>)
|
|
1286
|
+
161: <span class="ruby-identifier">html</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">body</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'body'</span>))
|
|
1287
|
+
162:
|
|
1288
|
+
163: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'selfcontained'</span>)
|
|
1289
|
+
164: <span class="ruby-identifier">body</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'script'</span>, <span class="ruby-value str">'type'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'text/javascript'</span>,
|
|
1290
|
+
165: <span class="ruby-value str">'src'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'scripts/wz_tooltip.js'</span>)
|
|
1291
|
+
166: <span class="ruby-identifier">body</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">noscript</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'noscript'</span>))
|
|
1292
|
+
167: <span class="ruby-identifier">noscript</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">nsdiv</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>,
|
|
1293
|
+
168: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'text-align:center; '</span> <span class="ruby-operator">+</span>
|
|
1294
|
+
169: <span class="ruby-value str">'color:#FF0000'</span>))
|
|
1295
|
+
170: <span class="ruby-identifier">nsdiv</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">This page requires Javascript for full functionality. Please enable itin your browser settings!</span>
|
|
1296
|
+
171: )
|
|
1297
|
+
172: <span class="ruby-keyword kw">end</span>
|
|
1298
|
+
173:
|
|
1299
|
+
174:
|
|
1300
|
+
175: <span class="ruby-comment cmt"># Make sure we have some margins around the report.</span>
|
|
1301
|
+
176: <span class="ruby-identifier">body</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">frame</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">'tj_page'</span>))
|
|
1302
|
+
177:
|
|
1303
|
+
178: <span class="ruby-identifier">frame</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">to_html</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@content</span>
|
|
1304
|
+
179:
|
|
1305
|
+
180: <span class="ruby-comment cmt"># The footer with some administrative information.</span>
|
|
1306
|
+
181: <span class="ruby-identifier">frame</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">div</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">'copyright'</span>))
|
|
1307
|
+
182: <span class="ruby-identifier">div</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'copyright'</span>] <span class="ruby-operator">+</span> <span class="ruby-value str">" - "</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'copyright'</span>]
|
|
1308
|
+
183: <span class="ruby-identifier">div</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"Project: #{@project['name']} "</span> <span class="ruby-operator">+</span>
|
|
1309
|
+
184: <span class="ruby-node">"Version: #{@project['version']} - "</span> <span class="ruby-operator">+</span>
|
|
1310
|
+
185: <span class="ruby-node">"Created on #{TjTime.now.to_s("%Y-%m-%d %H:%M:%S")} "</span> <span class="ruby-operator">+</span>
|
|
1311
|
+
186: <span class="ruby-value str">"with "</span>)
|
|
1312
|
+
187: <span class="ruby-identifier">div</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"#{AppConfig.softwareName}"</span>, <span class="ruby-value str">'a'</span>,
|
|
1313
|
+
188: <span class="ruby-value str">'href'</span> =<span class="ruby-operator">></span> <span class="ruby-node">"#{AppConfig.contact}"</span>)
|
|
1314
|
+
189: <span class="ruby-identifier">div</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">" v#{AppConfig.version}"</span>)
|
|
1315
|
+
190:
|
|
1316
|
+
191: <span class="ruby-identifier">fileName</span> =
|
|
1317
|
+
192: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'interactive'</span>) <span class="ruby-operator">||</span> <span class="ruby-ivar">@name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'.'</span>
|
|
1318
|
+
193: <span class="ruby-comment cmt"># Interactive HTML reports are always sent to stdout.</span>
|
|
1319
|
+
194: <span class="ruby-value str">'.'</span>
|
|
1320
|
+
195: <span class="ruby-keyword kw">else</span>
|
|
1321
|
+
196: <span class="ruby-comment cmt"># Prepend the specified output directory unless the provided file</span>
|
|
1322
|
+
197: <span class="ruby-comment cmt"># name is an absolute file name.</span>
|
|
1323
|
+
198: ((<span class="ruby-ivar">@name</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'/'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">outputDir</span>) <span class="ruby-operator">+</span>
|
|
1324
|
+
199: <span class="ruby-ivar">@name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.html'</span>).<span class="ruby-identifier">untaint</span>
|
|
1325
|
+
200: <span class="ruby-keyword kw">end</span>
|
|
1326
|
+
201: <span class="ruby-identifier">html</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">fileName</span>)
|
|
1327
|
+
202: <span class="ruby-keyword kw">end</span></pre>
|
|
1285
1328
|
</div>
|
|
1286
1329
|
|
|
1287
1330
|
</div>
|
|
@@ -1314,17 +1357,17 @@ Generate Niku report
|
|
|
1314
1357
|
<div class="method-source-code"
|
|
1315
1358
|
id="generate-iku-source">
|
|
1316
1359
|
<pre>
|
|
1317
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1360
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 276</span>
|
|
1361
|
+
276: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateNiku</span>
|
|
1362
|
+
277: <span class="ruby-keyword kw">begin</span>
|
|
1363
|
+
278: <span class="ruby-identifier">f</span> = <span class="ruby-ivar">@name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'.'</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">$stdout</span> <span class="ruby-operator">:</span>
|
|
1364
|
+
279: <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(((<span class="ruby-ivar">@name</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'/'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">outputDir</span>) <span class="ruby-operator">+</span>
|
|
1365
|
+
280: <span class="ruby-ivar">@name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.xml'</span>).<span class="ruby-identifier">untaint</span>, <span class="ruby-value str">'w'</span>)
|
|
1366
|
+
281: <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"#{@content.to_niku}"</span>
|
|
1367
|
+
282: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">IOError</span>
|
|
1368
|
+
283: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'write_niku'</span>, <span class="ruby-node">"Cannot write to file #{@name}.\n#{$!}"</span>)
|
|
1369
|
+
284: <span class="ruby-keyword kw">end</span>
|
|
1370
|
+
285: <span class="ruby-keyword kw">end</span></pre>
|
|
1328
1371
|
</div>
|
|
1329
1372
|
|
|
1330
1373
|
</div>
|
|
@@ -1357,22 +1400,22 @@ Generate time sheet drafts.
|
|
|
1357
1400
|
<div class="method-source-code"
|
|
1358
1401
|
id="generate--source">
|
|
1359
1402
|
<pre>
|
|
1360
|
-
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1403
|
+
<span class="ruby-comment cmt"># File lib/reports/Report.rb, line 259</span>
|
|
1404
|
+
259: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateTJP</span>
|
|
1405
|
+
260: <span class="ruby-keyword kw">begin</span>
|
|
1406
|
+
261: <span class="ruby-identifier">fileName</span> = <span class="ruby-value str">'.'</span>
|
|
1407
|
+
262: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'.'</span>
|
|
1408
|
+
263: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">write</span>(<span class="ruby-ivar">@content</span>.<span class="ruby-identifier">to_tjp</span>)
|
|
1409
|
+
264: <span class="ruby-keyword kw">else</span>
|
|
1410
|
+
265: <span class="ruby-identifier">fileName</span> = (<span class="ruby-ivar">@name</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'/'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">outputDir</span>) <span class="ruby-operator">+</span> <span class="ruby-ivar">@name</span>
|
|
1411
|
+
266: <span class="ruby-identifier">fileName</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'definitions'</span>).<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'project'</span>) <span class="ruby-operator">?</span> <span class="ruby-value str">'.tjp'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'.tji'</span>
|
|
1412
|
+
267: <span class="ruby-identifier">fileName</span>.<span class="ruby-identifier">untaint</span>
|
|
1413
|
+
268: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-value str">'w'</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">write</span>(<span class="ruby-ivar">@content</span>.<span class="ruby-identifier">to_tjp</span>) }
|
|
1414
|
+
269: <span class="ruby-keyword kw">end</span>
|
|
1415
|
+
270: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">IOError</span>
|
|
1416
|
+
271: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'write_tjp'</span>, <span class="ruby-node">"Cannot write to file #{fileName}.\n#{$!}"</span>)
|
|
1417
|
+
272: <span class="ruby-keyword kw">end</span>
|
|
1418
|
+
273: <span class="ruby-keyword kw">end</span></pre>
|
|
1376
1419
|
</div>
|
|
1377
1420
|
|
|
1378
1421
|
</div>
|