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.
Files changed (545) hide show
  1. data/CHANGELOG +160 -0
  2. data/benchmarks/UTF-8-Strings.rb +58 -0
  3. data/data/css/tjreport.css +7 -2
  4. data/doc/AppConfig.html +10 -4
  5. data/doc/Arguments.html +10 -4
  6. data/doc/CHANGELOG.html +171 -5
  7. data/doc/COPYING.html +10 -4
  8. data/doc/Object.html +11 -107
  9. data/doc/README.html +10 -4
  10. data/doc/RuntimeConfig.html +10 -4
  11. data/doc/String.html +16 -11
  12. data/doc/StringIO.html +10 -4
  13. data/doc/TaskJuggler.html +506 -435
  14. data/doc/TaskJuggler/Account.html +10 -4
  15. data/doc/TaskJuggler/AccountAttribute.html +10 -4
  16. data/doc/TaskJuggler/AccountScenario.html +10 -4
  17. data/doc/TaskJuggler/Allocation.html +69 -60
  18. data/doc/TaskJuggler/AllocationAttribute.html +10 -4
  19. data/doc/TaskJuggler/AttributeBase.html +10 -4
  20. data/doc/TaskJuggler/AttributeDefinition.html +10 -4
  21. data/doc/TaskJuggler/BatchProcessor.html +202 -192
  22. data/doc/TaskJuggler/Booking.html +10 -4
  23. data/doc/TaskJuggler/BookingListAttribute.html +10 -4
  24. data/doc/TaskJuggler/BooleanAttribute.html +10 -4
  25. data/doc/TaskJuggler/CSVFile.html +10 -4
  26. data/doc/TaskJuggler/CellSettingPattern.html +10 -4
  27. data/doc/TaskJuggler/CellSettingPatternList.html +10 -4
  28. data/doc/TaskJuggler/Charge.html +10 -4
  29. data/doc/TaskJuggler/ChargeListAttribute.html +10 -4
  30. data/doc/TaskJuggler/ChargeSet.html +10 -4
  31. data/doc/TaskJuggler/ChargeSetListAttribute.html +10 -4
  32. data/doc/TaskJuggler/ColumnListAttribute.html +10 -4
  33. data/doc/TaskJuggler/ColumnTable.html +10 -4
  34. data/doc/TaskJuggler/Daemon.html +71 -52
  35. data/doc/TaskJuggler/DateAttribute.html +10 -4
  36. data/doc/TaskJuggler/DefinitionListAttribute.html +10 -4
  37. data/doc/TaskJuggler/DependencyListAttribute.html +10 -4
  38. data/doc/TaskJuggler/DurationAttribute.html +10 -4
  39. data/doc/TaskJuggler/{MacroParser.html → FileList.html} +58 -173
  40. data/doc/TaskJuggler/{RichTextException.html → FileRecord.html} +59 -80
  41. data/doc/TaskJuggler/FixnumAttribute.html +10 -4
  42. data/doc/TaskJuggler/FlagListAttribute.html +10 -4
  43. data/doc/TaskJuggler/FloatAttribute.html +10 -4
  44. data/doc/TaskJuggler/FormatListAttribute.html +10 -4
  45. data/doc/TaskJuggler/GanttChart.html +10 -4
  46. data/doc/TaskJuggler/GanttContainer.html +14 -8
  47. data/doc/TaskJuggler/GanttHeader.html +10 -4
  48. data/doc/TaskJuggler/GanttHeaderScaleItem.html +10 -4
  49. data/doc/TaskJuggler/GanttLine.html +29 -24
  50. data/doc/TaskJuggler/GanttLoadStack.html +10 -4
  51. data/doc/TaskJuggler/GanttMilestone.html +10 -4
  52. data/doc/TaskJuggler/GanttRouter.html +10 -4
  53. data/doc/TaskJuggler/GanttTaskBar.html +20 -10
  54. data/doc/TaskJuggler/HTMLDocument.html +10 -4
  55. data/doc/TaskJuggler/HTMLGraphics.html +10 -4
  56. data/doc/TaskJuggler/Interval.html +10 -4
  57. data/doc/TaskJuggler/IntervalListAttribute.html +10 -4
  58. data/doc/TaskJuggler/JobInfo.html +10 -4
  59. data/doc/TaskJuggler/Journal.html +227 -160
  60. data/doc/TaskJuggler/JournalEntry.html +10 -4
  61. data/doc/TaskJuggler/JournalEntryList.html +158 -72
  62. data/doc/TaskJuggler/KeywordArray.html +21 -9
  63. data/doc/TaskJuggler/KeywordDocumentation.html +612 -475
  64. data/doc/TaskJuggler/Limits.html +13 -8
  65. data/doc/TaskJuggler/Limits/Limit.html +10 -4
  66. data/doc/TaskJuggler/LimitsAttribute.html +10 -4
  67. data/doc/TaskJuggler/ListAttributeBase.html +10 -4
  68. data/doc/TaskJuggler/Log.html +10 -4
  69. data/doc/TaskJuggler/LogFile.html +10 -4
  70. data/doc/TaskJuggler/LogicalAttribute.html +10 -4
  71. data/doc/TaskJuggler/LogicalExpression.html +11 -5
  72. data/doc/TaskJuggler/LogicalExpressionAttribute.html +10 -4
  73. data/doc/TaskJuggler/LogicalFlag.html +10 -4
  74. data/doc/TaskJuggler/LogicalFunction.html +132 -124
  75. data/doc/TaskJuggler/LogicalOperation.html +10 -4
  76. data/doc/TaskJuggler/Macro.html +16 -10
  77. data/doc/TaskJuggler/MacroTable.html +44 -38
  78. data/doc/TaskJuggler/ManagerResponsibilities.html +10 -4
  79. data/doc/TaskJuggler/ManagerStatusRecord.html +10 -4
  80. data/doc/TaskJuggler/Message.html +92 -68
  81. data/doc/TaskJuggler/MessageHandler.html +349 -28
  82. data/doc/TaskJuggler/Navigator.html +10 -4
  83. data/doc/TaskJuggler/NavigatorElement.html +10 -4
  84. data/doc/TaskJuggler/NikuProject.html +10 -4
  85. data/doc/TaskJuggler/NikuReport.html +10 -4
  86. data/doc/TaskJuggler/NikuResource.html +10 -4
  87. data/doc/TaskJuggler/NodeListAttribute.html +10 -4
  88. data/doc/TaskJuggler/OnShiftCache.html +10 -4
  89. data/doc/TaskJuggler/ProcessIntercom.html +118 -111
  90. data/doc/TaskJuggler/ProcessIntercomIface.html +75 -22
  91. data/doc/TaskJuggler/Project.html +886 -913
  92. data/doc/TaskJuggler/ProjectBroker.html +442 -331
  93. data/doc/TaskJuggler/ProjectBrokerIface.html +95 -38
  94. data/doc/TaskJuggler/ProjectFileParser.html +320 -317
  95. data/doc/TaskJuggler/ProjectFileScanner.html +336 -339
  96. data/doc/TaskJuggler/ProjectRecord.html +119 -56
  97. data/doc/TaskJuggler/ProjectServer.html +282 -237
  98. data/doc/TaskJuggler/ProjectServerIface.html +45 -39
  99. data/doc/TaskJuggler/PropertyAttribute.html +10 -4
  100. data/doc/TaskJuggler/PropertyList.html +177 -173
  101. data/doc/TaskJuggler/PropertySet.html +11 -5
  102. data/doc/TaskJuggler/PropertyTreeNode.html +194 -191
  103. data/doc/TaskJuggler/Query.html +280 -256
  104. data/doc/TaskJuggler/RTFHandlers.html +10 -4
  105. data/doc/TaskJuggler/RTFNavigator.html +33 -26
  106. data/doc/TaskJuggler/RTFQuery.html +135 -169
  107. data/doc/TaskJuggler/RTFReport.html +63 -56
  108. data/doc/TaskJuggler/RTFReportLink.html +58 -47
  109. data/doc/TaskJuggler/RTFWithQuerySupport.html +666 -0
  110. data/doc/TaskJuggler/RealFormat.html +10 -4
  111. data/doc/TaskJuggler/RealFormatAttribute.html +10 -4
  112. data/doc/TaskJuggler/ReferenceAttribute.html +10 -4
  113. data/doc/TaskJuggler/Report.html +333 -290
  114. data/doc/TaskJuggler/ReportBase.html +182 -174
  115. data/doc/TaskJuggler/ReportContext.html +10 -4
  116. data/doc/TaskJuggler/ReportServer.html +144 -126
  117. data/doc/TaskJuggler/ReportServerIface.html +50 -44
  118. data/doc/TaskJuggler/ReportServerRecord.html +38 -32
  119. data/doc/TaskJuggler/ReportServlet.html +144 -137
  120. data/doc/TaskJuggler/ReportTable.html +10 -4
  121. data/doc/TaskJuggler/ReportTableCell.html +169 -164
  122. data/doc/TaskJuggler/ReportTableColumn.html +10 -4
  123. data/doc/TaskJuggler/ReportTableLegend.html +10 -4
  124. data/doc/TaskJuggler/ReportTableLine.html +10 -4
  125. data/doc/TaskJuggler/Resource.html +121 -115
  126. data/doc/TaskJuggler/ResourceListAttribute.html +10 -4
  127. data/doc/TaskJuggler/ResourceListRE.html +10 -4
  128. data/doc/TaskJuggler/ResourceScenario.html +13 -7
  129. data/doc/TaskJuggler/RichText.html +61 -37
  130. data/doc/TaskJuggler/RichTextAttribute.html +10 -4
  131. data/doc/TaskJuggler/RichTextDocument.html +91 -81
  132. data/doc/TaskJuggler/RichTextElement.html +378 -317
  133. data/doc/TaskJuggler/RichTextFunctionExample.html +10 -4
  134. data/doc/TaskJuggler/RichTextFunctionHandler.html +16 -11
  135. data/doc/TaskJuggler/RichTextImage.html +10 -4
  136. data/doc/TaskJuggler/RichTextIntermediate.html +138 -70
  137. data/doc/TaskJuggler/RichTextParser.html +48 -40
  138. data/doc/TaskJuggler/RichTextScanner.html +328 -906
  139. data/doc/TaskJuggler/RichTextSnip.html +59 -57
  140. data/doc/TaskJuggler/RichTextSyntaxRules.html +458 -369
  141. data/doc/TaskJuggler/Scenario.html +10 -4
  142. data/doc/TaskJuggler/ScenarioData.html +33 -30
  143. data/doc/TaskJuggler/ScenarioListAttribute.html +10 -4
  144. data/doc/TaskJuggler/Scoreboard.html +10 -4
  145. data/doc/TaskJuggler/SheetHandlerBase.html +315 -191
  146. data/doc/TaskJuggler/SheetReceiver.html +334 -313
  147. data/doc/TaskJuggler/SheetSender.html +10 -4
  148. data/doc/TaskJuggler/Shift.html +10 -4
  149. data/doc/TaskJuggler/ShiftAssignment.html +10 -4
  150. data/doc/TaskJuggler/ShiftAssignments.html +10 -4
  151. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +10 -4
  152. data/doc/TaskJuggler/ShiftScenario.html +10 -4
  153. data/doc/TaskJuggler/SimpleQueryExpander.html +697 -0
  154. data/doc/TaskJuggler/SortListAttribute.html +10 -4
  155. data/doc/TaskJuggler/SourceFileInfo.html +10 -4
  156. data/doc/TaskJuggler/StatusSheetReceiver.html +10 -4
  157. data/doc/TaskJuggler/StatusSheetReport.html +10 -4
  158. data/doc/TaskJuggler/StatusSheetSender.html +10 -4
  159. data/doc/TaskJuggler/StringAttribute.html +10 -4
  160. data/doc/TaskJuggler/SymbolAttribute.html +10 -4
  161. data/doc/TaskJuggler/SyntaxReference.html +260 -230
  162. data/doc/TaskJuggler/TOCEntry.html +99 -42
  163. data/doc/TaskJuggler/TSResourceRecord.html +10 -4
  164. data/doc/TaskJuggler/TSTaskRecord.html +10 -4
  165. data/doc/TaskJuggler/TableColumnDefinition.html +10 -4
  166. data/doc/TaskJuggler/TableOfContents.html +54 -12
  167. data/doc/TaskJuggler/TableReport.html +877 -872
  168. data/doc/TaskJuggler/Task.html +117 -68
  169. data/doc/TaskJuggler/TaskDependency.html +10 -4
  170. data/doc/TaskJuggler/TaskListAttribute.html +10 -4
  171. data/doc/TaskJuggler/TaskListRE.html +10 -4
  172. data/doc/TaskJuggler/TaskScenario.html +1681 -1563
  173. data/doc/TaskJuggler/TextFormatter.html +10 -4
  174. data/doc/TaskJuggler/TextParser.html +567 -534
  175. data/doc/TaskJuggler/TextParser/Pattern.html +128 -118
  176. data/doc/TaskJuggler/TextParser/Rule.html +26 -15
  177. data/doc/TaskJuggler/TextParser/StackElement.html +10 -4
  178. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +22 -16
  179. data/doc/TaskJuggler/TextParser/TokenDoc.html +10 -4
  180. data/doc/TaskJuggler/TextReport.html +15 -6
  181. data/doc/TaskJuggler/TextScanner.html +319 -287
  182. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +16 -10
  183. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +23 -17
  184. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +17 -11
  185. data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
  186. data/doc/TaskJuggler/TimeSheet.html +138 -175
  187. data/doc/TaskJuggler/TimeSheetReceiver.html +10 -4
  188. data/doc/TaskJuggler/TimeSheetRecord.html +65 -58
  189. data/doc/TaskJuggler/TimeSheetReport.html +47 -42
  190. data/doc/TaskJuggler/TimeSheetSender.html +10 -4
  191. data/doc/TaskJuggler/TimeSheetSummary.html +91 -83
  192. data/doc/TaskJuggler/TimeSheets.html +22 -16
  193. data/doc/TaskJuggler/Tj3AppBase.html +10 -4
  194. data/doc/TaskJuggler/Tj3Client.html +399 -365
  195. data/doc/TaskJuggler/Tj3Daemon.html +107 -94
  196. data/doc/TaskJuggler/Tj3SheetAppBase.html +10 -4
  197. data/doc/TaskJuggler/Tj3SsReceiver.html +10 -4
  198. data/doc/TaskJuggler/Tj3SsSender.html +10 -4
  199. data/doc/TaskJuggler/Tj3TsReceiver.html +10 -4
  200. data/doc/TaskJuggler/Tj3TsSender.html +10 -4
  201. data/doc/TaskJuggler/Tj3TsSummary.html +10 -4
  202. data/doc/TaskJuggler/TjException.html +10 -4
  203. data/doc/TaskJuggler/TjTime.html +145 -140
  204. data/doc/TaskJuggler/TjpExample.html +10 -4
  205. data/doc/TaskJuggler/TjpExportRE.html +122 -118
  206. data/doc/TaskJuggler/TjpSyntaxRules.html +4065 -4052
  207. data/doc/TaskJuggler/URLParameter.html +10 -4
  208. data/doc/TaskJuggler/UserManual.html +162 -155
  209. data/doc/TaskJuggler/VimSyntax.html +1028 -0
  210. data/doc/TaskJuggler/WebServer.html +45 -27
  211. data/doc/TaskJuggler/WorkingHours.html +10 -4
  212. data/doc/TaskJuggler/WorkingHoursAttribute.html +10 -4
  213. data/doc/TaskJuggler/XMLBlob.html +10 -4
  214. data/doc/TaskJuggler/XMLComment.html +10 -4
  215. data/doc/TaskJuggler/XMLDocument.html +10 -4
  216. data/doc/TaskJuggler/XMLElement.html +10 -4
  217. data/doc/TaskJuggler/XMLNamedText.html +10 -4
  218. data/doc/TaskJuggler/XMLText.html +10 -4
  219. data/doc/index.html +735 -677
  220. data/doc/lib/AccountScenario_rb.html +1 -1
  221. data/doc/lib/Account_rb.html +1 -1
  222. data/doc/lib/Allocation_rb.html +1 -1
  223. data/doc/lib/AppConfig_rb.html +1 -1
  224. data/doc/lib/AttributeBase_rb.html +1 -1
  225. data/doc/lib/AttributeDefinition_rb.html +1 -1
  226. data/doc/lib/Attributes_rb.html +1 -1
  227. data/doc/lib/BatchProcessor_rb.html +1 -1
  228. data/doc/lib/Booking_rb.html +1 -1
  229. data/doc/lib/ChargeSet_rb.html +1 -1
  230. data/doc/lib/Charge_rb.html +1 -1
  231. data/doc/lib/{Message_rb.html → FileList_rb.html} +3 -5
  232. data/doc/lib/HTMLDocument_rb.html +1 -1
  233. data/doc/lib/Interval_rb.html +1 -1
  234. data/doc/lib/Journal_rb.html +1 -1
  235. data/doc/lib/KeywordArray_rb.html +1 -1
  236. data/doc/lib/KeywordDocumentation_rb.html +1 -1
  237. data/doc/lib/Limits_rb.html +1 -1
  238. data/doc/lib/LogFile_rb.html +1 -1
  239. data/doc/lib/Log_rb.html +1 -1
  240. data/doc/lib/LogicalExpression_rb.html +1 -1
  241. data/doc/lib/LogicalFunction_rb.html +1 -1
  242. data/doc/lib/LogicalOperation_rb.html +1 -1
  243. data/doc/lib/MacroTable_rb.html +1 -3
  244. data/doc/lib/MessageHandler_rb.html +1 -1
  245. data/doc/lib/ProjectFileParser_rb.html +1 -1
  246. data/doc/lib/ProjectFileScanner_rb.html +1 -1
  247. data/doc/lib/Project_rb.html +4 -2
  248. data/doc/lib/PropertyList_rb.html +1 -1
  249. data/doc/lib/PropertySet_rb.html +1 -1
  250. data/doc/lib/PropertyTreeNode_rb.html +1 -1
  251. data/doc/lib/Query_rb.html +1 -1
  252. data/doc/lib/RTFHandlers_rb.html +1 -1
  253. data/doc/lib/RTFNavigator_rb.html +1 -1
  254. data/doc/lib/RTFQuery_rb.html +2 -2
  255. data/doc/lib/RTFReportLink_rb.html +4 -2
  256. data/doc/lib/RTFReport_rb.html +1 -1
  257. data/doc/lib/{MacroParser_rb.html → RTFWithQuerySupport_rb.html} +4 -6
  258. data/doc/lib/RealFormat_rb.html +1 -1
  259. data/doc/lib/ResourceScenario_rb.html +1 -1
  260. data/doc/lib/Resource_rb.html +1 -1
  261. data/doc/lib/RichTextDocument_rb.html +1 -1
  262. data/doc/lib/RichTextElement_rb.html +1 -1
  263. data/doc/lib/RichTextFunctionExample_rb.html +1 -1
  264. data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
  265. data/doc/lib/RichTextParser_rb.html +1 -1
  266. data/doc/lib/RichTextScanner_rb.html +3 -1
  267. data/doc/lib/RichTextSnip_rb.html +1 -1
  268. data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
  269. data/doc/lib/RichText_rb.html +3 -1
  270. data/doc/lib/RuntimeConfig_rb.html +1 -1
  271. data/doc/lib/ScenarioData_rb.html +2 -2
  272. data/doc/lib/Scenario_rb.html +1 -1
  273. data/doc/lib/Scoreboard_rb.html +1 -1
  274. data/doc/lib/SheetHandlerBase_rb.html +5 -1
  275. data/doc/lib/SheetReceiver_rb.html +3 -1
  276. data/doc/lib/SheetSender_rb.html +1 -1
  277. data/doc/lib/ShiftAssignments_rb.html +1 -1
  278. data/doc/lib/ShiftScenario_rb.html +1 -1
  279. data/doc/lib/Shift_rb.html +1 -1
  280. data/doc/lib/SimpleQueryExpander_rb.html +67 -0
  281. data/doc/lib/SourceFileInfo_rb.html +1 -1
  282. data/doc/lib/StatusSheetReceiver_rb.html +1 -1
  283. data/doc/lib/StatusSheetSender_rb.html +1 -1
  284. data/doc/lib/SyntaxReference_rb.html +1 -1
  285. data/doc/lib/TOCEntry_rb.html +1 -1
  286. data/doc/lib/TableColumnDefinition_rb.html +1 -1
  287. data/doc/lib/TableOfContents_rb.html +1 -1
  288. data/doc/lib/TaskDependency_rb.html +1 -1
  289. data/doc/lib/TaskJuggler_rb.html +1 -1
  290. data/doc/lib/TaskScenario_rb.html +1 -1
  291. data/doc/lib/Task_rb.html +1 -1
  292. data/doc/lib/TextFormatter_rb.html +1 -1
  293. data/doc/lib/TextParser/Pattern_rb.html +1 -1
  294. data/doc/lib/TextParser/Rule_rb.html +1 -1
  295. data/doc/lib/TextParser/StackElement_rb.html +1 -1
  296. data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
  297. data/doc/lib/TextParser_rb.html +3 -1
  298. data/doc/lib/TextScanner_rb.html +1 -3
  299. data/doc/lib/TimeSheetReceiver_rb.html +1 -1
  300. data/doc/lib/TimeSheetSender_rb.html +1 -1
  301. data/doc/lib/TimeSheetSummary_rb.html +1 -1
  302. data/doc/lib/TimeSheets_rb.html +1 -1
  303. data/doc/lib/Tj3AppBase_rb.html +1 -1
  304. data/doc/lib/Tj3Config_rb.html +1 -1
  305. data/doc/lib/Tj3SheetAppBase_rb.html +1 -1
  306. data/doc/lib/TjException_rb.html +1 -1
  307. data/doc/lib/TjTime_rb.html +1 -1
  308. data/doc/lib/TjpExample_rb.html +1 -1
  309. data/doc/lib/TjpSyntaxRules_rb.html +1 -1
  310. data/doc/lib/URLParameter_rb.html +1 -1
  311. data/doc/lib/UTF8String_rb.html +1 -1
  312. data/doc/lib/UserManual_rb.html +1 -1
  313. data/doc/lib/{ruby-signal-bug_rb.html → VimSyntax_rb.html} +17 -4
  314. data/doc/lib/WorkingHours_rb.html +1 -1
  315. data/doc/lib/XMLDocument_rb.html +1 -1
  316. data/doc/lib/XMLElement_rb.html +1 -1
  317. data/doc/lib/daemon/Daemon_rb.html +1 -1
  318. data/doc/lib/daemon/ProcessIntercom_rb.html +1 -1
  319. data/doc/lib/daemon/ProjectBroker_rb.html +1 -1
  320. data/doc/lib/daemon/ProjectServer_rb.html +1 -1
  321. data/doc/lib/daemon/ReportServer_rb.html +1 -3
  322. data/doc/lib/daemon/WebServer_rb.html +1 -1
  323. data/doc/lib/deep_copy_rb.html +1 -1
  324. data/doc/lib/reports/CSVFile_rb.html +1 -1
  325. data/doc/lib/reports/ColumnTable_rb.html +1 -1
  326. data/doc/lib/reports/GanttChart_rb.html +1 -1
  327. data/doc/lib/reports/GanttContainer_rb.html +1 -1
  328. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
  329. data/doc/lib/reports/GanttHeader_rb.html +1 -1
  330. data/doc/lib/reports/GanttLine_rb.html +1 -1
  331. data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
  332. data/doc/lib/reports/GanttMilestone_rb.html +1 -1
  333. data/doc/lib/reports/GanttRouter_rb.html +1 -1
  334. data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
  335. data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
  336. data/doc/lib/reports/Navigator_rb.html +1 -1
  337. data/doc/lib/reports/NikuReport_rb.html +1 -1
  338. data/doc/lib/reports/ReportBase_rb.html +1 -1
  339. data/doc/lib/reports/ReportContext_rb.html +1 -1
  340. data/doc/lib/reports/ReportTableCell_rb.html +1 -1
  341. data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
  342. data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
  343. data/doc/lib/reports/ReportTableLine_rb.html +1 -1
  344. data/doc/lib/reports/ReportTable_rb.html +1 -1
  345. data/doc/lib/reports/Report_rb.html +1 -1
  346. data/doc/lib/reports/ResourceListRE_rb.html +1 -1
  347. data/doc/lib/reports/StatusSheetReport_rb.html +1 -1
  348. data/doc/lib/reports/TableReport_rb.html +1 -1
  349. data/doc/lib/reports/TaskListRE_rb.html +1 -1
  350. data/doc/lib/reports/TextReport_rb.html +1 -1
  351. data/doc/lib/reports/TimeSheetReport_rb.html +1 -1
  352. data/doc/lib/reports/TjpExportRE_rb.html +1 -1
  353. data/doc/lib/taskjuggler3_rb.html +1 -1
  354. data/doc/lib/tj3client_rb.html +1 -1
  355. data/doc/lib/tj3d_rb.html +1 -1
  356. data/doc/lib/tj3man_rb.html +1 -1
  357. data/doc/lib/tj3ss_receiver_rb.html +1 -1
  358. data/doc/lib/tj3ss_sender_rb.html +1 -1
  359. data/doc/lib/tj3ts_receiver_rb.html +1 -1
  360. data/doc/lib/tj3ts_sender_rb.html +1 -1
  361. data/doc/lib/tj3ts_summary_rb.html +1 -1
  362. data/lib/Allocation.rb +8 -5
  363. data/lib/BatchProcessor.rb +7 -3
  364. data/lib/FileList.rb +58 -0
  365. data/lib/Journal.rb +73 -33
  366. data/lib/KeywordArray.rb +4 -0
  367. data/lib/KeywordDocumentation.rb +45 -11
  368. data/lib/Limits.rb +0 -1
  369. data/lib/LogicalExpression.rb +1 -1
  370. data/lib/LogicalFunction.rb +14 -12
  371. data/lib/MacroTable.rb +3 -4
  372. data/lib/MessageHandler.rb +136 -7
  373. data/lib/Project.rb +72 -86
  374. data/lib/ProjectFileParser.rb +30 -33
  375. data/lib/ProjectFileScanner.rb +7 -16
  376. data/lib/PropertyList.rb +25 -27
  377. data/lib/PropertySet.rb +1 -1
  378. data/lib/PropertyTreeNode.rb +9 -12
  379. data/lib/Query.rb +5 -4
  380. data/lib/RTFNavigator.rb +2 -1
  381. data/lib/RTFQuery.rb +4 -11
  382. data/lib/RTFReport.rb +2 -1
  383. data/lib/RTFReportLink.rb +10 -4
  384. data/lib/RTFWithQuerySupport.rb +45 -0
  385. data/lib/Resource.rb +20 -20
  386. data/lib/ResourceScenario.rb +3 -3
  387. data/lib/RichText.rb +15 -7
  388. data/lib/RichTextDocument.rb +8 -4
  389. data/lib/RichTextElement.rb +35 -12
  390. data/lib/RichTextFunctionHandler.rb +11 -12
  391. data/lib/RichTextParser.rb +5 -3
  392. data/lib/RichTextScanner.rb +144 -565
  393. data/lib/RichTextSnip.rb +3 -7
  394. data/lib/RichTextSyntaxRules.rb +51 -32
  395. data/lib/ScenarioData.rb +16 -25
  396. data/lib/SheetHandlerBase.rb +59 -2
  397. data/lib/SheetReceiver.rb +36 -18
  398. data/lib/SimpleQueryExpander.rb +58 -0
  399. data/lib/SyntaxReference.rb +9 -5
  400. data/lib/TOCEntry.rb +2 -0
  401. data/lib/TableOfContents.rb +4 -0
  402. data/lib/Task.rb +23 -12
  403. data/lib/TaskJuggler.rb +72 -33
  404. data/lib/TaskScenario.rb +131 -53
  405. data/lib/TextParser.rb +43 -30
  406. data/lib/TextParser/Pattern.rb +17 -13
  407. data/lib/TextParser/Rule.rb +5 -0
  408. data/lib/TextScanner.rb +46 -25
  409. data/lib/TimeSheetSummary.rb +9 -7
  410. data/lib/TimeSheets.rb +14 -23
  411. data/lib/Tj3Config.rb +1 -1
  412. data/lib/TjTime.rb +1 -2
  413. data/lib/TjpSyntaxRules.rb +128 -104
  414. data/lib/UTF8String.rb +0 -1
  415. data/lib/UserManual.rb +5 -4
  416. data/lib/VimSyntax.rb +223 -0
  417. data/lib/daemon/Daemon.rb +9 -0
  418. data/lib/daemon/ProcessIntercom.rb +19 -4
  419. data/lib/daemon/ProjectBroker.rb +149 -68
  420. data/lib/daemon/ProjectServer.rb +119 -79
  421. data/lib/daemon/ReportServer.rb +42 -31
  422. data/lib/daemon/WebServer.rb +21 -2
  423. data/lib/deep_copy.rb +1 -1
  424. data/lib/reports/GanttContainer.rb +2 -2
  425. data/lib/reports/GanttLine.rb +2 -3
  426. data/lib/reports/GanttTaskBar.rb +7 -3
  427. data/lib/reports/Report.rb +62 -57
  428. data/lib/reports/ReportBase.rb +6 -4
  429. data/lib/reports/ReportTableCell.rb +13 -14
  430. data/lib/reports/TableReport.rb +2 -1
  431. data/lib/reports/TextReport.rb +3 -0
  432. data/lib/reports/TimeSheetReport.rb +2 -3
  433. data/lib/reports/TjpExportRE.rb +0 -2
  434. data/lib/tj3client.rb +31 -3
  435. data/lib/tj3d.rb +8 -1
  436. data/manual/Day_To_Day_Juggling +2 -95
  437. data/manual/How_To_Contribute +2 -1
  438. data/manual/Rich_Text_Attributes +37 -3
  439. data/manual/Software +203 -0
  440. data/test/MessageChecker.rb +4 -4
  441. data/test/TestSuite/HTML-Reports/Alerts.html +172 -0
  442. data/test/TestSuite/HTML-Reports/CellText.html +758 -0
  443. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
  444. data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
  445. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +245 -0
  446. data/test/TestSuite/HTML-Reports/Query.html +31 -0
  447. data/test/TestSuite/HTML-Reports/css/tjmanual.css +14 -0
  448. data/test/TestSuite/HTML-Reports/css/tjreport.css +233 -21
  449. data/test/TestSuite/HTML-Reports/depArrows.html +842 -0
  450. data/test/TestSuite/HTML-Reports/scripts/scripts/wz_tooltip.js +1301 -0
  451. data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +20 -20
  452. data/test/TestSuite/ReportGenerator/Correct/Alerts.tjp +48 -0
  453. data/test/TestSuite/ReportGenerator/Correct/Macros.tjp +57 -0
  454. data/test/TestSuite/ReportGenerator/Correct/refs/Alerts-1.csv +386 -0
  455. data/test/TestSuite/ReportGenerator/Correct/refs/Macros-1.csv +6 -0
  456. data/test/TestSuite/ReportGenerator/{Correct → Errors}/css/tjmanual.css +0 -0
  457. data/test/TestSuite/ReportGenerator/{Correct → Errors}/css/tjreport.css +0 -0
  458. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/details.png +0 -0
  459. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-green.png +0 -0
  460. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-red.png +0 -0
  461. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-yellow.png +0 -0
  462. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/resource.png +0 -0
  463. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/resourcegroup.png +0 -0
  464. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/task.png +0 -0
  465. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/taskgroup.png +0 -0
  466. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-down.png +0 -0
  467. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-flat.png +0 -0
  468. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-up.png +0 -0
  469. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +26 -0
  470. data/test/TestSuite/ReportGenerator/{Correct → Errors}/scripts/wz_tooltip.js +0 -0
  471. data/test/TestSuite/Scheduler/Correct/Allocate.html +3210 -0
  472. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +19 -0
  473. data/test/TestSuite/Scheduler/Correct/Container.html +22 -22
  474. data/test/TestSuite/Scheduler/Correct/Limits.html +4964 -0
  475. data/test/TestSuite/Scheduler/Correct/Shift.html +1707 -417
  476. data/test/TestSuite/Scheduler/Correct/Shift2.html +9 -9
  477. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +6 -2
  478. data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +66 -0
  479. data/test/TestSuite/Scheduler/Errors/css/tjreport.css +407 -0
  480. data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
  481. data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
  482. data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
  483. data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
  484. data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
  485. data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
  486. data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
  487. data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
  488. data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
  489. data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
  490. data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
  491. data/test/TestSuite/Scheduler/Errors/loop_detected_1.tjp +1 -1
  492. data/test/TestSuite/Scheduler/Errors/loop_detected_10.tjp +1 -1
  493. data/test/TestSuite/Scheduler/Errors/loop_detected_11.tjp +1 -1
  494. data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +1 -1
  495. data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +1 -1
  496. data/test/TestSuite/Scheduler/Errors/loop_detected_14.tjp +1 -1
  497. data/test/TestSuite/Scheduler/Errors/loop_detected_2.tjp +1 -1
  498. data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +1 -1
  499. data/test/TestSuite/Scheduler/Errors/loop_detected_4.tjp +1 -1
  500. data/test/TestSuite/Scheduler/Errors/loop_detected_5.tjp +1 -1
  501. data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +1 -1
  502. data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +1 -1
  503. data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +1 -1
  504. data/test/TestSuite/Scheduler/Errors/loop_detected_9.tjp +1 -1
  505. data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +1301 -0
  506. data/test/TestSuite/Scheduler/Errors/task_pred_before.tjp +11 -0
  507. data/test/TestSuite/Scheduler/Errors/task_pred_before_gd.tjp +11 -0
  508. data/test/TestSuite/Scheduler/Errors/task_pred_before_gl.tjp +11 -0
  509. data/test/TestSuite/Scheduler/Errors/task_succ_after.tjp +12 -0
  510. data/test/TestSuite/Scheduler/Errors/task_succ_after_gd.tjp +12 -0
  511. data/test/TestSuite/Scheduler/Errors/task_succ_after_gl.tjp +12 -0
  512. data/test/TestSuite/StatusSheets/dev2.tji +22 -0
  513. data/test/TestSuite/StatusSheets/resrep.tji +7 -0
  514. data/test/TestSuite/StatusSheets/run +6 -4
  515. data/test/TestSuite/StatusSheets/tj3d.log +312 -0
  516. data/test/TestSuite/Syntax/Correct/Managers.html +263 -0
  517. data/test/TestSuite/Syntax/Correct/tutorial.tjp +1 -2
  518. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  519. data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +1 -1
  520. data/test/TestSuite/TimeSheets/acceptable_intervals +1 -0
  521. data/test/TestSuite/TimeSheets/resrep.tji +7 -0
  522. data/test/TestSuite/TimeSheets/run +6 -5
  523. data/test/TestSuite/TimeSheets/statussheets.log +1 -0
  524. data/test/TestSuite/TimeSheets/ts.tji +351 -0
  525. data/test/TestSuite/TimeSheets/tsdef.tji +2 -0
  526. data/test/test_PropertySet.rb +2 -2
  527. data/test/test_RichText.rb +178 -387
  528. data/test/test_SimpleQueryExpander.rb +55 -0
  529. data/test/test_deep_copy.rb +2 -2
  530. metadata +854 -834
  531. data/lib/MacroParser.rb +0 -77
  532. data/lib/Message.rb +0 -56
  533. data/lib/ruby-signal-bug.rb +0 -43
  534. data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
  535. data/test/TestSuite/HTML-Reports/reference.html +0 -51
  536. data/test/TestSuite/ReportGenerator/Correct/Journal.html +0 -63
  537. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +0 -3
  538. data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +0 -2
  539. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
  540. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
  541. data/test/TestSuite/Scheduler/Correct/Booking2.html +0 -603
  542. data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +0 -108
  543. data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
  544. data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
  545. data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +0 -32
@@ -75,6 +75,8 @@
75
75
 
76
76
  <li><a href="#method-i-command">#command</a></li>
77
77
 
78
+ <li><a href="#method-i-trap">#trap</a></li>
79
+
78
80
  <li><a href="#method-i-updateState">#updateState</a></li>
79
81
 
80
82
  </ul>
@@ -169,6 +171,10 @@
169
171
 
170
172
  <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
171
173
 
174
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
175
+
176
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
177
+
172
178
  <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
173
179
 
174
180
  <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
@@ -241,8 +247,6 @@
241
247
 
242
248
  <li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
243
249
 
244
- <li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
245
-
246
250
  <li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
247
251
 
248
252
  <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
@@ -307,6 +311,8 @@
307
311
 
308
312
  <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
309
313
 
314
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
315
+
310
316
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
311
317
 
312
318
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -353,8 +359,6 @@
353
359
 
354
360
  <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
355
361
 
356
- <li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
357
-
358
362
  <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
359
363
 
360
364
  <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
@@ -395,6 +399,8 @@
395
399
 
396
400
  <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
397
401
 
402
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
403
+
398
404
  <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
399
405
 
400
406
  <li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
@@ -505,6 +511,8 @@
505
511
 
506
512
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
507
513
 
514
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
515
+
508
516
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
509
517
 
510
518
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
@@ -587,10 +595,10 @@ methods for remote access.
587
595
  <div class="method-source-code"
588
596
  id="new-source">
589
597
  <pre>
590
- <span class="ruby-comment cmt"># File lib/daemon/ProjectBroker.rb, line 399</span>
591
- 399: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">broker</span>)
592
- 400: <span class="ruby-ivar">@broker</span> = <span class="ruby-identifier">broker</span>
593
- 401: <span class="ruby-keyword kw">end</span></pre>
598
+ <span class="ruby-comment cmt"># File lib/daemon/ProjectBroker.rb, line 455</span>
599
+ 455: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">broker</span>)
600
+ 456: <span class="ruby-ivar">@broker</span> = <span class="ruby-identifier">broker</span>
601
+ 457: <span class="ruby-keyword kw">end</span></pre>
594
602
  </div>
595
603
 
596
604
  </div>
@@ -632,12 +640,12 @@ don&#8217;t match
632
640
  <div class="method-source-code"
633
641
  id="api-ersion-source">
634
642
  <pre>
635
- <span class="ruby-comment cmt"># File lib/daemon/ProjectBroker.rb, line 408</span>
636
- 408: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">apiVersion</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">version</span>)
637
- 409: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-value str">'apiVersion'</span>)
638
- 410:
639
- 411: <span class="ruby-identifier">version</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>
640
- 412: <span class="ruby-keyword kw">end</span></pre>
643
+ <span class="ruby-comment cmt"># File lib/daemon/ProjectBroker.rb, line 464</span>
644
+ 464: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">apiVersion</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">version</span>)
645
+ 465: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-value str">'apiVersion'</span>)
646
+ 466:
647
+ 467: <span class="ruby-identifier">version</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>
648
+ 468: <span class="ruby-keyword kw">end</span></pre>
641
649
  </div>
642
650
 
643
651
  </div>
@@ -668,25 +676,74 @@ don&#8217;t match
668
676
  <div class="method-source-code"
669
677
  id="command-source">
670
678
  <pre>
671
- <span class="ruby-comment cmt"># File lib/daemon/ProjectBroker.rb, line 414</span>
672
- 414: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">command</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">cmd</span>, <span class="ruby-identifier">args</span>)
673
- 415: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">cmd</span>)
674
- 416:
675
- 417: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">cmd</span>
676
- 418: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:status</span>
677
- 419: <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">status</span>
678
- 420: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:stop</span>
679
- 421: <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">stop</span>
680
- 422: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:addProject</span>
681
- 423: <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">addProject</span>
682
- 424: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:removeProject</span>
683
- 425: <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">removeProject</span>(<span class="ruby-identifier">args</span>)
684
- 426: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:getProject</span>
685
- 427: <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">getProject</span>(<span class="ruby-identifier">args</span>)
686
- 428: <span class="ruby-keyword kw">else</span>
687
- 429: <span class="ruby-constant">LogFile</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">fatal</span>(<span class="ruby-value str">'Unknown command #{cmd} called'</span>)
688
- 430: <span class="ruby-keyword kw">end</span>
689
- 431: <span class="ruby-keyword kw">end</span></pre>
679
+ <span class="ruby-comment cmt"># File lib/daemon/ProjectBroker.rb, line 484</span>
680
+ 484: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">command</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">cmd</span>, <span class="ruby-identifier">args</span>)
681
+ 485: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">cmd</span>)
682
+ 486:
683
+ 487: <span class="ruby-identifier">trap</span> <span class="ruby-keyword kw">do</span>
684
+ 488: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">cmd</span>
685
+ 489: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:status</span>
686
+ 490: <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">status</span>
687
+ 491: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:stop</span>
688
+ 492: <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">stop</span>
689
+ 493: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:addProject</span>
690
+ 494: <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">addProject</span>
691
+ 495: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:removeProject</span>
692
+ 496: <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">removeProject</span>(<span class="ruby-identifier">args</span>)
693
+ 497: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:getProject</span>
694
+ 498: <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">getProject</span>(<span class="ruby-identifier">args</span>)
695
+ 499: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:update</span>
696
+ 500: <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">update</span>
697
+ 501: <span class="ruby-keyword kw">else</span>
698
+ 502: <span class="ruby-constant">LogFile</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">fatal</span>(<span class="ruby-value str">'Unknown command #{cmd} called'</span>)
699
+ 503: <span class="ruby-keyword kw">end</span>
700
+ 504: <span class="ruby-keyword kw">end</span>
701
+ 505: <span class="ruby-keyword kw">end</span></pre>
702
+ </div>
703
+
704
+ </div>
705
+
706
+
707
+
708
+
709
+ </div>
710
+
711
+
712
+ <div id="trap-method" class="method-detail ">
713
+ <a name="method-i-trap"></a>
714
+
715
+ <div class="method-heading">
716
+
717
+ <span class="method-name">trap</span><span
718
+ class="method-args">()</span>
719
+ <span class="method-click-advice">click to toggle source</span>
720
+
721
+ </div>
722
+
723
+ <div class="method-description">
724
+
725
+ <p>
726
+ This function catches all unhandled exceptions in the passed block.
727
+ </p>
728
+
729
+
730
+
731
+ <div class="method-source-code"
732
+ id="trap-source">
733
+ <pre>
734
+ <span class="ruby-comment cmt"># File lib/daemon/ProjectBroker.rb, line 471</span>
735
+ 471: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">trap</span>
736
+ 472: <span class="ruby-identifier">log</span> = <span class="ruby-constant">LogFile</span>.<span class="ruby-identifier">instance</span>
737
+ 473:
738
+ 474: <span class="ruby-keyword kw">begin</span>
739
+ 475: <span class="ruby-keyword kw">yield</span>
740
+ 476: <span class="ruby-keyword kw">rescue</span>
741
+ 477: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">print</span> <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">to_s</span>
742
+ 478: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">print</span> <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">backtrace</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>)
743
+ 479: <span class="ruby-identifier">log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-identifier">$!</span>.<span class="ruby-identifier">backtrace</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>))
744
+ 480: <span class="ruby-identifier">log</span>.<span class="ruby-identifier">fatal</span>(<span class="ruby-node">&quot;Unexpected exception: #{$!}&quot;</span>)
745
+ 481: <span class="ruby-keyword kw">end</span>
746
+ 482: <span class="ruby-keyword kw">end</span></pre>
690
747
  </div>
691
748
 
692
749
  </div>
@@ -703,7 +760,7 @@ don&#8217;t match
703
760
  <div class="method-heading">
704
761
 
705
762
  <span class="method-name">updateState</span><span
706
- class="method-args">(authKey, id, status)</span>
763
+ class="method-args">(authKey, id, status, modified)</span>
707
764
  <span class="method-click-advice">click to toggle source</span>
708
765
 
709
766
  </div>
@@ -717,10 +774,10 @@ don&#8217;t match
717
774
  <div class="method-source-code"
718
775
  id="update-tate-source">
719
776
  <pre>
720
- <span class="ruby-comment cmt"># File lib/daemon/ProjectBroker.rb, line 433</span>
721
- 433: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">updateState</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">status</span>)
722
- 434: <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">updateState</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">status</span>)
723
- 435: <span class="ruby-keyword kw">end</span></pre>
777
+ <span class="ruby-comment cmt"># File lib/daemon/ProjectBroker.rb, line 507</span>
778
+ 507: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">updateState</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">status</span>, <span class="ruby-identifier">modified</span>)
779
+ 508: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">updateState</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">status</span>, <span class="ruby-identifier">modified</span>) }
780
+ 509: <span class="ruby-keyword kw">end</span></pre>
724
781
  </div>
725
782
 
726
783
  </div>
@@ -232,6 +232,10 @@
232
232
 
233
233
  <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
234
234
 
235
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
236
+
237
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
238
+
235
239
  <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
236
240
 
237
241
  <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
@@ -304,8 +308,6 @@
304
308
 
305
309
  <li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
306
310
 
307
- <li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
308
-
309
311
  <li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
310
312
 
311
313
  <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
@@ -370,6 +372,8 @@
370
372
 
371
373
  <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
372
374
 
375
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
376
+
373
377
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
374
378
 
375
379
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -416,8 +420,6 @@
416
420
 
417
421
  <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
418
422
 
419
- <li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
420
-
421
423
  <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
422
424
 
423
425
  <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
@@ -458,6 +460,8 @@
458
460
 
459
461
  <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
460
462
 
463
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
464
+
461
465
  <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
462
466
 
463
467
  <li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
@@ -568,6 +572,8 @@
568
572
 
569
573
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
570
574
 
575
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
576
+
571
577
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
572
578
 
573
579
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
@@ -663,18 +669,19 @@ that is used for error reporting.
663
669
  <pre>
664
670
  <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 35</span>
665
671
  35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">messageHandler</span>)
666
- 36: <span class="ruby-keyword kw">super</span>()
672
+ 36: <span class="ruby-keyword kw">super</span>
667
673
  37:
668
- 38: <span class="ruby-ivar">@messageHandler</span> = <span class="ruby-identifier">messageHandler</span>
669
- 39: <span class="ruby-comment cmt"># Define the token types that the ProjectFileScanner may return for</span>
670
- 40: <span class="ruby-comment cmt"># variable elements.</span>
671
- 41: <span class="ruby-ivar">@variables</span> = <span class="ruby-node">%( INTEGER FLOAT DATE TIME STRING LITERAL ID ID_WITH_COLON
672
- 42: ABSOLUTE_ID MACRO )</span>
673
- 43:
674
- 44: <span class="ruby-identifier">initRules</span>
675
- 45:
676
- 46: <span class="ruby-ivar">@project</span> = <span class="ruby-keyword kw">nil</span>
677
- 47: <span class="ruby-keyword kw">end</span></pre>
674
+ 38: <span class="ruby-ivar">@tjMessageHandler</span> = <span class="ruby-identifier">messageHandler</span>
675
+ 39:
676
+ 40: <span class="ruby-comment cmt"># Define the token types that the ProjectFileScanner may return for</span>
677
+ 41: <span class="ruby-comment cmt"># variable elements.</span>
678
+ 42: <span class="ruby-ivar">@variables</span> = <span class="ruby-node">%( INTEGER FLOAT DATE TIME STRING LITERAL ID ID_WITH_COLON
679
+ 43: ABSOLUTE_ID MACRO )</span>
680
+ 44:
681
+ 45: <span class="ruby-identifier">initRules</span>
682
+ 46:
683
+ 47: <span class="ruby-ivar">@project</span> = <span class="ruby-keyword kw">nil</span>
684
+ 48: <span class="ruby-keyword kw">end</span></pre>
678
685
  </div>
679
686
 
680
687
  </div>
@@ -714,11 +721,10 @@ processing has been completed.
714
721
  <div class="method-source-code"
715
722
  id="close-source">
716
723
  <pre>
717
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 71</span>
718
- 71: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
719
- 72: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">close</span>
720
- 73: <span class="ruby-identifier">res</span>
721
- 74: <span class="ruby-keyword kw">end</span></pre>
724
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 68</span>
725
+ 68: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
726
+ 69: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">close</span>
727
+ 70: <span class="ruby-keyword kw">end</span></pre>
722
728
  </div>
723
729
 
724
730
  </div>
@@ -753,10 +759,10 @@ text string of the token.
753
759
  <div class="method-source-code"
754
760
  id="next-oken-source">
755
761
  <pre>
756
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 79</span>
757
- 79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextToken</span>
758
- 80: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">nextToken</span>
759
- 81: <span class="ruby-keyword kw">end</span></pre>
762
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 75</span>
763
+ 75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextToken</span>
764
+ 76: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">nextToken</span>
765
+ 77: <span class="ruby-keyword kw">end</span></pre>
760
766
  </div>
761
767
 
762
768
  </div>
@@ -790,24 +796,20 @@ set of TJP files.
790
796
  <div class="method-source-code"
791
797
  id="open-source">
792
798
  <pre>
793
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 51</span>
794
- 51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">master</span>, <span class="ruby-identifier">fileNameIsBuffer</span> = <span class="ruby-keyword kw">false</span>)
795
- 52: <span class="ruby-keyword kw">begin</span>
796
- 53: <span class="ruby-ivar">@scanner</span> = <span class="ruby-constant">ProjectFileScanner</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">file</span>, <span class="ruby-ivar">@messageHandler</span>)
797
- 54: <span class="ruby-comment cmt"># We need the ProjectFileScanner object for error reporting.</span>
798
- 55: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">master</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">fileNameIsBuffer</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'.'</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">file</span>[<span class="ruby-value">4</span>, <span class="ruby-value">4</span>] <span class="ruby-operator">!=</span> <span class="ruby-value str">'.tjp'</span>
799
- 56: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'illegal_extension'</span>, <span class="ruby-value str">&quot;Project file name must end with &quot;</span> <span class="ruby-operator">+</span>
800
- 57: <span class="ruby-value str">'\.tjp\ extension'</span>)
801
- 58: <span class="ruby-keyword kw">end</span>
802
- 59: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileNameIsBuffer</span>)
803
- 60: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span>
804
- 61: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'file_open'</span>, <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">message</span>)
805
- 62: <span class="ruby-keyword kw">end</span>
806
- 63:
807
- 64: <span class="ruby-ivar">@property</span> = <span class="ruby-keyword kw">nil</span>
808
- 65: <span class="ruby-ivar">@scenarioIdx</span> = <span class="ruby-value">0</span>
809
- 66: <span class="ruby-identifier">initFileStack</span>
810
- 67: <span class="ruby-keyword kw">end</span></pre>
799
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 52</span>
800
+ 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">master</span>, <span class="ruby-identifier">fileNameIsBuffer</span> = <span class="ruby-keyword kw">false</span>)
801
+ 53: <span class="ruby-ivar">@scanner</span> = <span class="ruby-constant">ProjectFileScanner</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">file</span>, <span class="ruby-ivar">@messageHandler</span>)
802
+ 54: <span class="ruby-comment cmt"># We need the ProjectFileScanner object for error reporting.</span>
803
+ 55: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">master</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">fileNameIsBuffer</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'.'</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">file</span>[<span class="ruby-value">4</span>, <span class="ruby-value">4</span>] <span class="ruby-operator">!=</span> <span class="ruby-value str">'.tjp'</span>
804
+ 56: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'illegal_extension'</span>, <span class="ruby-value str">&quot;Project file name must end with &quot;</span> <span class="ruby-operator">+</span>
805
+ 57: <span class="ruby-value str">'\.tjp\ extension'</span>)
806
+ 58: <span class="ruby-keyword kw">end</span>
807
+ 59: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileNameIsBuffer</span>)
808
+ 60:
809
+ 61: <span class="ruby-ivar">@property</span> = <span class="ruby-keyword kw">nil</span>
810
+ 62: <span class="ruby-ivar">@scenarioIdx</span> = <span class="ruby-value">0</span>
811
+ 63: <span class="ruby-identifier">initFileStack</span>
812
+ 64: <span class="ruby-keyword kw">end</span></pre>
811
813
  </div>
812
814
 
813
815
  </div>
@@ -838,13 +840,13 @@ set of TJP files.
838
840
  <div class="method-source-code"
839
841
  id="parse-eport-ttributes-source">
840
842
  <pre>
841
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 106</span>
842
- 106: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parseReportAttributes</span>(<span class="ruby-identifier">report</span>, <span class="ruby-identifier">attributes</span>)
843
- 107: <span class="ruby-ivar">@property</span> = <span class="ruby-identifier">report</span>
844
- 108: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">report</span>.<span class="ruby-identifier">project</span>
845
- 109: <span class="ruby-identifier">open</span>(<span class="ruby-identifier">attributes</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>)
846
- 110: <span class="ruby-identifier">parse</span>(<span class="ruby-value str">'reportAttributes'</span>)
847
- 111: <span class="ruby-keyword kw">end</span></pre>
843
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 102</span>
844
+ 102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parseReportAttributes</span>(<span class="ruby-identifier">report</span>, <span class="ruby-identifier">attributes</span>)
845
+ 103: <span class="ruby-identifier">open</span>(<span class="ruby-identifier">attributes</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>)
846
+ 104: <span class="ruby-ivar">@property</span> = <span class="ruby-identifier">report</span>
847
+ 105: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">report</span>.<span class="ruby-identifier">project</span>
848
+ 106: <span class="ruby-identifier">parse</span>(<span class="ruby-value str">'reportAttributes'</span>)
849
+ 107: <span class="ruby-keyword kw">end</span></pre>
848
850
  </div>
849
851
 
850
852
  </div>
@@ -880,10 +882,10 @@ look-ahead functionality.
880
882
  <div class="method-source-code"
881
883
  id="return-oken-source">
882
884
  <pre>
883
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 87</span>
884
- 87: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
885
- 88: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
886
- 89: <span class="ruby-keyword kw">end</span></pre>
885
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 83</span>
886
+ 83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
887
+ 84: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
888
+ 85: <span class="ruby-keyword kw">end</span></pre>
887
889
  </div>
888
890
 
889
891
  </div>
@@ -919,18 +921,18 @@ href="ProjectFileScanner.html">ProjectFileScanner</a>.
919
921
  <div class="method-source-code"
920
922
  id="set-lobal-acros-source">
921
923
  <pre>
922
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 94</span>
923
- 94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setGlobalMacros</span>
924
- 95: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">addMacro</span>(<span class="ruby-constant">Macro</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'projectstart'</span>, <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>].<span class="ruby-identifier">to_s</span>,
924
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 90</span>
925
+ 90: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setGlobalMacros</span>
926
+ 91: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">addMacro</span>(<span class="ruby-constant">Macro</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'projectstart'</span>, <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>].<span class="ruby-identifier">to_s</span>,
927
+ 92: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">sourceFileInfo</span>))
928
+ 93: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">addMacro</span>(<span class="ruby-constant">Macro</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'projectend'</span>, <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>].<span class="ruby-identifier">to_s</span>,
929
+ 94: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">sourceFileInfo</span>))
930
+ 95: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">addMacro</span>(<span class="ruby-constant">Macro</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'now'</span>, <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'now'</span>].<span class="ruby-identifier">to_s</span>,
925
931
  96: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">sourceFileInfo</span>))
926
- 97: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">addMacro</span>(<span class="ruby-constant">Macro</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'projectend'</span>, <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>].<span class="ruby-identifier">to_s</span>,
927
- 98: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">sourceFileInfo</span>))
928
- 99: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">addMacro</span>(<span class="ruby-constant">Macro</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'now'</span>, <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'now'</span>].<span class="ruby-identifier">to_s</span>,
929
- 100: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">sourceFileInfo</span>))
930
- 101: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">addMacro</span>(<span class="ruby-constant">Macro</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'today'</span>, <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'now'</span>].
931
- 102: <span class="ruby-identifier">to_s</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'timeFormat'</span>]),
932
- 103: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">sourceFileInfo</span>))
933
- 104: <span class="ruby-keyword kw">end</span></pre>
932
+ 97: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">addMacro</span>(<span class="ruby-constant">Macro</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'today'</span>, <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'now'</span>].
933
+ 98: <span class="ruby-identifier">to_s</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'timeFormat'</span>]),
934
+ 99: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">sourceFileInfo</span>))
935
+ 100: <span class="ruby-keyword kw">end</span></pre>
934
936
  </div>
935
937
 
936
938
  </div>
@@ -975,40 +977,40 @@ list is empty.
975
977
  <div class="method-source-code"
976
978
  id="all-r-othing-ist-ule-source">
977
979
  <pre>
978
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 282</span>
979
- 282: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allOrNothingListRule</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">items</span>)
980
- 283: <span class="ruby-identifier">newRule</span>(<span class="ruby-identifier">name</span>) {
981
- 284: <span class="ruby-comment cmt"># A '*' means all possible items should be in the list.</span>
982
- 285: <span class="ruby-identifier">pattern</span>(<span class="ruby-node">%( _* )</span>, <span class="ruby-identifier">lambda</span> {
983
- 286: <span class="ruby-constant">KeywordArray</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-value str">'*'</span> ])
984
- 287: })
985
- 288: <span class="ruby-identifier">descr</span>(<span class="ruby-value str">'A shortcut for all items'</span>)
986
- 289: <span class="ruby-comment cmt"># A '-' means the list should be empty.</span>
987
- 290: <span class="ruby-identifier">pattern</span>([ <span class="ruby-value str">'_-'</span> ], <span class="ruby-identifier">lambda</span> {
988
- 291: <span class="ruby-constant">KeywordArray</span>.<span class="ruby-identifier">new</span>
989
- 292: })
990
- 293: <span class="ruby-identifier">descr</span>(<span class="ruby-value str">'No items'</span>)
991
- 294: <span class="ruby-comment cmt"># Or the list consists of one or more comma separated keywords.</span>
992
- 295: <span class="ruby-identifier">pattern</span>([ <span class="ruby-node">&quot;!#{name}_AoN_ruleItems&quot;</span> ], <span class="ruby-identifier">lambda</span> {
993
- 296: <span class="ruby-constant">KeywordArray</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@val</span>[<span class="ruby-value">0</span>])
994
- 297: })
995
- 298: }
996
- 299: <span class="ruby-comment cmt"># Create the rule for the comma separated list.</span>
997
- 300: <span class="ruby-identifier">newRule</span>(<span class="ruby-node">&quot;#{name}_AoN_ruleItems&quot;</span>) {
998
- 301: <span class="ruby-identifier">listRule</span>(<span class="ruby-node">&quot;more#{name}_AoN_ruleItems&quot;</span>, <span class="ruby-node">&quot;!#{name}_AoN_ruleItem&quot;</span>)
999
- 302: }
1000
- 303: <span class="ruby-comment cmt"># Create the rule for the keywords with their description.</span>
1001
- 304: <span class="ruby-identifier">newRule</span>(<span class="ruby-node">&quot;#{name}_AoN_ruleItem&quot;</span>) {
1002
- 305: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">items</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
1003
- 306: <span class="ruby-identifier">items</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">keyword</span><span class="ruby-operator">|</span> <span class="ruby-identifier">singlePattern</span>(<span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">keyword</span>) }
1004
- 307: <span class="ruby-keyword kw">else</span>
1005
- 308: <span class="ruby-identifier">items</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">keyword</span>, <span class="ruby-identifier">description</span><span class="ruby-operator">|</span>
1006
- 309: <span class="ruby-identifier">singlePattern</span>(<span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">keyword</span>)
1007
- 310: <span class="ruby-identifier">descr</span>(<span class="ruby-identifier">description</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">description</span>
1008
- 311: <span class="ruby-keyword kw">end</span>
1009
- 312: <span class="ruby-keyword kw">end</span>
1010
- 313: }
1011
- 314: <span class="ruby-keyword kw">end</span></pre>
980
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 279</span>
981
+ 279: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allOrNothingListRule</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">items</span>)
982
+ 280: <span class="ruby-identifier">newRule</span>(<span class="ruby-identifier">name</span>) {
983
+ 281: <span class="ruby-comment cmt"># A '*' means all possible items should be in the list.</span>
984
+ 282: <span class="ruby-identifier">pattern</span>(<span class="ruby-node">%( _* )</span>, <span class="ruby-identifier">lambda</span> {
985
+ 283: <span class="ruby-constant">KeywordArray</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-value str">'*'</span> ])
986
+ 284: })
987
+ 285: <span class="ruby-identifier">descr</span>(<span class="ruby-value str">'A shortcut for all items'</span>)
988
+ 286: <span class="ruby-comment cmt"># A '-' means the list should be empty.</span>
989
+ 287: <span class="ruby-identifier">pattern</span>([ <span class="ruby-value str">'_-'</span> ], <span class="ruby-identifier">lambda</span> {
990
+ 288: <span class="ruby-constant">KeywordArray</span>.<span class="ruby-identifier">new</span>
991
+ 289: })
992
+ 290: <span class="ruby-identifier">descr</span>(<span class="ruby-value str">'No items'</span>)
993
+ 291: <span class="ruby-comment cmt"># Or the list consists of one or more comma separated keywords.</span>
994
+ 292: <span class="ruby-identifier">pattern</span>([ <span class="ruby-node">&quot;!#{name}_AoN_ruleItems&quot;</span> ], <span class="ruby-identifier">lambda</span> {
995
+ 293: <span class="ruby-constant">KeywordArray</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@val</span>[<span class="ruby-value">0</span>])
996
+ 294: })
997
+ 295: }
998
+ 296: <span class="ruby-comment cmt"># Create the rule for the comma separated list.</span>
999
+ 297: <span class="ruby-identifier">newRule</span>(<span class="ruby-node">&quot;#{name}_AoN_ruleItems&quot;</span>) {
1000
+ 298: <span class="ruby-identifier">listRule</span>(<span class="ruby-node">&quot;more#{name}_AoN_ruleItems&quot;</span>, <span class="ruby-node">&quot;!#{name}_AoN_ruleItem&quot;</span>)
1001
+ 299: }
1002
+ 300: <span class="ruby-comment cmt"># Create the rule for the keywords with their description.</span>
1003
+ 301: <span class="ruby-identifier">newRule</span>(<span class="ruby-node">&quot;#{name}_AoN_ruleItem&quot;</span>) {
1004
+ 302: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">items</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
1005
+ 303: <span class="ruby-identifier">items</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">keyword</span><span class="ruby-operator">|</span> <span class="ruby-identifier">singlePattern</span>(<span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">keyword</span>) }
1006
+ 304: <span class="ruby-keyword kw">else</span>
1007
+ 305: <span class="ruby-identifier">items</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">keyword</span>, <span class="ruby-identifier">description</span><span class="ruby-operator">|</span>
1008
+ 306: <span class="ruby-identifier">singlePattern</span>(<span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">keyword</span>)
1009
+ 307: <span class="ruby-identifier">descr</span>(<span class="ruby-identifier">description</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">description</span>
1010
+ 308: <span class="ruby-keyword kw">end</span>
1011
+ 309: <span class="ruby-keyword kw">end</span>
1012
+ 310: }
1013
+ 311: <span class="ruby-keyword kw">end</span></pre>
1012
1014
  </div>
1013
1015
 
1014
1016
  </div>
@@ -1042,11 +1044,11 @@ generate the documentation for the patterns of this rule.
1042
1044
  <div class="method-source-code"
1043
1045
  id="also-source">
1044
1046
  <pre>
1045
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 384</span>
1046
- 384: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">also</span>(<span class="ruby-identifier">seeAlso</span>)
1047
- 385: <span class="ruby-identifier">seeAlso</span> = [ <span class="ruby-identifier">seeAlso</span> ] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">seeAlso</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
1048
- 386: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setSeeAlso</span>(<span class="ruby-identifier">seeAlso</span>)
1049
- 387: <span class="ruby-keyword kw">end</span></pre>
1047
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 381</span>
1048
+ 381: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">also</span>(<span class="ruby-identifier">seeAlso</span>)
1049
+ 382: <span class="ruby-identifier">seeAlso</span> = [ <span class="ruby-identifier">seeAlso</span> ] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">seeAlso</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
1050
+ 383: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setSeeAlso</span>(<span class="ruby-identifier">seeAlso</span>)
1051
+ 384: <span class="ruby-keyword kw">end</span></pre>
1050
1052
  </div>
1051
1053
 
1052
1054
  </div>
@@ -1081,10 +1083,10 @@ used for this variable. <em>text</em> is the documentation text.
1081
1083
  <div class="method-source-code"
1082
1084
  id="arg-source">
1083
1085
  <pre>
1084
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 372</span>
1085
- 372: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">arg</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">text</span>)
1086
- 373: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setArg</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-constant">TextParser</span><span class="ruby-operator">::</span><span class="ruby-constant">TokenDoc</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">text</span>))
1087
- 374: <span class="ruby-keyword kw">end</span></pre>
1086
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 369</span>
1087
+ 369: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">arg</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">text</span>)
1088
+ 370: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setArg</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-constant">TextParser</span><span class="ruby-operator">::</span><span class="ruby-constant">TokenDoc</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">text</span>))
1089
+ 371: <span class="ruby-keyword kw">end</span></pre>
1088
1090
  </div>
1089
1091
 
1090
1092
  </div>
@@ -1117,21 +1119,21 @@ Convenience function to check the integrity of a booking statement.
1117
1119
  <div class="method-source-code"
1118
1120
  id="check-ooking-source">
1119
1121
  <pre>
1120
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 154</span>
1121
- 154: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkBooking</span>(<span class="ruby-identifier">task</span>, <span class="ruby-identifier">resource</span>)
1122
- 155: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">leaf?</span>
1123
- 156: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'booking_no_leaf'</span>, <span class="ruby-node">&quot;#{task.fullId} is not a leaf task&quot;</span>,
1124
- 157: <span class="ruby-identifier">task</span>, <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-value">0</span>])
1122
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 150</span>
1123
+ 150: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkBooking</span>(<span class="ruby-identifier">task</span>, <span class="ruby-identifier">resource</span>)
1124
+ 151: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">leaf?</span>
1125
+ 152: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'booking_no_leaf'</span>, <span class="ruby-node">&quot;#{task.fullId} is not a leaf task&quot;</span>,
1126
+ 153: <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">task</span>)
1127
+ 154: <span class="ruby-keyword kw">end</span>
1128
+ 155: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>[<span class="ruby-value str">'milestone'</span>, <span class="ruby-ivar">@scenarioIdx</span>]
1129
+ 156: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'booking_milestone'</span>, <span class="ruby-value str">&quot;You cannot add bookings to a milestone&quot;</span>,
1130
+ 157: <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">task</span>)
1125
1131
  158: <span class="ruby-keyword kw">end</span>
1126
- 159: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>[<span class="ruby-value str">'milestone'</span>, <span class="ruby-ivar">@scenarioIdx</span>]
1127
- 160: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'booking_milestone'</span>, <span class="ruby-value str">&quot;You cannot add bookings to a milestone&quot;</span>,
1128
- 161: <span class="ruby-identifier">task</span>, <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-value">0</span>])
1132
+ 159: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">leaf?</span>
1133
+ 160: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'booking_group'</span>, <span class="ruby-value str">&quot;You cannot book a group resource&quot;</span>,
1134
+ 161: <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">task</span>)
1129
1135
  162: <span class="ruby-keyword kw">end</span>
1130
- 163: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">leaf?</span>
1131
- 164: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'booking_group'</span>, <span class="ruby-value str">&quot;You cannot book a group resource&quot;</span>,
1132
- 165: <span class="ruby-identifier">task</span>, <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-value">0</span>])
1133
- 166: <span class="ruby-keyword kw">end</span>
1134
- 167: <span class="ruby-keyword kw">end</span></pre>
1136
+ 163: <span class="ruby-keyword kw">end</span></pre>
1135
1137
  </div>
1136
1138
 
1137
1139
  </div>
@@ -1165,15 +1167,15 @@ been added to a property.
1165
1167
  <div class="method-source-code"
1166
1168
  id="check-ontainer-source">
1167
1169
  <pre>
1168
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 128</span>
1169
- 128: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkContainer</span>(<span class="ruby-identifier">attribute</span>)
1170
- 129: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
1171
- 130: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'container_attribute'</span>,
1172
- 131: <span class="ruby-node">&quot;The attribute #{attribute} may not be used for this property &quot;</span> <span class="ruby-operator">+</span>
1173
- 132: <span class="ruby-value str">'after sub properties have been added.'</span>, <span class="ruby-ivar">@property</span>,
1174
- 133: <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-value">0</span>])
1175
- 134: <span class="ruby-keyword kw">end</span>
1176
- 135: <span class="ruby-keyword kw">end</span></pre>
1170
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 124</span>
1171
+ 124: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkContainer</span>(<span class="ruby-identifier">attribute</span>)
1172
+ 125: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
1173
+ 126: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'container_attribute'</span>,
1174
+ 127: <span class="ruby-node">&quot;The attribute #{attribute} may not be used for this property &quot;</span> <span class="ruby-operator">+</span>
1175
+ 128: <span class="ruby-value str">'after sub properties have been added.'</span>, <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-value">0</span>],
1176
+ 129: <span class="ruby-ivar">@property</span>)
1177
+ 130: <span class="ruby-keyword kw">end</span>
1178
+ 131: <span class="ruby-keyword kw">end</span></pre>
1177
1179
  </div>
1178
1180
 
1179
1181
  </div>
@@ -1207,20 +1209,20 @@ fits completely within the project time frame.
1207
1209
  <div class="method-source-code"
1208
1210
  id="check-nterval-source">
1209
1211
  <pre>
1210
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 139</span>
1211
- 139: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkInterval</span>(<span class="ruby-identifier">iv</span>)
1212
- 140: <span class="ruby-comment cmt"># Make sure the interval is within the project time frame.</span>
1213
- 141: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>]
1214
- 142: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'interval_start_in_range'</span>,
1215
- 143: <span class="ruby-node">&quot;Start date #{iv.start} must be within the project time frame &quot;</span> <span class="ruby-operator">+</span>
1216
- 144: <span class="ruby-node">&quot;(#{@project['start']} - #{@project['end']})&quot;</span>)
1217
- 145: <span class="ruby-keyword kw">end</span>
1218
- 146: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>]
1219
- 147: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'interval_end_in_range'</span>,
1220
- 148: <span class="ruby-node">&quot;End date #{iv.end} must be within the project time frame &quot;</span> <span class="ruby-operator">+</span>
1221
- 149: <span class="ruby-node">&quot;(#{@project['start']} - #{@project['end']})&quot;</span>)
1222
- 150: <span class="ruby-keyword kw">end</span>
1223
- 151: <span class="ruby-keyword kw">end</span></pre>
1212
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 135</span>
1213
+ 135: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkInterval</span>(<span class="ruby-identifier">iv</span>)
1214
+ 136: <span class="ruby-comment cmt"># Make sure the interval is within the project time frame.</span>
1215
+ 137: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>]
1216
+ 138: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'interval_start_in_range'</span>,
1217
+ 139: <span class="ruby-node">&quot;Start date #{iv.start} must be within the project time frame &quot;</span> <span class="ruby-operator">+</span>
1218
+ 140: <span class="ruby-node">&quot;(#{@project['start']} - #{@project['end']})&quot;</span>)
1219
+ 141: <span class="ruby-keyword kw">end</span>
1220
+ 142: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>]
1221
+ 143: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'interval_end_in_range'</span>,
1222
+ 144: <span class="ruby-node">&quot;End date #{iv.end} must be within the project time frame &quot;</span> <span class="ruby-operator">+</span>
1223
+ 145: <span class="ruby-node">&quot;(#{@project['start']} - #{@project['end']})&quot;</span>)
1224
+ 146: <span class="ruby-keyword kw">end</span>
1225
+ 147: <span class="ruby-keyword kw">end</span></pre>
1224
1226
  </div>
1225
1227
 
1226
1228
  </div>
@@ -1254,11 +1256,11 @@ be from the static set or be from a user defined attribute.
1254
1256
  <div class="method-source-code"
1255
1257
  id="column-itle-source">
1256
1258
  <pre>
1257
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 397</span>
1258
- 397: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">columnTitle</span>(<span class="ruby-identifier">colId</span>)
1259
- 398: <span class="ruby-constant">TableReport</span>.<span class="ruby-identifier">defaultColumnTitle</span>(<span class="ruby-identifier">colId</span>) <span class="ruby-operator">||</span>
1260
- 399: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">attributeName</span>(<span class="ruby-identifier">colId</span>)
1261
- 400: <span class="ruby-keyword kw">end</span></pre>
1259
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 394</span>
1260
+ 394: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">columnTitle</span>(<span class="ruby-identifier">colId</span>)
1261
+ 395: <span class="ruby-constant">TableReport</span>.<span class="ruby-identifier">defaultColumnTitle</span>(<span class="ruby-identifier">colId</span>) <span class="ruby-operator">||</span>
1262
+ 396: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">attributeName</span>(<span class="ruby-identifier">colId</span>)
1263
+ 397: <span class="ruby-keyword kw">end</span></pre>
1262
1264
  </div>
1263
1265
 
1264
1266
  </div>
@@ -1289,14 +1291,14 @@ be from the static set or be from a user defined attribute.
1289
1291
  <div class="method-source-code"
1290
1292
  id="comma-ist-ule-source">
1291
1293
  <pre>
1292
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 329</span>
1293
- 329: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">commaListRule</span>(<span class="ruby-identifier">listItem</span>)
1294
- 330: <span class="ruby-identifier">optional</span>
1295
- 331: <span class="ruby-identifier">repeatable</span>
1296
- 332: <span class="ruby-identifier">pattern</span>([ <span class="ruby-value str">'_,'</span>, <span class="ruby-node">&quot;#{listItem}&quot;</span> ], <span class="ruby-identifier">lambda</span> {
1297
- 333: <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>]
1298
- 334: })
1299
- 335: <span class="ruby-keyword kw">end</span></pre>
1294
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 326</span>
1295
+ 326: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">commaListRule</span>(<span class="ruby-identifier">listItem</span>)
1296
+ 327: <span class="ruby-identifier">optional</span>
1297
+ 328: <span class="ruby-identifier">repeatable</span>
1298
+ 329: <span class="ruby-identifier">pattern</span>([ <span class="ruby-value str">'_,'</span>, <span class="ruby-node">&quot;#{listItem}&quot;</span> ], <span class="ruby-identifier">lambda</span> {
1299
+ 330: <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>]
1300
+ 331: })
1301
+ 332: <span class="ruby-keyword kw">end</span></pre>
1300
1302
  </div>
1301
1303
 
1302
1304
  </div>
@@ -1330,14 +1332,14 @@ token.
1330
1332
  <div class="method-source-code"
1331
1333
  id="descr-source">
1332
1334
  <pre>
1333
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 361</span>
1334
- 361: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">descr</span>(<span class="ruby-identifier">text</span>)
1335
- 362: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">patterns</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">!=</span> <span class="ruby-value">1</span> <span class="ruby-operator">||</span>
1336
- 363: (<span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">patterns</span>[<span class="ruby-value">1</span>][<span class="ruby-value">0</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">__</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">patterns</span>[<span class="ruby-value">1</span>][<span class="ruby-value">0</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">$$</span>)
1337
- 364: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'descr() may only be used for patterns with terminal tokens.'</span>
1338
- 365: <span class="ruby-keyword kw">end</span>
1339
- 366: <span class="ruby-identifier">arg</span>(<span class="ruby-value">0</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">text</span>)
1340
- 367: <span class="ruby-keyword kw">end</span></pre>
1335
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 358</span>
1336
+ 358: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">descr</span>(<span class="ruby-identifier">text</span>)
1337
+ 359: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">patterns</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">!=</span> <span class="ruby-value">1</span> <span class="ruby-operator">||</span>
1338
+ 360: (<span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">patterns</span>[<span class="ruby-value">1</span>][<span class="ruby-value">0</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">__</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">patterns</span>[<span class="ruby-value">1</span>][<span class="ruby-value">0</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">$$</span>)
1339
+ 361: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'descr() may only be used for patterns with terminal tokens.'</span>
1340
+ 362: <span class="ruby-keyword kw">end</span>
1341
+ 363: <span class="ruby-identifier">arg</span>(<span class="ruby-value">0</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">text</span>)
1342
+ 364: <span class="ruby-keyword kw">end</span></pre>
1341
1343
  </div>
1342
1344
 
1343
1345
  </div>
@@ -1370,10 +1372,10 @@ Add documentation for the current pattern of the currently processed rule.
1370
1372
  <div class="method-source-code"
1371
1373
  id="doc-source">
1372
1374
  <pre>
1373
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 355</span>
1374
- 355: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">doc</span>(<span class="ruby-identifier">keyword</span>, <span class="ruby-identifier">text</span>)
1375
- 356: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setDoc</span>(<span class="ruby-identifier">keyword</span>, <span class="ruby-identifier">text</span>)
1376
- 357: <span class="ruby-keyword kw">end</span></pre>
1375
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 352</span>
1376
+ 352: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">doc</span>(<span class="ruby-identifier">keyword</span>, <span class="ruby-identifier">text</span>)
1377
+ 353: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setDoc</span>(<span class="ruby-identifier">keyword</span>, <span class="ruby-identifier">text</span>)
1378
+ 354: <span class="ruby-keyword kw">end</span></pre>
1377
1379
  </div>
1378
1380
 
1379
1381
  </div>
@@ -1408,10 +1410,10 @@ identify that only a part of the file should be included.
1408
1410
  <div class="method-source-code"
1409
1411
  id="example-source">
1410
1412
  <pre>
1411
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 392</span>
1412
- 392: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">example</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">tag</span> = <span class="ruby-keyword kw">nil</span>)
1413
- 393: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setExample</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">tag</span>)
1414
- 394: <span class="ruby-keyword kw">end</span></pre>
1413
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 389</span>
1414
+ 389: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">example</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">tag</span> = <span class="ruby-keyword kw">nil</span>)
1415
+ 390: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setExample</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">tag</span>)
1416
+ 391: <span class="ruby-keyword kw">end</span></pre>
1415
1417
  </div>
1416
1418
 
1417
1419
  </div>
@@ -1451,41 +1453,41 @@ new attribute. @propertySet determines what property should be extended.
1451
1453
  <div class="method-source-code"
1452
1454
  id="extend-roperty-et-efinition-source">
1453
1455
  <pre>
1454
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 176</span>
1455
- 176: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extendPropertySetDefinition</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">default</span>)
1456
- 177: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">knownAttribute?</span>(<span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>])
1457
- 178: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'extend_redefinition'</span>,
1458
- 179: <span class="ruby-node">&quot;The extended attribute #{@val[1]} has already been defined.&quot;</span>)
1459
- 180: <span class="ruby-keyword kw">end</span>
1460
- 181:
1461
- 182: <span class="ruby-comment cmt"># Determine the values for scenarioSpecific and inheritable.</span>
1462
- 183: <span class="ruby-identifier">inherit</span> = <span class="ruby-keyword kw">false</span>
1463
- 184: <span class="ruby-identifier">scenarioSpecific</span> = <span class="ruby-keyword kw">false</span>
1464
- 185: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@val</span>[<span class="ruby-value">3</span>].<span class="ruby-identifier">nil?</span>
1465
- 186: <span class="ruby-ivar">@val</span>[<span class="ruby-value">3</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">option</span><span class="ruby-operator">|</span>
1466
- 187: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">option</span>
1467
- 188: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'inherit'</span>
1468
- 189: <span class="ruby-identifier">inherit</span> = <span class="ruby-keyword kw">true</span>
1469
- 190: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'scenariospecific'</span>
1470
- 191: <span class="ruby-identifier">scenarioSpecific</span> = <span class="ruby-keyword kw">true</span>
1471
- 192: <span class="ruby-keyword kw">end</span>
1472
- 193: <span class="ruby-keyword kw">end</span>
1473
- 194: <span class="ruby-keyword kw">end</span>
1474
- 195: <span class="ruby-comment cmt"># Register the new Attribute type with the Property set it should belong</span>
1475
- 196: <span class="ruby-comment cmt"># to.</span>
1476
- 197: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">addAttributeType</span>(<span class="ruby-constant">AttributeDefinition</span>.<span class="ruby-identifier">new</span>(
1477
- 198: <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>], <span class="ruby-ivar">@val</span>[<span class="ruby-value">2</span>], <span class="ruby-identifier">type</span>, <span class="ruby-identifier">inherit</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-identifier">scenarioSpecific</span>, <span class="ruby-identifier">default</span>, <span class="ruby-keyword kw">true</span>))
1478
- 199:
1479
- 200: <span class="ruby-comment cmt"># Add the new user-defined attribute as reportable attribute to the parser</span>
1480
- 201: <span class="ruby-comment cmt"># rule.</span>
1481
- 202: <span class="ruby-identifier">oldCurrentRule</span> = <span class="ruby-ivar">@cr</span>
1482
- 203: <span class="ruby-ivar">@cr</span> = <span class="ruby-ivar">@rules</span>[<span class="ruby-value str">'reportableAttributes'</span>]
1483
- 204: <span class="ruby-identifier">singlePattern</span>(<span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>])
1484
- 205: <span class="ruby-identifier">descr</span>(<span class="ruby-ivar">@val</span>[<span class="ruby-value">2</span>])
1485
- 206: <span class="ruby-ivar">@cr</span> = <span class="ruby-identifier">oldCurrentRule</span>
1486
- 207:
1487
- 208: <span class="ruby-identifier">scenarioSpecific</span>
1488
- 209: <span class="ruby-keyword kw">end</span></pre>
1456
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 172</span>
1457
+ 172: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extendPropertySetDefinition</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">default</span>)
1458
+ 173: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">knownAttribute?</span>(<span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>])
1459
+ 174: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'extend_redefinition'</span>,
1460
+ 175: <span class="ruby-node">&quot;The extended attribute #{@val[1]} has already been defined.&quot;</span>)
1461
+ 176: <span class="ruby-keyword kw">end</span>
1462
+ 177:
1463
+ 178: <span class="ruby-comment cmt"># Determine the values for scenarioSpecific and inheritable.</span>
1464
+ 179: <span class="ruby-identifier">inherit</span> = <span class="ruby-keyword kw">false</span>
1465
+ 180: <span class="ruby-identifier">scenarioSpecific</span> = <span class="ruby-keyword kw">false</span>
1466
+ 181: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@val</span>[<span class="ruby-value">3</span>].<span class="ruby-identifier">nil?</span>
1467
+ 182: <span class="ruby-ivar">@val</span>[<span class="ruby-value">3</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">option</span><span class="ruby-operator">|</span>
1468
+ 183: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">option</span>
1469
+ 184: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'inherit'</span>
1470
+ 185: <span class="ruby-identifier">inherit</span> = <span class="ruby-keyword kw">true</span>
1471
+ 186: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'scenariospecific'</span>
1472
+ 187: <span class="ruby-identifier">scenarioSpecific</span> = <span class="ruby-keyword kw">true</span>
1473
+ 188: <span class="ruby-keyword kw">end</span>
1474
+ 189: <span class="ruby-keyword kw">end</span>
1475
+ 190: <span class="ruby-keyword kw">end</span>
1476
+ 191: <span class="ruby-comment cmt"># Register the new Attribute type with the Property set it should belong</span>
1477
+ 192: <span class="ruby-comment cmt"># to.</span>
1478
+ 193: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">addAttributeType</span>(<span class="ruby-constant">AttributeDefinition</span>.<span class="ruby-identifier">new</span>(
1479
+ 194: <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>], <span class="ruby-ivar">@val</span>[<span class="ruby-value">2</span>], <span class="ruby-identifier">type</span>, <span class="ruby-identifier">inherit</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-identifier">scenarioSpecific</span>, <span class="ruby-identifier">default</span>, <span class="ruby-keyword kw">true</span>))
1480
+ 195:
1481
+ 196: <span class="ruby-comment cmt"># Add the new user-defined attribute as reportable attribute to the parser</span>
1482
+ 197: <span class="ruby-comment cmt"># rule.</span>
1483
+ 198: <span class="ruby-identifier">oldCurrentRule</span> = <span class="ruby-ivar">@cr</span>
1484
+ 199: <span class="ruby-ivar">@cr</span> = <span class="ruby-ivar">@rules</span>[<span class="ruby-value str">'reportableAttributes'</span>]
1485
+ 200: <span class="ruby-identifier">singlePattern</span>(<span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>])
1486
+ 201: <span class="ruby-identifier">descr</span>(<span class="ruby-ivar">@val</span>[<span class="ruby-value">2</span>])
1487
+ 202: <span class="ruby-ivar">@cr</span> = <span class="ruby-identifier">oldCurrentRule</span>
1488
+ 203:
1489
+ 204: <span class="ruby-identifier">scenarioSpecific</span>
1490
+ 205: <span class="ruby-keyword kw">end</span></pre>
1489
1491
  </div>
1490
1492
 
1491
1493
  </div>
@@ -1522,17 +1524,17 @@ creates or resets the stack.
1522
1524
  <div class="method-source-code"
1523
1525
  id="init-ile-tack-source">
1524
1526
  <pre>
1525
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 408</span>
1526
- 408: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initFileStack</span>
1527
- 409: <span class="ruby-ivar">@fileStackVariables</span> = <span class="ruby-node">%( taskprefix reportprefix
1528
- 410: resourceprefix accountprefix )</span>
1529
- 411: <span class="ruby-identifier">stackEntry</span> = {}
1530
- 412: <span class="ruby-ivar">@fileStackVariables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var</span><span class="ruby-operator">|</span>
1531
- 413: <span class="ruby-identifier">stackEntry</span>[<span class="ruby-identifier">var</span>] = <span class="ruby-value str">''</span>
1532
- 414: <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">var</span>, <span class="ruby-value str">''</span>)
1533
- 415: <span class="ruby-keyword kw">end</span>
1534
- 416: <span class="ruby-ivar">@fileStack</span> = [ <span class="ruby-identifier">stackEntry</span> ]
1535
- 417: <span class="ruby-keyword kw">end</span></pre>
1527
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 405</span>
1528
+ 405: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initFileStack</span>
1529
+ 406: <span class="ruby-ivar">@fileStackVariables</span> = <span class="ruby-node">%( taskprefix reportprefix
1530
+ 407: resourceprefix accountprefix )</span>
1531
+ 408: <span class="ruby-identifier">stackEntry</span> = {}
1532
+ 409: <span class="ruby-ivar">@fileStackVariables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var</span><span class="ruby-operator">|</span>
1533
+ 410: <span class="ruby-identifier">stackEntry</span>[<span class="ruby-identifier">var</span>] = <span class="ruby-value str">''</span>
1534
+ 411: <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">var</span>, <span class="ruby-value str">''</span>)
1535
+ 412: <span class="ruby-keyword kw">end</span>
1536
+ 413: <span class="ruby-ivar">@fileStack</span> = [ <span class="ruby-identifier">stackEntry</span> ]
1537
+ 414: <span class="ruby-keyword kw">end</span></pre>
1536
1538
  </div>
1537
1539
 
1538
1540
  </div>
@@ -1566,10 +1568,10 @@ first <tt>idx</tt> tokens.
1566
1568
  <div class="method-source-code"
1567
1569
  id="last-yntax-oken-source">
1568
1570
  <pre>
1569
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 378</span>
1570
- 378: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lastSyntaxToken</span>(<span class="ruby-identifier">idx</span>)
1571
- 379: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setLastSyntaxToken</span>(<span class="ruby-identifier">idx</span>)
1572
- 380: <span class="ruby-keyword kw">end</span></pre>
1571
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 375</span>
1572
+ 375: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lastSyntaxToken</span>(<span class="ruby-identifier">idx</span>)
1573
+ 376: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setLastSyntaxToken</span>(<span class="ruby-identifier">idx</span>)
1574
+ 377: <span class="ruby-keyword kw">end</span></pre>
1573
1575
  </div>
1574
1576
 
1575
1577
  </div>
@@ -1600,19 +1602,19 @@ first <tt>idx</tt> tokens.
1600
1602
  <div class="method-source-code"
1601
1603
  id="list-ule-source">
1602
1604
  <pre>
1603
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 316</span>
1604
- 316: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listRule</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">listItem</span>)
1605
- 317: <span class="ruby-identifier">pattern</span>([ <span class="ruby-node">&quot;#{listItem}&quot;</span>, <span class="ruby-node">&quot;!#{name}&quot;</span> ], <span class="ruby-identifier">lambda</span> {
1606
- 318: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@val</span>[<span class="ruby-value">0</span>])
1607
- 319: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'duplicate_in_list'</span>,
1608
- 320: <span class="ruby-value str">&quot;Duplicate items in list.&quot;</span>)
1609
- 321: <span class="ruby-keyword kw">end</span>
1610
- 322: [ <span class="ruby-ivar">@val</span>[<span class="ruby-value">0</span>] ] <span class="ruby-operator">+</span> (<span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">?</span> [] <span class="ruby-operator">:</span> <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>])
1611
- 323: })
1612
- 324: <span class="ruby-identifier">newRule</span>(<span class="ruby-identifier">name</span>) {
1613
- 325: <span class="ruby-identifier">commaListRule</span>(<span class="ruby-identifier">listItem</span>)
1614
- 326: }
1615
- 327: <span class="ruby-keyword kw">end</span></pre>
1605
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 313</span>
1606
+ 313: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listRule</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">listItem</span>)
1607
+ 314: <span class="ruby-identifier">pattern</span>([ <span class="ruby-node">&quot;#{listItem}&quot;</span>, <span class="ruby-node">&quot;!#{name}&quot;</span> ], <span class="ruby-identifier">lambda</span> {
1608
+ 315: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@val</span>[<span class="ruby-value">0</span>])
1609
+ 316: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'duplicate_in_list'</span>,
1610
+ 317: <span class="ruby-value str">&quot;Duplicate items in list.&quot;</span>)
1611
+ 318: <span class="ruby-keyword kw">end</span>
1612
+ 319: [ <span class="ruby-ivar">@val</span>[<span class="ruby-value">0</span>] ] <span class="ruby-operator">+</span> (<span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">?</span> [] <span class="ruby-operator">:</span> <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>])
1613
+ 320: })
1614
+ 321: <span class="ruby-identifier">newRule</span>(<span class="ruby-identifier">name</span>) {
1615
+ 322: <span class="ruby-identifier">commaListRule</span>(<span class="ruby-identifier">listItem</span>)
1616
+ 323: }
1617
+ 324: <span class="ruby-keyword kw">end</span></pre>
1616
1618
  </div>
1617
1619
 
1618
1620
  </div>
@@ -1650,23 +1652,23 @@ method returns the newly created <a href="Report.html">Report</a>.
1650
1652
  <div class="method-source-code"
1651
1653
  id="new-eport-source">
1652
1654
  <pre>
1653
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 242</span>
1654
- 242: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newReport</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">sourceFileInfo</span>)
1655
- 243: <span class="ruby-ivar">@reportCounter</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1656
- 244: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'.'</span>
1657
- 245: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">reportByName</span>(<span class="ruby-identifier">name</span>)
1658
- 246: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'report_redefinition'</span>,
1659
- 247: <span class="ruby-node">&quot;A report with the name #{name} has already been defined.&quot;</span>)
1660
- 248: <span class="ruby-keyword kw">end</span>
1661
- 249: <span class="ruby-keyword kw">end</span>
1662
- 250: <span class="ruby-ivar">@property</span> = <span class="ruby-constant">Report</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>, <span class="ruby-identifier">id</span> <span class="ruby-operator">||</span> <span class="ruby-node">&quot;report#{@reportCounter}&quot;</span>,
1663
- 251: <span class="ruby-identifier">name</span>, <span class="ruby-keyword kw">nil</span>)
1664
- 252: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">type</span>
1665
- 253: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">sourceFileInfo</span> = <span class="ruby-identifier">sourceFileInfo</span>
1666
- 254: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">set</span>(<span class="ruby-value str">'formats'</span>, [ <span class="ruby-value">:tjp</span> ])
1667
- 255: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">inheritAttributes</span>
1668
- 256: <span class="ruby-ivar">@property</span>
1669
- 257: <span class="ruby-keyword kw">end</span></pre>
1655
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 239</span>
1656
+ 239: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newReport</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">sourceFileInfo</span>)
1657
+ 240: <span class="ruby-ivar">@reportCounter</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1658
+ 241: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'.'</span>
1659
+ 242: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">reportByName</span>(<span class="ruby-identifier">name</span>)
1660
+ 243: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'report_redefinition'</span>,
1661
+ 244: <span class="ruby-node">&quot;A report with the name #{name} has already been defined.&quot;</span>)
1662
+ 245: <span class="ruby-keyword kw">end</span>
1663
+ 246: <span class="ruby-keyword kw">end</span>
1664
+ 247: <span class="ruby-ivar">@property</span> = <span class="ruby-constant">Report</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>, <span class="ruby-identifier">id</span> <span class="ruby-operator">||</span> <span class="ruby-node">&quot;report#{@reportCounter}&quot;</span>,
1665
+ 248: <span class="ruby-identifier">name</span>, <span class="ruby-keyword kw">nil</span>)
1666
+ 249: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">type</span>
1667
+ 250: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">sourceFileInfo</span> = <span class="ruby-identifier">sourceFileInfo</span>
1668
+ 251: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">set</span>(<span class="ruby-value str">'formats'</span>, [ <span class="ruby-value">:tjp</span> ])
1669
+ 252: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">inheritAttributes</span>
1670
+ 253: <span class="ruby-ivar">@property</span>
1671
+ 254: <span class="ruby-keyword kw">end</span></pre>
1670
1672
  </div>
1671
1673
 
1672
1674
  </div>
@@ -1709,24 +1711,25 @@ be provided by <em>tokenSet</em>.
1709
1711
  <div class="method-source-code"
1710
1712
  id="new-ich-ext-source">
1711
1713
  <pre>
1712
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 219</span>
1713
- 219: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">tokenSet</span> = <span class="ruby-keyword kw">nil</span>)
1714
- 220: <span class="ruby-identifier">sfi</span> = <span class="ruby-identifier">sourceFileInfo</span>
1715
- 221: <span class="ruby-keyword kw">begin</span>
1716
- 222: <span class="ruby-identifier">rText</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>, <span class="ruby-constant">RTFHandlers</span>.<span class="ruby-identifier">create</span>(<span class="ruby-ivar">@project</span>, <span class="ruby-identifier">sfi</span>))
1717
- 223: <span class="ruby-identifier">rti</span> = <span class="ruby-identifier">rText</span>.<span class="ruby-identifier">generateIntermediateFormat</span>( [ <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>], <span class="ruby-identifier">tokenSet</span>)
1718
- 224: <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">sectionNumbers</span> = <span class="ruby-keyword kw">false</span>
1719
- 225: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">RichTextException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
1720
- 226: <span class="ruby-identifier">sfi</span> = <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">sfi</span>.<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">sfi</span>.<span class="ruby-identifier">lineNo</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">lineNo</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>, <span class="ruby-value">0</span>)
1721
- 227: <span class="ruby-identifier">message</span> = <span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">msg</span>.<span class="ruby-identifier">id</span>, <span class="ruby-value str">'error'</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">line</span>,
1722
- 228: <span class="ruby-ivar">@property</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">sfi</span>)
1723
- 229: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">message</span>)
1724
- 230:
1725
- 231: <span class="ruby-comment cmt"># An empty strings signals an already reported error</span>
1726
- 232: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">''</span>
1727
- 233: <span class="ruby-keyword kw">end</span>
1728
- 234: <span class="ruby-identifier">rti</span>
1729
- 235: <span class="ruby-keyword kw">end</span></pre>
1714
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 215</span>
1715
+ 215: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">tokenSet</span> = <span class="ruby-keyword kw">nil</span>)
1716
+ 216: <span class="ruby-identifier">sfi</span> = <span class="ruby-identifier">sourceFileInfo</span>
1717
+ 217: <span class="ruby-identifier">rText</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>, <span class="ruby-constant">RTFHandlers</span>.<span class="ruby-identifier">create</span>(<span class="ruby-ivar">@project</span>, <span class="ruby-identifier">sfi</span>))
1718
+ 218: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">rti</span> = <span class="ruby-identifier">rText</span>.<span class="ruby-identifier">generateIntermediateFormat</span>( [ <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>], <span class="ruby-identifier">tokenSet</span>))
1719
+ 219: <span class="ruby-identifier">rText</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">messages</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">msg</span><span class="ruby-operator">|</span>
1720
+ 220: <span class="ruby-comment cmt"># Map the SourceFileInfo of the RichText back to the original</span>
1721
+ 221: <span class="ruby-comment cmt"># location in the input file.</span>
1722
+ 222: <span class="ruby-identifier">sfi</span> = <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">sfi</span>.<span class="ruby-identifier">fileName</span>,
1723
+ 223: <span class="ruby-identifier">sfi</span>.<span class="ruby-identifier">lineNo</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">sourceFileInfo</span>.<span class="ruby-identifier">lineNo</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>,
1724
+ 224: <span class="ruby-value">0</span>)
1725
+ 225: <span class="ruby-comment cmt"># Then replay the error message.</span>
1726
+ 226: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">addMessage</span>(<span class="ruby-identifier">msg</span>.<span class="ruby-identifier">type</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">message</span>, <span class="ruby-identifier">sfi</span>,
1727
+ 227: <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">line</span>)
1728
+ 228: <span class="ruby-keyword kw">end</span>
1729
+ 229: <span class="ruby-keyword kw">end</span>
1730
+ 230: <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">sectionNumbers</span> = <span class="ruby-keyword kw">false</span>
1731
+ 231: <span class="ruby-identifier">rti</span>
1732
+ 232: <span class="ruby-keyword kw">end</span></pre>
1730
1733
  </div>
1731
1734
 
1732
1735
  </div>
@@ -1760,13 +1763,13 @@ attributes. <em>attributes</em> is the rule that lists these attributes.
1760
1763
  <div class="method-source-code"
1761
1764
  id="options-ule-source">
1762
1765
  <pre>
1763
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 339</span>
1764
- 339: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">optionsRule</span>(<span class="ruby-identifier">attributes</span>)
1765
- 340: <span class="ruby-identifier">optional</span>
1766
- 341: <span class="ruby-identifier">pattern</span>([ <span class="ruby-value str">'_{'</span>, <span class="ruby-node">&quot;!#{attributes}&quot;</span>, <span class="ruby-value str">'_}'</span> ], <span class="ruby-identifier">lambda</span> {
1767
- 342: <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>]
1768
- 343: })
1769
- 344: <span class="ruby-keyword kw">end</span></pre>
1766
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 336</span>
1767
+ 336: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">optionsRule</span>(<span class="ruby-identifier">attributes</span>)
1768
+ 337: <span class="ruby-identifier">optional</span>
1769
+ 338: <span class="ruby-identifier">pattern</span>([ <span class="ruby-value str">'_{'</span>, <span class="ruby-node">&quot;!#{attributes}&quot;</span>, <span class="ruby-value str">'_}'</span> ], <span class="ruby-identifier">lambda</span> {
1770
+ 339: <span class="ruby-ivar">@val</span>[<span class="ruby-value">1</span>]
1771
+ 340: })
1772
+ 341: <span class="ruby-keyword kw">end</span></pre>
1770
1773
  </div>
1771
1774
 
1772
1775
  </div>
@@ -1800,14 +1803,14 @@ variables according to the now top-entry.
1800
1803
  <div class="method-source-code"
1801
1804
  id="pop-ile-tack-source">
1802
1805
  <pre>
1803
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 430</span>
1804
- 430: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">popFileStack</span>
1805
- 431: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">pop</span>
1806
- 432: <span class="ruby-ivar">@fileStackVariables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var</span><span class="ruby-operator">|</span>
1807
- 433: <span class="ruby-identifier">stackEntry</span> = <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>
1808
- 434: <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">var</span>, <span class="ruby-identifier">stackEntry</span>[<span class="ruby-identifier">var</span>])
1809
- 435: <span class="ruby-keyword kw">end</span>
1810
- 436: <span class="ruby-keyword kw">end</span></pre>
1806
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 427</span>
1807
+ 427: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">popFileStack</span>
1808
+ 428: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">pop</span>
1809
+ 429: <span class="ruby-identifier">stackEntry</span> = <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>
1810
+ 430: <span class="ruby-ivar">@fileStackVariables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var</span><span class="ruby-operator">|</span>
1811
+ 431: <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">var</span>, <span class="ruby-identifier">stackEntry</span>[<span class="ruby-identifier">var</span>])
1812
+ 432: <span class="ruby-keyword kw">end</span>
1813
+ 433: <span class="ruby-keyword kw">end</span></pre>
1811
1814
  </div>
1812
1815
 
1813
1816
  </div>
@@ -1840,14 +1843,14 @@ Push a new set of variables onto the @fileStack.
1840
1843
  <div class="method-source-code"
1841
1844
  id="push-ile-tack-source">
1842
1845
  <pre>
1843
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 420</span>
1844
- 420: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pushFileStack</span>
1845
- 421: <span class="ruby-identifier">stackEntry</span> = {}
1846
- 422: <span class="ruby-ivar">@fileStackVariables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var</span><span class="ruby-operator">|</span>
1847
- 423: <span class="ruby-identifier">stackEntry</span>[<span class="ruby-identifier">var</span>] = <span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">var</span>)
1848
- 424: <span class="ruby-keyword kw">end</span>
1849
- 425: <span class="ruby-ivar">@fileStack</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">stackEntry</span>
1850
- 426: <span class="ruby-keyword kw">end</span></pre>
1846
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 417</span>
1847
+ 417: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pushFileStack</span>
1848
+ 418: <span class="ruby-identifier">stackEntry</span> = {}
1849
+ 419: <span class="ruby-ivar">@fileStackVariables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var</span><span class="ruby-operator">|</span>
1850
+ 420: <span class="ruby-identifier">stackEntry</span>[<span class="ruby-identifier">var</span>] = <span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">var</span>)
1851
+ 421: <span class="ruby-keyword kw">end</span>
1852
+ 422: <span class="ruby-ivar">@fileStack</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">stackEntry</span>
1853
+ 423: <span class="ruby-keyword kw">end</span></pre>
1851
1854
  </div>
1852
1855
 
1853
1856
  </div>
@@ -1883,16 +1886,16 @@ href="Limits.html">Limits</a> object is enough.
1883
1886
  <div class="method-source-code"
1884
1887
  id="set-imit-source">
1885
1888
  <pre>
1886
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 262</span>
1887
- 262: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setLimit</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">interval</span>)
1888
- 263: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@limitResources</span>.<span class="ruby-identifier">empty?</span>
1889
- 264: <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">setLimit</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">interval</span>)
1890
- 265: <span class="ruby-keyword kw">else</span>
1891
- 266: <span class="ruby-ivar">@limitResources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
1892
- 267: <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">setLimit</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">interval</span>, <span class="ruby-identifier">resource</span>)
1893
- 268: <span class="ruby-keyword kw">end</span>
1894
- 269: <span class="ruby-keyword kw">end</span>
1895
- 270: <span class="ruby-keyword kw">end</span></pre>
1889
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 259</span>
1890
+ 259: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setLimit</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">interval</span>)
1891
+ 260: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@limitResources</span>.<span class="ruby-identifier">empty?</span>
1892
+ 261: <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">setLimit</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">interval</span>)
1893
+ 262: <span class="ruby-keyword kw">else</span>
1894
+ 263: <span class="ruby-ivar">@limitResources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
1895
+ 264: <span class="ruby-ivar">@limits</span>.<span class="ruby-identifier">setLimit</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">interval</span>, <span class="ruby-identifier">resource</span>)
1896
+ 265: <span class="ruby-keyword kw">end</span>
1897
+ 266: <span class="ruby-keyword kw">end</span>
1898
+ 267: <span class="ruby-keyword kw">end</span></pre>
1896
1899
  </div>
1897
1900
 
1898
1901
  </div>
@@ -1926,12 +1929,12 @@ value of that item.
1926
1929
  <div class="method-source-code"
1927
1930
  id="single-attern-source">
1928
1931
  <pre>
1929
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 348</span>
1930
- 348: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">singlePattern</span>(<span class="ruby-identifier">item</span>)
1931
- 349: <span class="ruby-identifier">pattern</span>([ <span class="ruby-identifier">item</span> ], <span class="ruby-identifier">lambda</span> {
1932
- 350: <span class="ruby-ivar">@val</span>[<span class="ruby-value">0</span>]
1933
- 351: })
1934
- 352: <span class="ruby-keyword kw">end</span></pre>
1932
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 345</span>
1933
+ 345: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">singlePattern</span>(<span class="ruby-identifier">item</span>)
1934
+ 346: <span class="ruby-identifier">pattern</span>([ <span class="ruby-identifier">item</span> ], <span class="ruby-identifier">lambda</span> {
1935
+ 347: <span class="ruby-ivar">@val</span>[<span class="ruby-value">0</span>]
1936
+ 348: })
1937
+ 349: <span class="ruby-keyword kw">end</span></pre>
1935
1938
  </div>
1936
1939
 
1937
1940
  </div>
@@ -1966,14 +1969,14 @@ and does some error checking. It returns 0 for &#8216;sun&#8217;, 1 for
1966
1969
  <div class="method-source-code"
1967
1970
  id="week-ay-source">
1968
1971
  <pre>
1969
- <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 118</span>
1970
- 118: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">weekDay</span>(<span class="ruby-identifier">name</span>)
1971
- 119: <span class="ruby-identifier">names</span> = <span class="ruby-node">%( sun mon tue wed thu fri sat )</span>
1972
- 120: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">day</span> = <span class="ruby-identifier">names</span>.<span class="ruby-identifier">index</span>(<span class="ruby-ivar">@val</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
1973
- 121: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'weekday'</span>, <span class="ruby-node">&quot;Weekday name expected (#{names.join(', ')})&quot;</span>)
1974
- 122: <span class="ruby-keyword kw">end</span>
1975
- 123: <span class="ruby-identifier">day</span>
1976
- 124: <span class="ruby-keyword kw">end</span></pre>
1972
+ <span class="ruby-comment cmt"># File lib/ProjectFileParser.rb, line 114</span>
1973
+ 114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">weekDay</span>(<span class="ruby-identifier">name</span>)
1974
+ 115: <span class="ruby-identifier">names</span> = <span class="ruby-node">%( sun mon tue wed thu fri sat )</span>
1975
+ 116: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">day</span> = <span class="ruby-identifier">names</span>.<span class="ruby-identifier">index</span>(<span class="ruby-ivar">@val</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
1976
+ 117: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'weekday'</span>, <span class="ruby-node">&quot;Weekday name expected (#{names.join(', ')})&quot;</span>)
1977
+ 118: <span class="ruby-keyword kw">end</span>
1978
+ 119: <span class="ruby-identifier">day</span>
1979
+ 120: <span class="ruby-keyword kw">end</span></pre>
1977
1980
  </div>
1978
1981
 
1979
1982
  </div>