taskjuggler 3.8.1 → 3.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/data/tjp.vim +1 -1
- data/lib/taskjuggler/Account.rb +1 -0
- data/lib/taskjuggler/AccountCredit.rb +1 -0
- data/lib/taskjuggler/AccountScenario.rb +1 -0
- data/lib/taskjuggler/AlertLevelDefinitions.rb +1 -0
- data/lib/taskjuggler/AlgorithmDiff.rb +3 -2
- data/lib/taskjuggler/Allocation.rb +1 -0
- data/lib/taskjuggler/AppConfig.rb +1 -0
- data/lib/taskjuggler/AttributeBase.rb +1 -0
- data/lib/taskjuggler/AttributeDefinition.rb +1 -0
- data/lib/taskjuggler/Attributes.rb +3 -2
- data/lib/taskjuggler/BatchProcessor.rb +3 -2
- data/lib/taskjuggler/Booking.rb +1 -0
- data/lib/taskjuggler/Charge.rb +1 -0
- data/lib/taskjuggler/ChargeSet.rb +1 -0
- data/lib/taskjuggler/DataCache.rb +1 -0
- data/lib/taskjuggler/FileList.rb +1 -0
- data/lib/taskjuggler/HTMLDocument.rb +1 -0
- data/lib/taskjuggler/HTMLElements.rb +1 -0
- data/lib/taskjuggler/ICalendar.rb +3 -2
- data/lib/taskjuggler/Interval.rb +1 -0
- data/lib/taskjuggler/IntervalList.rb +1 -0
- data/lib/taskjuggler/Journal.rb +5 -4
- data/lib/taskjuggler/KateSyntax.rb +1 -0
- data/lib/taskjuggler/KeywordArray.rb +1 -0
- data/lib/taskjuggler/KeywordDocumentation.rb +6 -5
- data/lib/taskjuggler/LeaveList.rb +1 -0
- data/lib/taskjuggler/Limits.rb +1 -0
- data/lib/taskjuggler/Log.rb +2 -1
- data/lib/taskjuggler/LogicalExpression.rb +1 -0
- data/lib/taskjuggler/LogicalFunction.rb +1 -0
- data/lib/taskjuggler/LogicalOperation.rb +1 -0
- data/lib/taskjuggler/MessageHandler.rb +2 -1
- data/lib/taskjuggler/PTNProxy.rb +1 -0
- data/lib/taskjuggler/Painter/BasicShapes.rb +1 -0
- data/lib/taskjuggler/Painter/Color.rb +1 -0
- data/lib/taskjuggler/Painter/Element.rb +1 -0
- data/lib/taskjuggler/Painter/FontData.rb +1 -0
- data/lib/taskjuggler/Painter/FontMetrics.rb +1 -0
- data/lib/taskjuggler/Painter/FontMetricsData.rb +1 -0
- data/lib/taskjuggler/Painter/Group.rb +1 -0
- data/lib/taskjuggler/Painter/Points.rb +2 -1
- data/lib/taskjuggler/Painter/Primitives.rb +1 -0
- data/lib/taskjuggler/Painter/SVGSupport.rb +1 -0
- data/lib/taskjuggler/Painter/Text.rb +1 -0
- data/lib/taskjuggler/Painter.rb +1 -0
- data/lib/taskjuggler/Project.rb +3 -2
- data/lib/taskjuggler/ProjectFileParser.rb +2 -1
- data/lib/taskjuggler/ProjectFileScanner.rb +4 -3
- data/lib/taskjuggler/PropertyList.rb +2 -1
- data/lib/taskjuggler/PropertySet.rb +1 -0
- data/lib/taskjuggler/PropertyTreeNode.rb +2 -1
- data/lib/taskjuggler/Query.rb +2 -1
- data/lib/taskjuggler/RealFormat.rb +2 -1
- data/lib/taskjuggler/Resource.rb +2 -1
- data/lib/taskjuggler/ResourceScenario.rb +9 -1
- data/lib/taskjuggler/RichText/Document.rb +1 -0
- data/lib/taskjuggler/RichText/Element.rb +6 -5
- data/lib/taskjuggler/RichText/FunctionExample.rb +1 -0
- data/lib/taskjuggler/RichText/FunctionHandler.rb +1 -0
- data/lib/taskjuggler/RichText/Parser.rb +1 -0
- data/lib/taskjuggler/RichText/RTFHandlers.rb +1 -0
- data/lib/taskjuggler/RichText/RTFNavigator.rb +1 -0
- data/lib/taskjuggler/RichText/RTFQuery.rb +1 -0
- data/lib/taskjuggler/RichText/RTFReport.rb +1 -0
- data/lib/taskjuggler/RichText/RTFReportLink.rb +1 -0
- data/lib/taskjuggler/RichText/RTFWithQuerySupport.rb +1 -0
- data/lib/taskjuggler/RichText/Scanner.rb +1 -0
- data/lib/taskjuggler/RichText/Snip.rb +2 -1
- data/lib/taskjuggler/RichText/SyntaxRules.rb +1 -0
- data/lib/taskjuggler/RichText/TOCEntry.rb +1 -0
- data/lib/taskjuggler/RichText/TableOfContents.rb +1 -0
- data/lib/taskjuggler/RichText.rb +1 -0
- data/lib/taskjuggler/RuntimeConfig.rb +1 -0
- data/lib/taskjuggler/Scenario.rb +1 -0
- data/lib/taskjuggler/ScenarioData.rb +1 -0
- data/lib/taskjuggler/Scoreboard.rb +2 -1
- data/lib/taskjuggler/SheetHandlerBase.rb +2 -1
- data/lib/taskjuggler/SheetReceiver.rb +1 -0
- data/lib/taskjuggler/SheetSender.rb +3 -2
- data/lib/taskjuggler/Shift.rb +1 -0
- data/lib/taskjuggler/ShiftAssignments.rb +1 -0
- data/lib/taskjuggler/ShiftScenario.rb +1 -0
- data/lib/taskjuggler/SimpleQueryExpander.rb +1 -0
- data/lib/taskjuggler/StatusSheetReceiver.rb +1 -0
- data/lib/taskjuggler/StatusSheetSender.rb +1 -0
- data/lib/taskjuggler/StdIoWrapper.rb +1 -0
- data/lib/taskjuggler/SyntaxReference.rb +2 -1
- data/lib/taskjuggler/TableColumnDefinition.rb +1 -0
- data/lib/taskjuggler/TableColumnSorter.rb +1 -0
- data/lib/taskjuggler/Task.rb +2 -1
- data/lib/taskjuggler/TaskDependency.rb +1 -0
- data/lib/taskjuggler/TaskJuggler.rb +1 -0
- data/lib/taskjuggler/TaskScenario.rb +3 -2
- data/lib/taskjuggler/TernarySearchTree.rb +5 -4
- data/lib/taskjuggler/TextFormatter.rb +5 -4
- data/lib/taskjuggler/TextParser/MacroTable.rb +1 -0
- data/lib/taskjuggler/TextParser/Pattern.rb +2 -1
- data/lib/taskjuggler/TextParser/Rule.rb +3 -2
- data/lib/taskjuggler/TextParser/Scanner.rb +1 -0
- data/lib/taskjuggler/TextParser/SourceFileInfo.rb +1 -0
- data/lib/taskjuggler/TextParser/StackElement.rb +1 -0
- data/lib/taskjuggler/TextParser/State.rb +1 -0
- data/lib/taskjuggler/TextParser/TokenDoc.rb +1 -0
- data/lib/taskjuggler/TextParser.rb +1 -0
- data/lib/taskjuggler/TimeSheetReceiver.rb +1 -0
- data/lib/taskjuggler/TimeSheetSender.rb +1 -0
- data/lib/taskjuggler/TimeSheetSummary.rb +3 -2
- data/lib/taskjuggler/TimeSheets.rb +1 -0
- data/lib/taskjuggler/Tj3AppBase.rb +2 -1
- data/lib/taskjuggler/Tj3Config.rb +1 -0
- data/lib/taskjuggler/Tj3SheetAppBase.rb +1 -0
- data/lib/taskjuggler/TjException.rb +1 -0
- data/lib/taskjuggler/TjTime.rb +1 -0
- data/lib/taskjuggler/TjpExample.rb +2 -1
- data/lib/taskjuggler/TjpSyntaxRules.rb +1 -0
- data/lib/taskjuggler/URLParameter.rb +1 -0
- data/lib/taskjuggler/UTF8String.rb +4 -3
- data/lib/taskjuggler/UserManual.rb +1 -0
- data/lib/taskjuggler/VimSyntax.rb +1 -0
- data/lib/taskjuggler/WorkingHours.rb +2 -1
- data/lib/taskjuggler/XMLDocument.rb +2 -1
- data/lib/taskjuggler/XMLElement.rb +6 -5
- data/lib/taskjuggler/apps/Tj3.rb +1 -0
- data/lib/taskjuggler/apps/Tj3Client.rb +1 -0
- data/lib/taskjuggler/apps/Tj3Daemon.rb +1 -0
- data/lib/taskjuggler/apps/Tj3Man.rb +1 -0
- data/lib/taskjuggler/apps/Tj3SsReceiver.rb +1 -0
- data/lib/taskjuggler/apps/Tj3SsSender.rb +1 -0
- data/lib/taskjuggler/apps/Tj3TsReceiver.rb +1 -0
- data/lib/taskjuggler/apps/Tj3TsSender.rb +1 -0
- data/lib/taskjuggler/apps/Tj3TsSummary.rb +1 -0
- data/lib/taskjuggler/apps/Tj3WebD.rb +1 -0
- data/lib/taskjuggler/daemon/Daemon.rb +2 -1
- data/lib/taskjuggler/daemon/DaemonConnector.rb +1 -0
- data/lib/taskjuggler/daemon/ProcessIntercom.rb +1 -0
- data/lib/taskjuggler/daemon/ProjectBroker.rb +1 -0
- data/lib/taskjuggler/daemon/ProjectServer.rb +1 -0
- data/lib/taskjuggler/daemon/ReportServer.rb +1 -0
- data/lib/taskjuggler/daemon/ReportServlet.rb +1 -0
- data/lib/taskjuggler/daemon/WebServer.rb +1 -0
- data/lib/taskjuggler/daemon/WelcomePage.rb +1 -0
- data/lib/taskjuggler/deep_copy.rb +1 -0
- data/lib/taskjuggler/reports/AccountListRE.rb +1 -0
- data/lib/taskjuggler/reports/CSVFile.rb +3 -2
- data/lib/taskjuggler/reports/ChartPlotter.rb +1 -0
- data/lib/taskjuggler/reports/CollisionDetector.rb +1 -0
- data/lib/taskjuggler/reports/ColumnTable.rb +1 -0
- data/lib/taskjuggler/reports/ExportRE.rb +1 -0
- data/lib/taskjuggler/reports/GanttChart.rb +1 -0
- data/lib/taskjuggler/reports/GanttContainer.rb +1 -0
- data/lib/taskjuggler/reports/GanttHeader.rb +1 -0
- data/lib/taskjuggler/reports/GanttHeaderScaleItem.rb +1 -0
- data/lib/taskjuggler/reports/GanttLine.rb +2 -1
- data/lib/taskjuggler/reports/GanttLoadStack.rb +1 -0
- data/lib/taskjuggler/reports/GanttMilestone.rb +1 -0
- data/lib/taskjuggler/reports/GanttRouter.rb +1 -0
- data/lib/taskjuggler/reports/GanttTaskBar.rb +1 -0
- data/lib/taskjuggler/reports/HTMLGraphics.rb +1 -0
- data/lib/taskjuggler/reports/ICalReport.rb +1 -0
- data/lib/taskjuggler/reports/MspXmlRE.rb +1 -0
- data/lib/taskjuggler/reports/Navigator.rb +1 -0
- data/lib/taskjuggler/reports/NikuReport.rb +2 -1
- data/lib/taskjuggler/reports/Report.rb +1 -0
- data/lib/taskjuggler/reports/ReportBase.rb +1 -0
- data/lib/taskjuggler/reports/ReportContext.rb +1 -0
- data/lib/taskjuggler/reports/ReportTable.rb +2 -1
- data/lib/taskjuggler/reports/ReportTableCell.rb +7 -6
- data/lib/taskjuggler/reports/ReportTableColumn.rb +1 -0
- data/lib/taskjuggler/reports/ReportTableLegend.rb +1 -0
- data/lib/taskjuggler/reports/ReportTableLine.rb +1 -0
- data/lib/taskjuggler/reports/ResourceListRE.rb +1 -0
- data/lib/taskjuggler/reports/StatusSheetReport.rb +4 -3
- data/lib/taskjuggler/reports/TableReport.rb +2 -1
- data/lib/taskjuggler/reports/TableReportColumn.rb +1 -0
- data/lib/taskjuggler/reports/TagFile.rb +1 -0
- data/lib/taskjuggler/reports/TaskListRE.rb +1 -0
- data/lib/taskjuggler/reports/TextReport.rb +2 -1
- data/lib/taskjuggler/reports/TimeSheetReport.rb +3 -2
- data/lib/taskjuggler/reports/TjpExportRE.rb +4 -3
- data/lib/taskjuggler/reports/TraceReport.rb +2 -1
- data/lib/taskjuggler/version.rb +1 -1
- data/lib/tj3.rb +1 -0
- data/man/tj3.1 +130 -0
- data/man/tj3client.1 +145 -0
- data/man/tj3d.1 +93 -0
- data/man/tj3man.1 +76 -0
- data/man/tj3ss_receiver.1 +86 -0
- data/man/tj3ss_sender.1 +100 -0
- data/man/tj3ts_receiver.1 +86 -0
- data/man/tj3ts_sender.1 +92 -0
- data/man/tj3ts_summary.1 +104 -0
- data/manual/html/Day_To_Day_Juggling.html +1 -1
- data/manual/html/Getting_Started.html +1 -1
- data/manual/html/How_To_Contribute.html +1 -1
- data/manual/html/Installation.html +1 -1
- data/manual/html/Intro.html +1 -1
- data/manual/html/List_Attributes.html +1 -1
- data/manual/html/Reporting_Bugs.html +1 -1
- data/manual/html/Rich_Text_Attributes.html +1 -1
- data/manual/html/Software.html +1 -1
- data/manual/html/TaskJuggler_2x_Migration.html +1 -1
- data/manual/html/TaskJuggler_Internals.html +1 -1
- data/manual/html/The_TaskJuggler_Syntax.html +1 -1
- data/manual/html/Tutorial.html +1 -1
- data/manual/html/account.html +1 -1
- data/manual/html/account.task.html +1 -1
- data/manual/html/accountprefix.html +1 -1
- data/manual/html/accountreport.html +1 -1
- data/manual/html/accountroot.html +1 -1
- data/manual/html/active.html +1 -1
- data/manual/html/adopt.task.html +1 -1
- data/manual/html/aggregate.html +1 -1
- data/manual/html/alert.html +1 -1
- data/manual/html/alertlevels.html +1 -1
- data/manual/html/allocate.html +1 -1
- data/manual/html/alphabet.html +1 -1
- data/manual/html/alternative.html +1 -1
- data/manual/html/author.html +1 -1
- data/manual/html/auxdir.html +1 -1
- data/manual/html/auxdir.report.html +1 -1
- data/manual/html/balance.html +1 -1
- data/manual/html/booking.resource.html +1 -1
- data/manual/html/booking.task.html +1 -1
- data/manual/html/caption.html +1 -1
- data/manual/html/cellcolor.column.html +1 -1
- data/manual/html/celltext.column.html +1 -1
- data/manual/html/center.html +1 -1
- data/manual/html/charge.html +1 -1
- data/manual/html/chargeset.html +1 -1
- data/manual/html/columnid.html +1 -1
- data/manual/html/columns.html +1 -1
- data/manual/html/complete.html +1 -1
- data/manual/html/copyright.html +1 -1
- data/manual/html/credits.html +1 -1
- data/manual/html/currency.html +1 -1
- data/manual/html/currencyformat.html +1 -1
- data/manual/html/dailymax.html +1 -1
- data/manual/html/dailymin.html +1 -1
- data/manual/html/dailyworkinghours.html +1 -1
- data/manual/html/date.extend.html +1 -1
- data/manual/html/date.html +1 -1
- data/manual/html/definitions.html +1 -1
- data/manual/html/depends.html +1 -1
- data/manual/html/details.html +1 -1
- data/manual/html/disabled.html +1 -1
- data/manual/html/duration.html +1 -1
- data/manual/html/efficiency.html +1 -1
- data/manual/html/effort.html +1 -1
- data/manual/html/effortdone.html +1 -1
- data/manual/html/effortleft.html +1 -1
- data/manual/html/email.html +1 -1
- data/manual/html/enabled.html +1 -1
- data/manual/html/end.column.html +1 -1
- data/manual/html/end.html +1 -1
- data/manual/html/end.limit.html +1 -1
- data/manual/html/end.report.html +1 -1
- data/manual/html/end.timesheet.html +1 -1
- data/manual/html/endcredit.html +1 -1
- data/manual/html/epilog.html +1 -1
- data/manual/html/export.html +1 -1
- data/manual/html/extend.html +1 -1
- data/manual/html/fail.html +1 -1
- data/manual/html/fdl.html +1 -1
- data/manual/html/flags.account.html +1 -1
- data/manual/html/flags.html +1 -1
- data/manual/html/flags.journalentry.html +1 -1
- data/manual/html/flags.report.html +1 -1
- data/manual/html/flags.resource.html +1 -1
- data/manual/html/flags.statussheet.html +1 -1
- data/manual/html/flags.task.html +1 -1
- data/manual/html/flags.timesheet.html +1 -1
- data/manual/html/fontcolor.column.html +1 -1
- data/manual/html/footer.html +1 -1
- data/manual/html/formats.export.html +1 -1
- data/manual/html/formats.html +1 -1
- data/manual/html/functions.html +1 -1
- data/manual/html/gapduration.html +1 -1
- data/manual/html/gaplength.html +1 -1
- data/manual/html/halign.center.html +1 -1
- data/manual/html/halign.column.html +1 -1
- data/manual/html/halign.left.html +1 -1
- data/manual/html/halign.right.html +1 -1
- data/manual/html/hasalert.html +1 -1
- data/manual/html/header.html +1 -1
- data/manual/html/headline.html +1 -1
- data/manual/html/height.html +1 -1
- data/manual/html/hideaccount.html +1 -1
- data/manual/html/hidejournalentry.html +1 -1
- data/manual/html/hidereport.html +1 -1
- data/manual/html/hideresource.html +1 -1
- data/manual/html/hidetask.html +1 -1
- data/manual/html/icalreport.html +1 -1
- data/manual/html/include.macro.html +1 -1
- data/manual/html/include.project.html +1 -1
- data/manual/html/include.properties.html +1 -1
- data/manual/html/index.html +1 -1
- data/manual/html/inherit.extend.html +1 -1
- data/manual/html/interval1.html +1 -1
- data/manual/html/interval2.html +1 -1
- data/manual/html/interval3.html +1 -1
- data/manual/html/interval4.html +1 -1
- data/manual/html/isactive.html +1 -1
- data/manual/html/ischildof.html +1 -1
- data/manual/html/isdependencyof.html +1 -1
- data/manual/html/isdutyof.html +1 -1
- data/manual/html/isfeatureof.html +1 -1
- data/manual/html/isleaf.html +1 -1
- data/manual/html/ismilestone.html +1 -1
- data/manual/html/isongoing.html +1 -1
- data/manual/html/isresource.html +1 -1
- data/manual/html/isresponsibilityof.html +1 -1
- data/manual/html/istask.html +1 -1
- data/manual/html/isvalid.html +1 -1
- data/manual/html/journalattributes.html +1 -1
- data/manual/html/journalentry.html +1 -1
- data/manual/html/journalmode.html +1 -1
- data/manual/html/leaveallowance.html +1 -1
- data/manual/html/leaves.html +1 -1
- data/manual/html/left.html +1 -1
- data/manual/html/length.html +1 -1
- data/manual/html/limits.allocate.html +1 -1
- data/manual/html/limits.html +1 -1
- data/manual/html/limits.resource.html +1 -1
- data/manual/html/limits.task.html +1 -1
- data/manual/html/listitem.column.html +1 -1
- data/manual/html/listtype.column.html +1 -1
- data/manual/html/loadunit.html +1 -1
- data/manual/html/logicalexpression.html +1 -1
- data/manual/html/logicalflagexpression.html +1 -1
- data/manual/html/macro.html +1 -1
- data/manual/html/managers.html +1 -1
- data/manual/html/mandatory.html +1 -1
- data/manual/html/markdate.html +1 -1
- data/manual/html/maxend.html +1 -1
- data/manual/html/maximum.html +1 -1
- data/manual/html/maxstart.html +1 -1
- data/manual/html/milestone.html +1 -1
- data/manual/html/minend.html +1 -1
- data/manual/html/minimum.html +1 -1
- data/manual/html/minstart.html +1 -1
- data/manual/html/monthlymax.html +1 -1
- data/manual/html/monthlymin.html +1 -1
- data/manual/html/navbar.html +1 -1
- data/manual/html/navigator.html +1 -1
- data/manual/html/newtask.html +1 -1
- data/manual/html/nikureport.html +1 -1
- data/manual/html/note.task.html +1 -1
- data/manual/html/novevents.html +1 -1
- data/manual/html/now.html +1 -1
- data/manual/html/number.extend.html +1 -1
- data/manual/html/numberformat.html +1 -1
- data/manual/html/onend.html +1 -1
- data/manual/html/onstart.html +1 -1
- data/manual/html/opennodes.html +1 -1
- data/manual/html/outputdir.html +1 -1
- data/manual/html/overtime.booking.html +1 -1
- data/manual/html/period.column.html +1 -1
- data/manual/html/period.limit.html +1 -1
- data/manual/html/period.report.html +1 -1
- data/manual/html/period.task.html +1 -1
- data/manual/html/persistent.html +1 -1
- data/manual/html/precedes.html +1 -1
- data/manual/html/priority.html +1 -1
- data/manual/html/priority.timesheet.html +1 -1
- data/manual/html/project.html +1 -1
- data/manual/html/projectid.html +1 -1
- data/manual/html/projectid.task.html +1 -1
- data/manual/html/projectids.html +1 -1
- data/manual/html/projection.html +1 -1
- data/manual/html/prolog.html +1 -1
- data/manual/html/properties.html +1 -1
- data/manual/html/purge.html +1 -1
- data/manual/html/rate.html +1 -1
- data/manual/html/rate.resource.html +1 -1
- data/manual/html/rawhtmlhead.html +1 -1
- data/manual/html/reference.extend.html +1 -1
- data/manual/html/remaining.html +1 -1
- data/manual/html/replace.html +1 -1
- data/manual/html/reportprefix.html +1 -1
- data/manual/html/resource.html +1 -1
- data/manual/html/resourceattributes.html +1 -1
- data/manual/html/resourceprefix.html +1 -1
- data/manual/html/resourcereport.html +1 -1
- data/manual/html/resourceroot.html +1 -1
- data/manual/html/resources.limit.html +1 -1
- data/manual/html/responsible.html +1 -1
- data/manual/html/richtext.extend.html +1 -1
- data/manual/html/right.html +1 -1
- data/manual/html/rollupaccount.html +1 -1
- data/manual/html/rollupresource.html +1 -1
- data/manual/html/rolluptask.html +1 -1
- data/manual/html/scale.column.html +1 -1
- data/manual/html/scenario.html +1 -1
- data/manual/html/scenario.ical.html +1 -1
- data/manual/html/scenarios.export.html +1 -1
- data/manual/html/scenarios.html +1 -1
- data/manual/html/scenariospecific.extend.html +1 -1
- data/manual/html/scheduled.html +1 -1
- data/manual/html/scheduling.html +1 -1
- data/manual/html/schedulingmode.html +1 -1
- data/manual/html/select.html +1 -1
- data/manual/html/selfcontained.html +1 -1
- data/manual/html/shift.allocate.html +1 -1
- data/manual/html/shift.html +1 -1
- data/manual/html/shift.resource.html +1 -1
- data/manual/html/shift.task.html +1 -1
- data/manual/html/shift.timesheet.html +1 -1
- data/manual/html/shifts.allocate.html +1 -1
- data/manual/html/shifts.resource.html +1 -1
- data/manual/html/shifts.task.html +1 -1
- data/manual/html/shorttimeformat.html +1 -1
- data/manual/html/sloppy.booking.html +1 -1
- data/manual/html/sloppy.projection.html +1 -1
- data/manual/html/sortaccounts.html +1 -1
- data/manual/html/sortjournalentries.html +1 -1
- data/manual/html/sortresources.html +1 -1
- data/manual/html/sorttasks.html +1 -1
- data/manual/html/start.column.html +1 -1
- data/manual/html/start.html +1 -1
- data/manual/html/start.limit.html +1 -1
- data/manual/html/start.report.html +1 -1
- data/manual/html/startcredit.html +1 -1
- data/manual/html/status.statussheet.html +1 -1
- data/manual/html/status.timesheet.html +1 -1
- data/manual/html/statussheet.html +1 -1
- data/manual/html/statussheetreport.html +1 -1
- data/manual/html/strict.projection.html +1 -1
- data/manual/html/summary.html +1 -1
- data/manual/html/supplement.html +1 -1
- data/manual/html/supplement.resource.html +1 -1
- data/manual/html/supplement.task.html +1 -1
- data/manual/html/tagfile.html +1 -1
- data/manual/html/task.html +1 -1
- data/manual/html/task.statussheet.html +1 -1
- data/manual/html/task.timesheet.html +1 -1
- data/manual/html/taskattributes.html +1 -1
- data/manual/html/taskprefix.html +1 -1
- data/manual/html/taskreport.html +1 -1
- data/manual/html/taskroot.export.html +1 -1
- data/manual/html/taskroot.html +1 -1
- data/manual/html/text.extend.html +1 -1
- data/manual/html/textreport.html +1 -1
- data/manual/html/timeformat.html +1 -1
- data/manual/html/timeformat1.html +1 -1
- data/manual/html/timeformat2.html +1 -1
- data/manual/html/timeoff.nikureport.html +1 -1
- data/manual/html/timesheet.html +1 -1
- data/manual/html/timesheetreport.html +1 -1
- data/manual/html/timezone.export.html +1 -1
- data/manual/html/timezone.html +1 -1
- data/manual/html/timezone.report.html +1 -1
- data/manual/html/timezone.shift.html +1 -1
- data/manual/html/timingresolution.html +1 -1
- data/manual/html/title.column.html +1 -1
- data/manual/html/title.html +1 -1
- data/manual/html/toc.html +2 -2
- data/manual/html/tooltip.column.html +1 -1
- data/manual/html/tracereport.html +1 -1
- data/manual/html/trackingscenario.html +1 -1
- data/manual/html/treelevel.html +1 -1
- data/manual/html/vacation.html +1 -1
- data/manual/html/vacation.resource.html +1 -1
- data/manual/html/vacation.shift.html +1 -1
- data/manual/html/warn.html +1 -1
- data/manual/html/weeklymax.html +1 -1
- data/manual/html/weeklymin.html +1 -1
- data/manual/html/weekstartsmonday.html +1 -1
- data/manual/html/weekstartssunday.html +1 -1
- data/manual/html/width.column.html +1 -1
- data/manual/html/width.html +1 -1
- data/manual/html/work.html +1 -1
- data/manual/html/workinghours.project.html +1 -1
- data/manual/html/workinghours.resource.html +1 -1
- data/manual/html/workinghours.shift.html +1 -1
- data/manual/html/yearlyworkingdays.html +1 -1
- data/spec/Color_spec.rb +1 -0
- data/spec/ICalendar_spec.rb +1 -0
- data/spec/IntervalList_spec.rb +1 -0
- data/spec/ProjectBroker_spec.rb +1 -0
- data/spec/StatusSheets_spec.rb +1 -0
- data/spec/TableColumnSorter_spec.rb +1 -0
- data/spec/TernarySearchTree_spec.rb +1 -0
- data/spec/TimeSheets_spec.rb +1 -0
- data/spec/Tj3Daemon_spec.rb +1 -0
- data/spec/Tj3_spec.rb +1 -0
- data/spec/TraceReport_spec.rb +1 -0
- data/taskjuggler.gemspec +1 -1
- data/test/MessageChecker.rb +1 -0
- data/test/ReferenceGenerator.rb +1 -0
- data/test/TjpGen.rb +1 -0
- data/test/all.rb +1 -0
- data/test/test_AlgorithmDiff.rb +3 -2
- data/test/test_BatchProcessor.rb +1 -0
- data/test/test_CSV-Reports.rb +1 -0
- data/test/test_CSVFile.rb +1 -0
- data/test/test_CollisionDetector.rb +1 -0
- data/test/test_Export-Reports.rb +1 -0
- data/test/test_Journal.rb +1 -0
- data/test/test_Limits.rb +1 -0
- data/test/test_LogicalExpression.rb +1 -0
- data/test/test_MacroTable.rb +1 -0
- data/test/test_Project.rb +1 -0
- data/test/test_ProjectFileScanner.rb +1 -0
- data/test/test_PropertySet.rb +1 -0
- data/test/test_Query.rb +1 -0
- data/test/test_RealFormat.rb +1 -0
- data/test/test_ReportGenerator.rb +1 -0
- data/test/test_RichText.rb +1 -0
- data/test/test_Scheduler.rb +1 -0
- data/test/test_ShiftAssignments.rb +1 -0
- data/test/test_SimpleQueryExpander.rb +1 -0
- data/test/test_Syntax.rb +1 -0
- data/test/test_TextFormatter.rb +1 -0
- data/test/test_TjTime.rb +1 -0
- data/test/test_TjpExample.rb +1 -0
- data/test/test_URLParameter.rb +1 -0
- data/test/test_UTF8String.rb +5 -4
- data/test/test_WorkingHours.rb +1 -0
- data/test/test_deep_copy.rb +2 -1
- metadata +12 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dbd582b1bbe26f25d83a74d97498ffe8baf1e9225ca70257edd2e8b93df4d0c9
|
4
|
+
data.tar.gz: 0570fb2681d2ce8e42f15e4271ba241cf0f994699d33b24a9df597239e2f4a90
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 40c6802d1835dc2fe4a41a6cf7b9a841941212453a16028e92daf895a1eb19d42699a1ef494f75571868004553714b368f585f430da75ddafe356e54e12a55a8
|
7
|
+
data.tar.gz: c10ac8d1e1b31066bf999fe6e1162a950054fec189e5a1091b7b6f3d9ab64538b7ba82631d685cddff8de07ce6bd403c1f04dd8f2006854c5ff9b7dd5b3dafc9
|
data/data/tjp.vim
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
" Vim syntax file
|
2
2
|
" Language: TaskJuggler
|
3
3
|
" Maintainer: TaskJuggler Developers <taskjuggler-devel@googlegroups.com>
|
4
|
-
" Last Change: 2024-12-17 13:
|
4
|
+
" Last Change: 2024-12-17 13:22:29 +0100
|
5
5
|
" This file was automatically generated by VimSyntax.rb
|
6
6
|
|
7
7
|
if exists("b:current_syntax")
|
data/lib/taskjuggler/Account.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = AlgorithmDiff.rb -- The TaskJuggler III Project Management Software
|
@@ -50,7 +51,7 @@ class Diff
|
|
50
51
|
end
|
51
52
|
|
52
53
|
def to_s
|
53
|
-
str = ''
|
54
|
+
str = +''
|
54
55
|
showSeparator = false
|
55
56
|
if insert? && delete?
|
56
57
|
str << "#{aRange}c#{bRange}\n"
|
@@ -128,7 +129,7 @@ class Diff
|
|
128
129
|
|
129
130
|
# Return the diff list as standard UNIX diff output.
|
130
131
|
def to_s
|
131
|
-
str = ''
|
132
|
+
str = +''
|
132
133
|
@hunks.each { |hunk| str << hunk.to_s }
|
133
134
|
str
|
134
135
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = Attributes.rb -- The TaskJuggler III Project Management Software
|
@@ -75,7 +76,7 @@ class TaskJuggler
|
|
75
76
|
end
|
76
77
|
|
77
78
|
def to_s(query = nil)
|
78
|
-
out = ''
|
79
|
+
out = +''
|
79
80
|
first = true
|
80
81
|
get.each do |allocation|
|
81
82
|
if first
|
@@ -697,7 +698,7 @@ class TaskJuggler
|
|
697
698
|
|
698
699
|
def to_tjp
|
699
700
|
dayNames = %w( sun mon tue wed thu fri sat )
|
700
|
-
str = ''
|
701
|
+
str = +''
|
701
702
|
7.times do |day|
|
702
703
|
str += "workinghours #{dayNames[day]} "
|
703
704
|
whs = get.getWorkingHours(day)
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = BatchProcessor.rb -- The TaskJuggler III Project Management Software
|
@@ -37,13 +38,13 @@ class TaskJuggler
|
|
37
38
|
# The pipe to transfer stdout data from the child to the parent.
|
38
39
|
@stdoutP, @stdoutC = nil
|
39
40
|
# The stdout output of the child
|
40
|
-
@stdout = ''
|
41
|
+
@stdout = +''
|
41
42
|
# This flag is set to true when the EOT character has been received.
|
42
43
|
@stdoutEOF = false
|
43
44
|
# The pipe to transfer stderr data from the child to the parent.
|
44
45
|
@stderrP, @stderrC = nil
|
45
46
|
# The stderr output of the child
|
46
|
-
@stderr = ''
|
47
|
+
@stderr = +''
|
47
48
|
# This flag is set to true when the EOT character has been received.
|
48
49
|
@stderrEOT = false
|
49
50
|
end
|
data/lib/taskjuggler/Booking.rb
CHANGED
data/lib/taskjuggler/Charge.rb
CHANGED
data/lib/taskjuggler/FileList.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = ICalendar.rb -- The TaskJuggler III Project Management Software
|
@@ -116,7 +117,7 @@ EOT
|
|
116
117
|
# Generate the VTODO record as String.
|
117
118
|
def to_s
|
118
119
|
super do
|
119
|
-
str = ''
|
120
|
+
str = +''
|
120
121
|
if @percentComplete < 100.0
|
121
122
|
str += "DUE:#{dateTime(@endDate)}\n"
|
122
123
|
else
|
@@ -226,7 +227,7 @@ EOT
|
|
226
227
|
# Make sure that no line is longer than LINELENTH octets (excl. the
|
227
228
|
# newline character)
|
228
229
|
def foldLines(str)
|
229
|
-
newStr = ''
|
230
|
+
newStr = +''
|
230
231
|
str.each_line do |line|
|
231
232
|
bytes = 0
|
232
233
|
line.each_utf8_char do |c|
|
data/lib/taskjuggler/Interval.rb
CHANGED
data/lib/taskjuggler/Journal.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = Journal.rb -- The TaskJuggler III Project Management Software
|
@@ -74,11 +75,11 @@ class TaskJuggler
|
|
74
75
|
"alt=[#{levelRecord.name}]|text-bottom]] "
|
75
76
|
end
|
76
77
|
else
|
77
|
-
alertName = ''
|
78
|
+
alertName = +''
|
78
79
|
end
|
79
80
|
|
80
81
|
# The String that will hold the result as RichText markup.
|
81
|
-
rText = ''
|
82
|
+
rText = +''
|
82
83
|
|
83
84
|
# Markup to use for headlines.
|
84
85
|
hlMark = '==='
|
@@ -144,7 +145,7 @@ class TaskJuggler
|
|
144
145
|
end
|
145
146
|
|
146
147
|
# We've shown the alert now. Don't show it again with the headline.
|
147
|
-
alertName = ''
|
148
|
+
alertName = +''
|
148
149
|
# Increase level for subsequent headlines.
|
149
150
|
hlMark += '='
|
150
151
|
end
|
@@ -480,7 +481,7 @@ class TaskJuggler
|
|
480
481
|
# The components of the message are either UTF-8 text or RichText. For
|
481
482
|
# the RichText components, we use the originally provided markup since
|
482
483
|
# we compose the result as RichText markup first.
|
483
|
-
rText = ''
|
484
|
+
rText = +''
|
484
485
|
entries.each do |entry|
|
485
486
|
rText += entry.to_rText(query)
|
486
487
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = KeywordDocumentation.rb -- The TaskJuggler III Project Management Software
|
@@ -197,7 +198,7 @@ class TaskJuggler
|
|
197
198
|
if [ :deprecated, :removed ].include?(@pattern.supportLevel) &&
|
198
199
|
@seeAlso.length > 0
|
199
200
|
msg += "\n\nPlease use "
|
200
|
-
alsoStr = ''
|
201
|
+
alsoStr = +''
|
201
202
|
@seeAlso.each do |also|
|
202
203
|
unless alsoStr.empty?
|
203
204
|
alsoStr += ', '
|
@@ -223,7 +224,7 @@ class TaskJuggler
|
|
223
224
|
if @args.empty?
|
224
225
|
str += format(tagW, "none\n", textW)
|
225
226
|
else
|
226
|
-
argStr = ''
|
227
|
+
argStr = +''
|
227
228
|
@args.each do |arg|
|
228
229
|
argText = newRichText(arg.text ||
|
229
230
|
"See '#{arg.name}' for details.").to_s
|
@@ -249,7 +250,7 @@ class TaskJuggler
|
|
249
250
|
if @contexts.empty?
|
250
251
|
str += format(tagW, 'Global scope', textW)
|
251
252
|
else
|
252
|
-
cxtStr = ''
|
253
|
+
cxtStr = +''
|
253
254
|
@contexts.each do |context|
|
254
255
|
unless cxtStr.empty?
|
255
256
|
cxtStr += ', '
|
@@ -263,7 +264,7 @@ class TaskJuggler
|
|
263
264
|
if @optionalAttributes.empty?
|
264
265
|
str += "none\n\n"
|
265
266
|
else
|
266
|
-
attrStr = ''
|
267
|
+
attrStr = +''
|
267
268
|
@optionalAttributes.sort! do |a, b|
|
268
269
|
a.keyword <=> b.keyword
|
269
270
|
end
|
@@ -308,7 +309,7 @@ class TaskJuggler
|
|
308
309
|
|
309
310
|
unless @seeAlso.empty?
|
310
311
|
str += blue('See also:') + " "
|
311
|
-
alsoStr = ''
|
312
|
+
alsoStr = +''
|
312
313
|
@seeAlso.each do |also|
|
313
314
|
unless alsoStr.empty?
|
314
315
|
alsoStr += ', '
|
data/lib/taskjuggler/Limits.rb
CHANGED
data/lib/taskjuggler/Log.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = Log.rb -- The TaskJuggler III Project Management Software
|
@@ -30,7 +31,7 @@ class TaskJuggler
|
|
30
31
|
@@segments = []
|
31
32
|
@@silent = true
|
32
33
|
@@progress = 0
|
33
|
-
@@progressMeter = ''
|
34
|
+
@@progressMeter = +''
|
34
35
|
|
35
36
|
# Set the maximum nesting level that should be shown. Segments with a
|
36
37
|
# nesting level greater than _l_ will be silently dropped.
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = MessageHandler.rb -- The TaskJuggler III Project Management Software
|
@@ -222,7 +223,7 @@ class TaskJuggler
|
|
222
223
|
|
223
224
|
# Convert all messages into a single String.
|
224
225
|
def to_s
|
225
|
-
text = ''
|
226
|
+
text = +''
|
226
227
|
@messages.each { |msg| text += msg.to_s }
|
227
228
|
text
|
228
229
|
end
|
data/lib/taskjuggler/PTNProxy.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = Points.rb -- The TaskJuggler III Project Management Software
|
@@ -32,7 +33,7 @@ class TaskJuggler
|
|
32
33
|
# Conver the list of coordinates into a String that is compatible with
|
33
34
|
# SVG syntax.
|
34
35
|
def to_s
|
35
|
-
str = ''
|
36
|
+
str = +''
|
36
37
|
@points.each do |point|
|
37
38
|
str += "#{point[0]},#{point[1]} "
|
38
39
|
end
|
data/lib/taskjuggler/Painter.rb
CHANGED
data/lib/taskjuggler/Project.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = Project.rb -- The TaskJuggler III Project Management Software
|
@@ -71,7 +72,7 @@ class TaskJuggler
|
|
71
72
|
# members: the tjp syntax token, the user visible name and the
|
72
73
|
# associated color as RGB byte array.
|
73
74
|
'alertLevels' => AlertLevelDefinitions.new,
|
74
|
-
'auxdir' => '',
|
75
|
+
'auxdir' => +'',
|
75
76
|
'copyright' => nil,
|
76
77
|
'costaccount' => nil,
|
77
78
|
'currency' => "EUR",
|
@@ -1049,7 +1050,7 @@ class TaskJuggler
|
|
1049
1050
|
# Print the attribute values. It's used for debugging only.
|
1050
1051
|
def to_s
|
1051
1052
|
#raise "STOP!"
|
1052
|
-
str = ''
|
1053
|
+
str = +''
|
1053
1054
|
@attributes.each do |attribute, value|
|
1054
1055
|
if value
|
1055
1056
|
str += "#{attribute}: " +
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = ProjectFileParser.rb -- The TaskJuggler III Project Management Software
|
@@ -459,7 +460,7 @@ class TaskJuggler
|
|
459
460
|
resourceprefix accountprefix )
|
460
461
|
stackEntry = {}
|
461
462
|
@fileStackVariables.each do |var|
|
462
|
-
stackEntry[var] = ''
|
463
|
+
stackEntry[var] = +''
|
463
464
|
instance_variable_set('@' + var, '')
|
464
465
|
end
|
465
466
|
@fileStack = [ stackEntry ]
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = ProjectFileScanner.rb -- The TaskJuggler III Project Management Software
|
@@ -272,7 +273,7 @@ class TaskJuggler
|
|
272
273
|
end
|
273
274
|
self.mode = :szrString1
|
274
275
|
@startOfToken = sourceFileInfo
|
275
|
-
@string = ''
|
276
|
+
@string = +''
|
276
277
|
[ nil, '' ]
|
277
278
|
end
|
278
279
|
|
@@ -306,7 +307,7 @@ class TaskJuggler
|
|
306
307
|
prefix = match[0..(start - 1)]
|
307
308
|
envRef = match[start..-1]
|
308
309
|
else
|
309
|
-
prefix = ''
|
310
|
+
prefix = +''
|
310
311
|
envRef = match
|
311
312
|
end
|
312
313
|
|
@@ -367,7 +368,7 @@ class TaskJuggler
|
|
367
368
|
prefix = @macroCall[0..(macroStart - 1)]
|
368
369
|
@macroCall = @macroCall[macroStart..-1]
|
369
370
|
else
|
370
|
-
prefix = ''
|
371
|
+
prefix = +''
|
371
372
|
end
|
372
373
|
|
373
374
|
macroCallLength = @macroCall.length
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = PropertyList.rb -- The TaskJuggler III Project Management Software
|
@@ -248,7 +249,7 @@ class TaskJuggler
|
|
248
249
|
# property and all its parents.
|
249
250
|
treeIdcs = property.getIndicies
|
250
251
|
# Now convert them to a String.
|
251
|
-
tree = ''
|
252
|
+
tree = +''
|
252
253
|
treeIdcs.each do |idx|
|
253
254
|
# Prefix the level index with zeros so that we always have a 6
|
254
255
|
# digit long String. 6 digits should be large enough for all
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = PropertyTreeNode.rb -- The TaskJuggler III Project Management Software
|
@@ -719,7 +720,7 @@ class TaskJuggler
|
|
719
720
|
# The components of the message are either UTF-8 text or RichText. For
|
720
721
|
# the RichText components, we use the originally provided markup since
|
721
722
|
# we compose the result as RichText markup first.
|
722
|
-
rText = ''
|
723
|
+
rText = +''
|
723
724
|
entries.each do |entry|
|
724
725
|
rText += "==== <nowiki>" + entry.headline + "</nowiki> ====\n"
|
725
726
|
rText += "''Reported on #{entry.date.to_s(query.timeFormat)}'' "
|
data/lib/taskjuggler/Query.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = Query.rb -- The TaskJuggler III Project Management Software
|
@@ -217,7 +218,7 @@ class TaskJuggler
|
|
217
218
|
# Converts the String items in _listItems_ into a RichTextIntermediate
|
218
219
|
# objects and assigns it as result of the query.
|
219
220
|
def assignList(listItems)
|
220
|
-
list = ''
|
221
|
+
list = +''
|
221
222
|
listItems.each do |item|
|
222
223
|
case @listType
|
223
224
|
when nil, :comma
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = RealFormat.rb -- The TaskJuggler III Project Management Software
|
@@ -74,7 +75,7 @@ class TaskJuggler
|
|
74
75
|
if @thousandsSeparator.empty?
|
75
76
|
out = intPart
|
76
77
|
else
|
77
|
-
out = ''
|
78
|
+
out = +''
|
78
79
|
1.upto(intPart.length) do |i|
|
79
80
|
out = intPart[-i, 1] + out
|
80
81
|
out = @thousandsSeparator + out if i % 3 == 0 && i < intPart.length
|