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.
Files changed (522) hide show
  1. checksums.yaml +4 -4
  2. data/data/tjp.vim +1 -1
  3. data/lib/taskjuggler/Account.rb +1 -0
  4. data/lib/taskjuggler/AccountCredit.rb +1 -0
  5. data/lib/taskjuggler/AccountScenario.rb +1 -0
  6. data/lib/taskjuggler/AlertLevelDefinitions.rb +1 -0
  7. data/lib/taskjuggler/AlgorithmDiff.rb +3 -2
  8. data/lib/taskjuggler/Allocation.rb +1 -0
  9. data/lib/taskjuggler/AppConfig.rb +1 -0
  10. data/lib/taskjuggler/AttributeBase.rb +1 -0
  11. data/lib/taskjuggler/AttributeDefinition.rb +1 -0
  12. data/lib/taskjuggler/Attributes.rb +3 -2
  13. data/lib/taskjuggler/BatchProcessor.rb +3 -2
  14. data/lib/taskjuggler/Booking.rb +1 -0
  15. data/lib/taskjuggler/Charge.rb +1 -0
  16. data/lib/taskjuggler/ChargeSet.rb +1 -0
  17. data/lib/taskjuggler/DataCache.rb +1 -0
  18. data/lib/taskjuggler/FileList.rb +1 -0
  19. data/lib/taskjuggler/HTMLDocument.rb +1 -0
  20. data/lib/taskjuggler/HTMLElements.rb +1 -0
  21. data/lib/taskjuggler/ICalendar.rb +3 -2
  22. data/lib/taskjuggler/Interval.rb +1 -0
  23. data/lib/taskjuggler/IntervalList.rb +1 -0
  24. data/lib/taskjuggler/Journal.rb +5 -4
  25. data/lib/taskjuggler/KateSyntax.rb +1 -0
  26. data/lib/taskjuggler/KeywordArray.rb +1 -0
  27. data/lib/taskjuggler/KeywordDocumentation.rb +6 -5
  28. data/lib/taskjuggler/LeaveList.rb +1 -0
  29. data/lib/taskjuggler/Limits.rb +1 -0
  30. data/lib/taskjuggler/Log.rb +2 -1
  31. data/lib/taskjuggler/LogicalExpression.rb +1 -0
  32. data/lib/taskjuggler/LogicalFunction.rb +1 -0
  33. data/lib/taskjuggler/LogicalOperation.rb +1 -0
  34. data/lib/taskjuggler/MessageHandler.rb +2 -1
  35. data/lib/taskjuggler/PTNProxy.rb +1 -0
  36. data/lib/taskjuggler/Painter/BasicShapes.rb +1 -0
  37. data/lib/taskjuggler/Painter/Color.rb +1 -0
  38. data/lib/taskjuggler/Painter/Element.rb +1 -0
  39. data/lib/taskjuggler/Painter/FontData.rb +1 -0
  40. data/lib/taskjuggler/Painter/FontMetrics.rb +1 -0
  41. data/lib/taskjuggler/Painter/FontMetricsData.rb +1 -0
  42. data/lib/taskjuggler/Painter/Group.rb +1 -0
  43. data/lib/taskjuggler/Painter/Points.rb +2 -1
  44. data/lib/taskjuggler/Painter/Primitives.rb +1 -0
  45. data/lib/taskjuggler/Painter/SVGSupport.rb +1 -0
  46. data/lib/taskjuggler/Painter/Text.rb +1 -0
  47. data/lib/taskjuggler/Painter.rb +1 -0
  48. data/lib/taskjuggler/Project.rb +3 -2
  49. data/lib/taskjuggler/ProjectFileParser.rb +2 -1
  50. data/lib/taskjuggler/ProjectFileScanner.rb +4 -3
  51. data/lib/taskjuggler/PropertyList.rb +2 -1
  52. data/lib/taskjuggler/PropertySet.rb +1 -0
  53. data/lib/taskjuggler/PropertyTreeNode.rb +2 -1
  54. data/lib/taskjuggler/Query.rb +2 -1
  55. data/lib/taskjuggler/RealFormat.rb +2 -1
  56. data/lib/taskjuggler/Resource.rb +2 -1
  57. data/lib/taskjuggler/ResourceScenario.rb +9 -1
  58. data/lib/taskjuggler/RichText/Document.rb +1 -0
  59. data/lib/taskjuggler/RichText/Element.rb +6 -5
  60. data/lib/taskjuggler/RichText/FunctionExample.rb +1 -0
  61. data/lib/taskjuggler/RichText/FunctionHandler.rb +1 -0
  62. data/lib/taskjuggler/RichText/Parser.rb +1 -0
  63. data/lib/taskjuggler/RichText/RTFHandlers.rb +1 -0
  64. data/lib/taskjuggler/RichText/RTFNavigator.rb +1 -0
  65. data/lib/taskjuggler/RichText/RTFQuery.rb +1 -0
  66. data/lib/taskjuggler/RichText/RTFReport.rb +1 -0
  67. data/lib/taskjuggler/RichText/RTFReportLink.rb +1 -0
  68. data/lib/taskjuggler/RichText/RTFWithQuerySupport.rb +1 -0
  69. data/lib/taskjuggler/RichText/Scanner.rb +1 -0
  70. data/lib/taskjuggler/RichText/Snip.rb +2 -1
  71. data/lib/taskjuggler/RichText/SyntaxRules.rb +1 -0
  72. data/lib/taskjuggler/RichText/TOCEntry.rb +1 -0
  73. data/lib/taskjuggler/RichText/TableOfContents.rb +1 -0
  74. data/lib/taskjuggler/RichText.rb +1 -0
  75. data/lib/taskjuggler/RuntimeConfig.rb +1 -0
  76. data/lib/taskjuggler/Scenario.rb +1 -0
  77. data/lib/taskjuggler/ScenarioData.rb +1 -0
  78. data/lib/taskjuggler/Scoreboard.rb +2 -1
  79. data/lib/taskjuggler/SheetHandlerBase.rb +2 -1
  80. data/lib/taskjuggler/SheetReceiver.rb +1 -0
  81. data/lib/taskjuggler/SheetSender.rb +3 -2
  82. data/lib/taskjuggler/Shift.rb +1 -0
  83. data/lib/taskjuggler/ShiftAssignments.rb +1 -0
  84. data/lib/taskjuggler/ShiftScenario.rb +1 -0
  85. data/lib/taskjuggler/SimpleQueryExpander.rb +1 -0
  86. data/lib/taskjuggler/StatusSheetReceiver.rb +1 -0
  87. data/lib/taskjuggler/StatusSheetSender.rb +1 -0
  88. data/lib/taskjuggler/StdIoWrapper.rb +1 -0
  89. data/lib/taskjuggler/SyntaxReference.rb +2 -1
  90. data/lib/taskjuggler/TableColumnDefinition.rb +1 -0
  91. data/lib/taskjuggler/TableColumnSorter.rb +1 -0
  92. data/lib/taskjuggler/Task.rb +2 -1
  93. data/lib/taskjuggler/TaskDependency.rb +1 -0
  94. data/lib/taskjuggler/TaskJuggler.rb +1 -0
  95. data/lib/taskjuggler/TaskScenario.rb +3 -2
  96. data/lib/taskjuggler/TernarySearchTree.rb +5 -4
  97. data/lib/taskjuggler/TextFormatter.rb +5 -4
  98. data/lib/taskjuggler/TextParser/MacroTable.rb +1 -0
  99. data/lib/taskjuggler/TextParser/Pattern.rb +2 -1
  100. data/lib/taskjuggler/TextParser/Rule.rb +3 -2
  101. data/lib/taskjuggler/TextParser/Scanner.rb +1 -0
  102. data/lib/taskjuggler/TextParser/SourceFileInfo.rb +1 -0
  103. data/lib/taskjuggler/TextParser/StackElement.rb +1 -0
  104. data/lib/taskjuggler/TextParser/State.rb +1 -0
  105. data/lib/taskjuggler/TextParser/TokenDoc.rb +1 -0
  106. data/lib/taskjuggler/TextParser.rb +1 -0
  107. data/lib/taskjuggler/TimeSheetReceiver.rb +1 -0
  108. data/lib/taskjuggler/TimeSheetSender.rb +1 -0
  109. data/lib/taskjuggler/TimeSheetSummary.rb +3 -2
  110. data/lib/taskjuggler/TimeSheets.rb +1 -0
  111. data/lib/taskjuggler/Tj3AppBase.rb +2 -1
  112. data/lib/taskjuggler/Tj3Config.rb +1 -0
  113. data/lib/taskjuggler/Tj3SheetAppBase.rb +1 -0
  114. data/lib/taskjuggler/TjException.rb +1 -0
  115. data/lib/taskjuggler/TjTime.rb +1 -0
  116. data/lib/taskjuggler/TjpExample.rb +2 -1
  117. data/lib/taskjuggler/TjpSyntaxRules.rb +1 -0
  118. data/lib/taskjuggler/URLParameter.rb +1 -0
  119. data/lib/taskjuggler/UTF8String.rb +4 -3
  120. data/lib/taskjuggler/UserManual.rb +1 -0
  121. data/lib/taskjuggler/VimSyntax.rb +1 -0
  122. data/lib/taskjuggler/WorkingHours.rb +2 -1
  123. data/lib/taskjuggler/XMLDocument.rb +2 -1
  124. data/lib/taskjuggler/XMLElement.rb +6 -5
  125. data/lib/taskjuggler/apps/Tj3.rb +1 -0
  126. data/lib/taskjuggler/apps/Tj3Client.rb +1 -0
  127. data/lib/taskjuggler/apps/Tj3Daemon.rb +1 -0
  128. data/lib/taskjuggler/apps/Tj3Man.rb +1 -0
  129. data/lib/taskjuggler/apps/Tj3SsReceiver.rb +1 -0
  130. data/lib/taskjuggler/apps/Tj3SsSender.rb +1 -0
  131. data/lib/taskjuggler/apps/Tj3TsReceiver.rb +1 -0
  132. data/lib/taskjuggler/apps/Tj3TsSender.rb +1 -0
  133. data/lib/taskjuggler/apps/Tj3TsSummary.rb +1 -0
  134. data/lib/taskjuggler/apps/Tj3WebD.rb +1 -0
  135. data/lib/taskjuggler/daemon/Daemon.rb +2 -1
  136. data/lib/taskjuggler/daemon/DaemonConnector.rb +1 -0
  137. data/lib/taskjuggler/daemon/ProcessIntercom.rb +1 -0
  138. data/lib/taskjuggler/daemon/ProjectBroker.rb +1 -0
  139. data/lib/taskjuggler/daemon/ProjectServer.rb +1 -0
  140. data/lib/taskjuggler/daemon/ReportServer.rb +1 -0
  141. data/lib/taskjuggler/daemon/ReportServlet.rb +1 -0
  142. data/lib/taskjuggler/daemon/WebServer.rb +1 -0
  143. data/lib/taskjuggler/daemon/WelcomePage.rb +1 -0
  144. data/lib/taskjuggler/deep_copy.rb +1 -0
  145. data/lib/taskjuggler/reports/AccountListRE.rb +1 -0
  146. data/lib/taskjuggler/reports/CSVFile.rb +3 -2
  147. data/lib/taskjuggler/reports/ChartPlotter.rb +1 -0
  148. data/lib/taskjuggler/reports/CollisionDetector.rb +1 -0
  149. data/lib/taskjuggler/reports/ColumnTable.rb +1 -0
  150. data/lib/taskjuggler/reports/ExportRE.rb +1 -0
  151. data/lib/taskjuggler/reports/GanttChart.rb +1 -0
  152. data/lib/taskjuggler/reports/GanttContainer.rb +1 -0
  153. data/lib/taskjuggler/reports/GanttHeader.rb +1 -0
  154. data/lib/taskjuggler/reports/GanttHeaderScaleItem.rb +1 -0
  155. data/lib/taskjuggler/reports/GanttLine.rb +2 -1
  156. data/lib/taskjuggler/reports/GanttLoadStack.rb +1 -0
  157. data/lib/taskjuggler/reports/GanttMilestone.rb +1 -0
  158. data/lib/taskjuggler/reports/GanttRouter.rb +1 -0
  159. data/lib/taskjuggler/reports/GanttTaskBar.rb +1 -0
  160. data/lib/taskjuggler/reports/HTMLGraphics.rb +1 -0
  161. data/lib/taskjuggler/reports/ICalReport.rb +1 -0
  162. data/lib/taskjuggler/reports/MspXmlRE.rb +1 -0
  163. data/lib/taskjuggler/reports/Navigator.rb +1 -0
  164. data/lib/taskjuggler/reports/NikuReport.rb +2 -1
  165. data/lib/taskjuggler/reports/Report.rb +1 -0
  166. data/lib/taskjuggler/reports/ReportBase.rb +1 -0
  167. data/lib/taskjuggler/reports/ReportContext.rb +1 -0
  168. data/lib/taskjuggler/reports/ReportTable.rb +2 -1
  169. data/lib/taskjuggler/reports/ReportTableCell.rb +7 -6
  170. data/lib/taskjuggler/reports/ReportTableColumn.rb +1 -0
  171. data/lib/taskjuggler/reports/ReportTableLegend.rb +1 -0
  172. data/lib/taskjuggler/reports/ReportTableLine.rb +1 -0
  173. data/lib/taskjuggler/reports/ResourceListRE.rb +1 -0
  174. data/lib/taskjuggler/reports/StatusSheetReport.rb +4 -3
  175. data/lib/taskjuggler/reports/TableReport.rb +2 -1
  176. data/lib/taskjuggler/reports/TableReportColumn.rb +1 -0
  177. data/lib/taskjuggler/reports/TagFile.rb +1 -0
  178. data/lib/taskjuggler/reports/TaskListRE.rb +1 -0
  179. data/lib/taskjuggler/reports/TextReport.rb +2 -1
  180. data/lib/taskjuggler/reports/TimeSheetReport.rb +3 -2
  181. data/lib/taskjuggler/reports/TjpExportRE.rb +4 -3
  182. data/lib/taskjuggler/reports/TraceReport.rb +2 -1
  183. data/lib/taskjuggler/version.rb +1 -1
  184. data/lib/tj3.rb +1 -0
  185. data/man/tj3.1 +130 -0
  186. data/man/tj3client.1 +145 -0
  187. data/man/tj3d.1 +93 -0
  188. data/man/tj3man.1 +76 -0
  189. data/man/tj3ss_receiver.1 +86 -0
  190. data/man/tj3ss_sender.1 +100 -0
  191. data/man/tj3ts_receiver.1 +86 -0
  192. data/man/tj3ts_sender.1 +92 -0
  193. data/man/tj3ts_summary.1 +104 -0
  194. data/manual/html/Day_To_Day_Juggling.html +1 -1
  195. data/manual/html/Getting_Started.html +1 -1
  196. data/manual/html/How_To_Contribute.html +1 -1
  197. data/manual/html/Installation.html +1 -1
  198. data/manual/html/Intro.html +1 -1
  199. data/manual/html/List_Attributes.html +1 -1
  200. data/manual/html/Reporting_Bugs.html +1 -1
  201. data/manual/html/Rich_Text_Attributes.html +1 -1
  202. data/manual/html/Software.html +1 -1
  203. data/manual/html/TaskJuggler_2x_Migration.html +1 -1
  204. data/manual/html/TaskJuggler_Internals.html +1 -1
  205. data/manual/html/The_TaskJuggler_Syntax.html +1 -1
  206. data/manual/html/Tutorial.html +1 -1
  207. data/manual/html/account.html +1 -1
  208. data/manual/html/account.task.html +1 -1
  209. data/manual/html/accountprefix.html +1 -1
  210. data/manual/html/accountreport.html +1 -1
  211. data/manual/html/accountroot.html +1 -1
  212. data/manual/html/active.html +1 -1
  213. data/manual/html/adopt.task.html +1 -1
  214. data/manual/html/aggregate.html +1 -1
  215. data/manual/html/alert.html +1 -1
  216. data/manual/html/alertlevels.html +1 -1
  217. data/manual/html/allocate.html +1 -1
  218. data/manual/html/alphabet.html +1 -1
  219. data/manual/html/alternative.html +1 -1
  220. data/manual/html/author.html +1 -1
  221. data/manual/html/auxdir.html +1 -1
  222. data/manual/html/auxdir.report.html +1 -1
  223. data/manual/html/balance.html +1 -1
  224. data/manual/html/booking.resource.html +1 -1
  225. data/manual/html/booking.task.html +1 -1
  226. data/manual/html/caption.html +1 -1
  227. data/manual/html/cellcolor.column.html +1 -1
  228. data/manual/html/celltext.column.html +1 -1
  229. data/manual/html/center.html +1 -1
  230. data/manual/html/charge.html +1 -1
  231. data/manual/html/chargeset.html +1 -1
  232. data/manual/html/columnid.html +1 -1
  233. data/manual/html/columns.html +1 -1
  234. data/manual/html/complete.html +1 -1
  235. data/manual/html/copyright.html +1 -1
  236. data/manual/html/credits.html +1 -1
  237. data/manual/html/currency.html +1 -1
  238. data/manual/html/currencyformat.html +1 -1
  239. data/manual/html/dailymax.html +1 -1
  240. data/manual/html/dailymin.html +1 -1
  241. data/manual/html/dailyworkinghours.html +1 -1
  242. data/manual/html/date.extend.html +1 -1
  243. data/manual/html/date.html +1 -1
  244. data/manual/html/definitions.html +1 -1
  245. data/manual/html/depends.html +1 -1
  246. data/manual/html/details.html +1 -1
  247. data/manual/html/disabled.html +1 -1
  248. data/manual/html/duration.html +1 -1
  249. data/manual/html/efficiency.html +1 -1
  250. data/manual/html/effort.html +1 -1
  251. data/manual/html/effortdone.html +1 -1
  252. data/manual/html/effortleft.html +1 -1
  253. data/manual/html/email.html +1 -1
  254. data/manual/html/enabled.html +1 -1
  255. data/manual/html/end.column.html +1 -1
  256. data/manual/html/end.html +1 -1
  257. data/manual/html/end.limit.html +1 -1
  258. data/manual/html/end.report.html +1 -1
  259. data/manual/html/end.timesheet.html +1 -1
  260. data/manual/html/endcredit.html +1 -1
  261. data/manual/html/epilog.html +1 -1
  262. data/manual/html/export.html +1 -1
  263. data/manual/html/extend.html +1 -1
  264. data/manual/html/fail.html +1 -1
  265. data/manual/html/fdl.html +1 -1
  266. data/manual/html/flags.account.html +1 -1
  267. data/manual/html/flags.html +1 -1
  268. data/manual/html/flags.journalentry.html +1 -1
  269. data/manual/html/flags.report.html +1 -1
  270. data/manual/html/flags.resource.html +1 -1
  271. data/manual/html/flags.statussheet.html +1 -1
  272. data/manual/html/flags.task.html +1 -1
  273. data/manual/html/flags.timesheet.html +1 -1
  274. data/manual/html/fontcolor.column.html +1 -1
  275. data/manual/html/footer.html +1 -1
  276. data/manual/html/formats.export.html +1 -1
  277. data/manual/html/formats.html +1 -1
  278. data/manual/html/functions.html +1 -1
  279. data/manual/html/gapduration.html +1 -1
  280. data/manual/html/gaplength.html +1 -1
  281. data/manual/html/halign.center.html +1 -1
  282. data/manual/html/halign.column.html +1 -1
  283. data/manual/html/halign.left.html +1 -1
  284. data/manual/html/halign.right.html +1 -1
  285. data/manual/html/hasalert.html +1 -1
  286. data/manual/html/header.html +1 -1
  287. data/manual/html/headline.html +1 -1
  288. data/manual/html/height.html +1 -1
  289. data/manual/html/hideaccount.html +1 -1
  290. data/manual/html/hidejournalentry.html +1 -1
  291. data/manual/html/hidereport.html +1 -1
  292. data/manual/html/hideresource.html +1 -1
  293. data/manual/html/hidetask.html +1 -1
  294. data/manual/html/icalreport.html +1 -1
  295. data/manual/html/include.macro.html +1 -1
  296. data/manual/html/include.project.html +1 -1
  297. data/manual/html/include.properties.html +1 -1
  298. data/manual/html/index.html +1 -1
  299. data/manual/html/inherit.extend.html +1 -1
  300. data/manual/html/interval1.html +1 -1
  301. data/manual/html/interval2.html +1 -1
  302. data/manual/html/interval3.html +1 -1
  303. data/manual/html/interval4.html +1 -1
  304. data/manual/html/isactive.html +1 -1
  305. data/manual/html/ischildof.html +1 -1
  306. data/manual/html/isdependencyof.html +1 -1
  307. data/manual/html/isdutyof.html +1 -1
  308. data/manual/html/isfeatureof.html +1 -1
  309. data/manual/html/isleaf.html +1 -1
  310. data/manual/html/ismilestone.html +1 -1
  311. data/manual/html/isongoing.html +1 -1
  312. data/manual/html/isresource.html +1 -1
  313. data/manual/html/isresponsibilityof.html +1 -1
  314. data/manual/html/istask.html +1 -1
  315. data/manual/html/isvalid.html +1 -1
  316. data/manual/html/journalattributes.html +1 -1
  317. data/manual/html/journalentry.html +1 -1
  318. data/manual/html/journalmode.html +1 -1
  319. data/manual/html/leaveallowance.html +1 -1
  320. data/manual/html/leaves.html +1 -1
  321. data/manual/html/left.html +1 -1
  322. data/manual/html/length.html +1 -1
  323. data/manual/html/limits.allocate.html +1 -1
  324. data/manual/html/limits.html +1 -1
  325. data/manual/html/limits.resource.html +1 -1
  326. data/manual/html/limits.task.html +1 -1
  327. data/manual/html/listitem.column.html +1 -1
  328. data/manual/html/listtype.column.html +1 -1
  329. data/manual/html/loadunit.html +1 -1
  330. data/manual/html/logicalexpression.html +1 -1
  331. data/manual/html/logicalflagexpression.html +1 -1
  332. data/manual/html/macro.html +1 -1
  333. data/manual/html/managers.html +1 -1
  334. data/manual/html/mandatory.html +1 -1
  335. data/manual/html/markdate.html +1 -1
  336. data/manual/html/maxend.html +1 -1
  337. data/manual/html/maximum.html +1 -1
  338. data/manual/html/maxstart.html +1 -1
  339. data/manual/html/milestone.html +1 -1
  340. data/manual/html/minend.html +1 -1
  341. data/manual/html/minimum.html +1 -1
  342. data/manual/html/minstart.html +1 -1
  343. data/manual/html/monthlymax.html +1 -1
  344. data/manual/html/monthlymin.html +1 -1
  345. data/manual/html/navbar.html +1 -1
  346. data/manual/html/navigator.html +1 -1
  347. data/manual/html/newtask.html +1 -1
  348. data/manual/html/nikureport.html +1 -1
  349. data/manual/html/note.task.html +1 -1
  350. data/manual/html/novevents.html +1 -1
  351. data/manual/html/now.html +1 -1
  352. data/manual/html/number.extend.html +1 -1
  353. data/manual/html/numberformat.html +1 -1
  354. data/manual/html/onend.html +1 -1
  355. data/manual/html/onstart.html +1 -1
  356. data/manual/html/opennodes.html +1 -1
  357. data/manual/html/outputdir.html +1 -1
  358. data/manual/html/overtime.booking.html +1 -1
  359. data/manual/html/period.column.html +1 -1
  360. data/manual/html/period.limit.html +1 -1
  361. data/manual/html/period.report.html +1 -1
  362. data/manual/html/period.task.html +1 -1
  363. data/manual/html/persistent.html +1 -1
  364. data/manual/html/precedes.html +1 -1
  365. data/manual/html/priority.html +1 -1
  366. data/manual/html/priority.timesheet.html +1 -1
  367. data/manual/html/project.html +1 -1
  368. data/manual/html/projectid.html +1 -1
  369. data/manual/html/projectid.task.html +1 -1
  370. data/manual/html/projectids.html +1 -1
  371. data/manual/html/projection.html +1 -1
  372. data/manual/html/prolog.html +1 -1
  373. data/manual/html/properties.html +1 -1
  374. data/manual/html/purge.html +1 -1
  375. data/manual/html/rate.html +1 -1
  376. data/manual/html/rate.resource.html +1 -1
  377. data/manual/html/rawhtmlhead.html +1 -1
  378. data/manual/html/reference.extend.html +1 -1
  379. data/manual/html/remaining.html +1 -1
  380. data/manual/html/replace.html +1 -1
  381. data/manual/html/reportprefix.html +1 -1
  382. data/manual/html/resource.html +1 -1
  383. data/manual/html/resourceattributes.html +1 -1
  384. data/manual/html/resourceprefix.html +1 -1
  385. data/manual/html/resourcereport.html +1 -1
  386. data/manual/html/resourceroot.html +1 -1
  387. data/manual/html/resources.limit.html +1 -1
  388. data/manual/html/responsible.html +1 -1
  389. data/manual/html/richtext.extend.html +1 -1
  390. data/manual/html/right.html +1 -1
  391. data/manual/html/rollupaccount.html +1 -1
  392. data/manual/html/rollupresource.html +1 -1
  393. data/manual/html/rolluptask.html +1 -1
  394. data/manual/html/scale.column.html +1 -1
  395. data/manual/html/scenario.html +1 -1
  396. data/manual/html/scenario.ical.html +1 -1
  397. data/manual/html/scenarios.export.html +1 -1
  398. data/manual/html/scenarios.html +1 -1
  399. data/manual/html/scenariospecific.extend.html +1 -1
  400. data/manual/html/scheduled.html +1 -1
  401. data/manual/html/scheduling.html +1 -1
  402. data/manual/html/schedulingmode.html +1 -1
  403. data/manual/html/select.html +1 -1
  404. data/manual/html/selfcontained.html +1 -1
  405. data/manual/html/shift.allocate.html +1 -1
  406. data/manual/html/shift.html +1 -1
  407. data/manual/html/shift.resource.html +1 -1
  408. data/manual/html/shift.task.html +1 -1
  409. data/manual/html/shift.timesheet.html +1 -1
  410. data/manual/html/shifts.allocate.html +1 -1
  411. data/manual/html/shifts.resource.html +1 -1
  412. data/manual/html/shifts.task.html +1 -1
  413. data/manual/html/shorttimeformat.html +1 -1
  414. data/manual/html/sloppy.booking.html +1 -1
  415. data/manual/html/sloppy.projection.html +1 -1
  416. data/manual/html/sortaccounts.html +1 -1
  417. data/manual/html/sortjournalentries.html +1 -1
  418. data/manual/html/sortresources.html +1 -1
  419. data/manual/html/sorttasks.html +1 -1
  420. data/manual/html/start.column.html +1 -1
  421. data/manual/html/start.html +1 -1
  422. data/manual/html/start.limit.html +1 -1
  423. data/manual/html/start.report.html +1 -1
  424. data/manual/html/startcredit.html +1 -1
  425. data/manual/html/status.statussheet.html +1 -1
  426. data/manual/html/status.timesheet.html +1 -1
  427. data/manual/html/statussheet.html +1 -1
  428. data/manual/html/statussheetreport.html +1 -1
  429. data/manual/html/strict.projection.html +1 -1
  430. data/manual/html/summary.html +1 -1
  431. data/manual/html/supplement.html +1 -1
  432. data/manual/html/supplement.resource.html +1 -1
  433. data/manual/html/supplement.task.html +1 -1
  434. data/manual/html/tagfile.html +1 -1
  435. data/manual/html/task.html +1 -1
  436. data/manual/html/task.statussheet.html +1 -1
  437. data/manual/html/task.timesheet.html +1 -1
  438. data/manual/html/taskattributes.html +1 -1
  439. data/manual/html/taskprefix.html +1 -1
  440. data/manual/html/taskreport.html +1 -1
  441. data/manual/html/taskroot.export.html +1 -1
  442. data/manual/html/taskroot.html +1 -1
  443. data/manual/html/text.extend.html +1 -1
  444. data/manual/html/textreport.html +1 -1
  445. data/manual/html/timeformat.html +1 -1
  446. data/manual/html/timeformat1.html +1 -1
  447. data/manual/html/timeformat2.html +1 -1
  448. data/manual/html/timeoff.nikureport.html +1 -1
  449. data/manual/html/timesheet.html +1 -1
  450. data/manual/html/timesheetreport.html +1 -1
  451. data/manual/html/timezone.export.html +1 -1
  452. data/manual/html/timezone.html +1 -1
  453. data/manual/html/timezone.report.html +1 -1
  454. data/manual/html/timezone.shift.html +1 -1
  455. data/manual/html/timingresolution.html +1 -1
  456. data/manual/html/title.column.html +1 -1
  457. data/manual/html/title.html +1 -1
  458. data/manual/html/toc.html +2 -2
  459. data/manual/html/tooltip.column.html +1 -1
  460. data/manual/html/tracereport.html +1 -1
  461. data/manual/html/trackingscenario.html +1 -1
  462. data/manual/html/treelevel.html +1 -1
  463. data/manual/html/vacation.html +1 -1
  464. data/manual/html/vacation.resource.html +1 -1
  465. data/manual/html/vacation.shift.html +1 -1
  466. data/manual/html/warn.html +1 -1
  467. data/manual/html/weeklymax.html +1 -1
  468. data/manual/html/weeklymin.html +1 -1
  469. data/manual/html/weekstartsmonday.html +1 -1
  470. data/manual/html/weekstartssunday.html +1 -1
  471. data/manual/html/width.column.html +1 -1
  472. data/manual/html/width.html +1 -1
  473. data/manual/html/work.html +1 -1
  474. data/manual/html/workinghours.project.html +1 -1
  475. data/manual/html/workinghours.resource.html +1 -1
  476. data/manual/html/workinghours.shift.html +1 -1
  477. data/manual/html/yearlyworkingdays.html +1 -1
  478. data/spec/Color_spec.rb +1 -0
  479. data/spec/ICalendar_spec.rb +1 -0
  480. data/spec/IntervalList_spec.rb +1 -0
  481. data/spec/ProjectBroker_spec.rb +1 -0
  482. data/spec/StatusSheets_spec.rb +1 -0
  483. data/spec/TableColumnSorter_spec.rb +1 -0
  484. data/spec/TernarySearchTree_spec.rb +1 -0
  485. data/spec/TimeSheets_spec.rb +1 -0
  486. data/spec/Tj3Daemon_spec.rb +1 -0
  487. data/spec/Tj3_spec.rb +1 -0
  488. data/spec/TraceReport_spec.rb +1 -0
  489. data/taskjuggler.gemspec +1 -1
  490. data/test/MessageChecker.rb +1 -0
  491. data/test/ReferenceGenerator.rb +1 -0
  492. data/test/TjpGen.rb +1 -0
  493. data/test/all.rb +1 -0
  494. data/test/test_AlgorithmDiff.rb +3 -2
  495. data/test/test_BatchProcessor.rb +1 -0
  496. data/test/test_CSV-Reports.rb +1 -0
  497. data/test/test_CSVFile.rb +1 -0
  498. data/test/test_CollisionDetector.rb +1 -0
  499. data/test/test_Export-Reports.rb +1 -0
  500. data/test/test_Journal.rb +1 -0
  501. data/test/test_Limits.rb +1 -0
  502. data/test/test_LogicalExpression.rb +1 -0
  503. data/test/test_MacroTable.rb +1 -0
  504. data/test/test_Project.rb +1 -0
  505. data/test/test_ProjectFileScanner.rb +1 -0
  506. data/test/test_PropertySet.rb +1 -0
  507. data/test/test_Query.rb +1 -0
  508. data/test/test_RealFormat.rb +1 -0
  509. data/test/test_ReportGenerator.rb +1 -0
  510. data/test/test_RichText.rb +1 -0
  511. data/test/test_Scheduler.rb +1 -0
  512. data/test/test_ShiftAssignments.rb +1 -0
  513. data/test/test_SimpleQueryExpander.rb +1 -0
  514. data/test/test_Syntax.rb +1 -0
  515. data/test/test_TextFormatter.rb +1 -0
  516. data/test/test_TjTime.rb +1 -0
  517. data/test/test_TjpExample.rb +1 -0
  518. data/test/test_URLParameter.rb +1 -0
  519. data/test/test_UTF8String.rb +5 -4
  520. data/test/test_WorkingHours.rb +1 -0
  521. data/test/test_deep_copy.rb +2 -1
  522. metadata +12 -3
@@ -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
  # = Resource.rb -- The TaskJuggler III Project Management Software
@@ -72,7 +73,7 @@ class TaskJuggler
72
73
  # The components of the message are either UTF-8 text or RichText. For
73
74
  # the RichText components, we use the originally provided markup since
74
75
  # we compose the result as RichText markup first.
75
- rText = ''
76
+ rText = +''
76
77
 
77
78
  taskList.each do |task|
78
79
  rText += "=== <nowiki>[</nowiki>" +
@@ -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
  # = ResourceScenario.rb -- The TaskJuggler III Project Management Software
@@ -496,7 +497,14 @@ class TaskJuggler
496
497
  # A generic tree iterator that recursively accumulates the result of the
497
498
  # block for each leaf object.
498
499
  def treeSum(startIdx, endIdx, *args, &block)
499
- cacheTag = "#{self.class}.#{caller[0][/`.*'/][1..-2]}"
500
+ # Starting with ruby 3.4.0, the out of caller was changed.
501
+ # https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-0-released/
502
+ # This ugly bit of code ensure that older versions still work.
503
+ if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.4.0')
504
+ cacheTag = caller[0][/'.*'/][1..-2]
505
+ else
506
+ cacheTag = "#{self.class}##{caller[0][/`.*'/][1..-2]}"
507
+ end
500
508
  treeSumR(cacheTag, startIdx, endIdx, *args, &block)
501
509
  end
502
510
 
@@ -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
  # = Document.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = Element.rb -- The TaskJuggler III Project Management Software
@@ -360,7 +361,7 @@ class TaskJuggler
360
361
  raise "Unknown RichTextElement category #{@category}"
361
362
  end
362
363
 
363
- out = ''
364
+ out = +''
364
365
  @children.each do |el|
365
366
  if el.is_a?(RichTextElement)
366
367
  out << el.to_tagged + (el.appendSpace ? ' ' : '')
@@ -488,7 +489,7 @@ class TaskJuggler
488
489
 
489
490
  # Convert all childern into a single plain text String.
490
491
  def children_to_s
491
- text = ''
492
+ text = +''
492
493
  @children.each do |c|
493
494
  text << c.to_s + (c.is_a?(RichTextElement) && c.appendSpace ? ' ' : '')
494
495
  end
@@ -507,7 +508,7 @@ class TaskJuggler
507
508
  # This function converts a String into a new String that only contains
508
509
  # characters that are acceptable for HTML tag IDs.
509
510
  def convertToID(text)
510
- out = ''
511
+ out = +''
511
512
  text.each_utf8_char do |c|
512
513
  out << c if (c >= 'A' && c <= 'Z') ||
513
514
  (c >= 'a' && c <= 'z') ||
@@ -520,7 +521,7 @@ class TaskJuggler
520
521
  private
521
522
 
522
523
  def sTitle(level)
523
- s = ''
524
+ s = +''
524
525
  if @richText.sectionNumbers
525
526
  1.upto(level) do |i|
526
527
  s += '.' unless s.empty?
@@ -536,7 +537,7 @@ class TaskJuggler
536
537
  attrs['class'] = @richText.cssClass if @richText.cssClass
537
538
  el = XMLElement.new("h#{level}", attrs)
538
539
  if @richText.sectionNumbers
539
- s = ''
540
+ s = +''
540
541
  1.upto(level) do |i|
541
542
  s += '.' unless s.empty?
542
543
  s += "#{@data[i - 1]}"
@@ -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
  # = FunctionExample.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = FunctionHandler.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = Parser.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = RTFHandlers.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = RTFNavigator.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = RTFQuery.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = RTFReport.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = RTFReportLink.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = RTFWithQuerySupport.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = Scanner.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = Snip.rb -- The TaskJuggler III Project Management Software
@@ -36,7 +37,7 @@ class TaskJuggler
36
37
  @name = fileName.index('/') ? fileName[fileName.rindex('/') + 1 .. -1] :
37
38
  fileName
38
39
 
39
- text = ''
40
+ text = +''
40
41
  File.open(fileName) do |file|
41
42
  file.each_line { |line| text += line }
42
43
  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
  # = SyntaxRules.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = TOCEntry.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = TableOfContents.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = RichText.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = RuntimeConfig.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = Scenario.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = ScenarioData.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = Scoreboard.rb -- The TaskJuggler III Project Management Software
@@ -175,7 +176,7 @@ class TaskJuggler
175
176
  end
176
177
 
177
178
  def inspect
178
- s = ''
179
+ s = +''
179
180
  0.upto(@sb.length - 1) do |i|
180
181
  s << "#{idxToDate(i)}: #{@sb[i]}"
181
182
  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
  # = SheetHandlerBase.rb -- The TaskJuggler III Project Management Software
@@ -60,7 +61,7 @@ class TaskJuggler
60
61
  # The cutOut section
61
62
  cutOutText = nil
62
63
  quoteLen = 0
63
- quoteMarks = emptyLine = ''
64
+ quoteMarks = emptyLine = +''
64
65
  text.each_line do |line|
65
66
  if cutOutText.nil?
66
67
  # We are looking for the line with the start marker (mark1)
@@ -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
  # = SheetReceiver.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = SheetSender.rb -- The TaskJuggler III Project Management Software
@@ -248,8 +249,8 @@ EOT
248
249
  end
249
250
 
250
251
  def generateReport(id, reportDef)
251
- out = ''
252
- err = ''
252
+ out = +''
253
+ err = +''
253
254
  res = nil
254
255
  begin
255
256
  command = [ '--unsafe', '--silent', 'report', @projectId, id, '=', '.' ]
@@ -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
  # = Shift.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = ShiftAssignments.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = ShiftScenario.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = SimpleQueryExpander.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = StatusSheetReceiver.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = StatusSheetSender.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = StdIoWrapper.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = SyntaxReference.rb -- The TaskJuggler III Project Management Software
@@ -276,7 +277,7 @@ class TaskJuggler
276
277
  $stderr.puts "ERROR: #{keyword} is not a known keyword.\n\n"
277
278
  end
278
279
  # Create list of top-level keywords.
279
- kwdStr = ''
280
+ kwdStr = +''
280
281
  @keywords.each_value do |kwd|
281
282
  if kwd.contexts.empty? ||
282
283
  (kwd.contexts.length == 1 && kwd.contexts[0] == kwd)
@@ -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
  # = TableColumnDefinition.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = TableColumnSorter.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = Task.rb -- The TaskJuggler III Project Management Software
@@ -39,7 +40,7 @@ class TaskJuggler
39
40
  # The components of the message are either UTF-8 text or RichText. For
40
41
  # the RichText components, we use the originally provided markup since
41
42
  # we compose the result as RichText markup first.
42
- rText = ''
43
+ rText = +''
43
44
  if recursive
44
45
  list = @project['journal'].entriesByTaskR(self, query.start, query.end,
45
46
  query.hideJournalEntry)
@@ -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
  # = TaskDependency.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = TaskJuggler.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = TaskScenario.rb -- The TaskJuggler III Project Management Software
@@ -645,7 +646,7 @@ class TaskJuggler
645
646
  end
646
647
  # Used for debugging only
647
648
  if false
648
- pathText = ''
649
+ pathText = +''
649
650
  path.each do |t, e|
650
651
  pathText += "#{t.fullId}(#{e ? 'end' : 'start'}) -> "
651
652
  end
@@ -2764,7 +2765,7 @@ class TaskJuggler
2764
2765
  query.string = date.to_s(query.timeFormat)
2765
2766
  else
2766
2767
  query.sortable = query.numerical = -1
2767
- query.string = ''
2768
+ query.string = +''
2768
2769
  end
2769
2770
  end
2770
2771
 
@@ -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
  # = TernarySearchTree.rb -- The TaskJuggler III Project Management Software
@@ -85,8 +86,8 @@ class TaskJuggler
85
86
  if index == maxIdx
86
87
  # We've reached the end of the search pattern.
87
88
  if partialMatch
88
- # The strange looking ('' << val) is for Ruby 1.8 compatibility.
89
- return collect { |v| str[0..-2] + ('' << v) }
89
+ # The strange looking (+'' << val) is for Ruby 1.8 compatibility.
90
+ return collect { |v| str[0..-2] + (+'' << v) }
90
91
  else
91
92
  return str if @last
92
93
  end
@@ -128,8 +129,8 @@ class TaskJuggler
128
129
  result = []
129
130
 
130
131
  result += @smaller.collect(str, &block) if @smaller
131
- # The strange looking ('' << val) is for Ruby 1.8 compatibility.
132
- newStr = str.nil? ? ('' << @value) : str + ('' << @value)
132
+ # The strange looking (+'' << val) is for Ruby 1.8 compatibility.
133
+ newStr = str.nil? ? (+'' << @value) : str + (+'' << @value)
133
134
  result << yield(newStr) if @last
134
135
  result += @equal.collect(newStr, &block) if @equal
135
136
  result += @larger.collect(str, &block) if @larger
@@ -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
  # = TextFormatter.rb -- The TaskJuggler III Project Management Software
@@ -34,7 +35,7 @@ class TaskJuggler
34
35
  # first line will be indented by @firstLineIndent. Lines that are longer
35
36
  # than @width will be clipped.
36
37
  def indent(str)
37
- out = ''
38
+ out = +''
38
39
  # Indentation to be used for the currently processed line. It will be
39
40
  # set to nil if it was inserted already.
40
41
  indentBuf = ' ' * @firstLineIndent
@@ -73,11 +74,11 @@ class TaskJuggler
73
74
  # Format the String _str_ according to the class settings.
74
75
  def format(str)
75
76
  # The resulting String.
76
- @out = ''
77
+ @out = +''
77
78
  # The column of the last character of the current line.
78
79
  @linePos = 0
79
80
  # A buffer for the currently processed word.
80
- @wordBuf = ''
81
+ @wordBuf = +''
81
82
  # True of we are at the beginning of a line.
82
83
  @beginOfLine = true
83
84
  # A buffer for the indentation to be used for the next line.
@@ -175,7 +176,7 @@ class TaskJuggler
175
176
 
176
177
  # Append the word and reset the @wordBuf.
177
178
  @out += @wordBuf
178
- @wordBuf = ''
179
+ @wordBuf = +''
179
180
  @linePos += wordLength
180
181
  @beginOfLine = false if @beginOfLine
181
182
  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
  # = MacroTable.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = Pattern.rb -- The TaskJuggler III Project Management Software
@@ -323,7 +324,7 @@ class TaskJuggler::TextParser
323
324
  # "Push" us on the stack.
324
325
  stack[self] = true
325
326
 
326
- str = ''
327
+ str = +''
327
328
  first = true
328
329
  # Analyze the tokens of the pattern skipping the first 'skip' tokens.
329
330
  skip.upto(@lastSyntaxToken) do |i|
@@ -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
  # = Rule.rb -- The TaskJuggler III Project Management Software
@@ -158,11 +159,11 @@ class TaskJuggler::TextParser
158
159
  end
159
160
 
160
161
  def to_syntax(stack, docs, rules, skip)
161
- str = ''
162
+ str = +''
162
163
  str << '[' if @optional || @repeatable
163
164
  str << '(' if @patterns.length > 1
164
165
  first = true
165
- pStr = ''
166
+ pStr = +''
166
167
  @patterns.each do |pat|
167
168
  if first
168
169
  first = false
@@ -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
  # = Scanner.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = SourceFileInfo.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = StackElement.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = State.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = TokenDoc.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = TextParser.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = TimeSheetReceiver.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = TimeSheetSender.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = TimeSheetSummary.rb -- The TaskJuggler III Project Management Software
@@ -67,7 +68,7 @@ EOT
67
68
  def sendSummary(resourceIds)
68
69
  setWorkingDir
69
70
 
70
- summary = ''
71
+ summary = +''
71
72
  defaulterList = []
72
73
  getResourceList.each do |resource|
73
74
  resourceId = resource[0]
@@ -152,7 +153,7 @@ EOT
152
153
  end
153
154
 
154
155
  def getResourceJournal(sheetFile)
155
- err = ''
156
+ err = +''
156
157
  status = nil
157
158
  report = nil
158
159
  warnings = nil
@@ -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
  # = TimeSheets.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = Tj3AppBase.rb -- The TaskJuggler III Project Management Software
@@ -34,7 +35,7 @@ class TaskJuggler
34
35
  # Show some progress information by default
35
36
  @silent = false
36
37
  @configFile = nil
37
- @mandatoryArgs = ''
38
+ @mandatoryArgs = +''
38
39
  @mininumRubyVersion = '1.9.2'
39
40
 
40
41
  # If stdout is not a tty, we don't use ANSI escape sequences to color
@@ -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
  # = Tj3Config.rb -- The TaskJuggler III Project Management Software
@@ -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
  # = Tj3SheetAppBase.rb -- The TaskJuggler III Project Management Software