taskjuggler 0.0.2 → 0.0.3

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 (432) hide show
  1. data/Rakefile +1 -0
  2. data/benchmarks/depends.tjp +2 -1
  3. data/benchmarks/htmltaskreport.tjp +2 -1
  4. data/doc/classes/AppConfig.html +124 -120
  5. data/doc/classes/Arguments.html +10 -6
  6. data/doc/classes/Object.html +229 -0
  7. data/doc/classes/String.html +35 -31
  8. data/doc/classes/TaskJuggler/Account.html +18 -18
  9. data/doc/classes/TaskJuggler/AccountAttribute.html +261 -0
  10. data/doc/classes/TaskJuggler/AccountScenario.html +12 -12
  11. data/doc/classes/TaskJuggler/Allocation.html +34 -30
  12. data/doc/classes/TaskJuggler/AllocationAttribute.html +70 -70
  13. data/doc/classes/TaskJuggler/AttributeBase.html +131 -147
  14. data/doc/classes/TaskJuggler/AttributeDefinition.html +38 -21
  15. data/doc/classes/TaskJuggler/BatchProcessor.html +313 -0
  16. data/doc/classes/TaskJuggler/Booking.html +22 -18
  17. data/doc/classes/TaskJuggler/BookingListAttribute.html +42 -42
  18. data/doc/classes/TaskJuggler/BooleanAttribute.html +40 -40
  19. data/doc/classes/TaskJuggler/CSVFile.html +28 -24
  20. data/doc/classes/TaskJuggler/Charge.html +22 -18
  21. data/doc/classes/TaskJuggler/ChargeListAttribute.html +30 -30
  22. data/doc/classes/TaskJuggler/ChargeSet.html +41 -37
  23. data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +46 -46
  24. data/doc/classes/TaskJuggler/ColumnListAttribute.html +231 -0
  25. data/doc/classes/TaskJuggler/ColumnTable.html +23 -21
  26. data/doc/classes/TaskJuggler/DateAttribute.html +20 -20
  27. data/doc/classes/TaskJuggler/DefinitionListAttribute.html +162 -0
  28. data/doc/classes/TaskJuggler/DependencyListAttribute.html +46 -46
  29. data/doc/classes/TaskJuggler/DurationAttribute.html +30 -30
  30. data/doc/classes/TaskJuggler/FixnumAttribute.html +20 -20
  31. data/doc/classes/TaskJuggler/FlagListAttribute.html +42 -42
  32. data/doc/classes/TaskJuggler/FloatAttribute.html +30 -30
  33. data/doc/classes/TaskJuggler/FormatListAttribute.html +197 -0
  34. data/doc/classes/TaskJuggler/GanttChart.html +236 -207
  35. data/doc/classes/TaskJuggler/GanttContainer.html +46 -42
  36. data/doc/classes/TaskJuggler/GanttHeader.html +16 -12
  37. data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +16 -12
  38. data/doc/classes/TaskJuggler/GanttLine.html +28 -24
  39. data/doc/classes/TaskJuggler/GanttLoadStack.html +22 -18
  40. data/doc/classes/TaskJuggler/GanttMilestone.html +46 -42
  41. data/doc/classes/TaskJuggler/GanttRouter.html +104 -98
  42. data/doc/classes/TaskJuggler/GanttTaskBar.html +46 -42
  43. data/doc/classes/TaskJuggler/HTMLDocument.html +12 -12
  44. data/doc/classes/TaskJuggler/HTMLGraphics.html +12 -12
  45. data/doc/classes/TaskJuggler/Interval.html +126 -120
  46. data/doc/classes/TaskJuggler/IntervalListAttribute.html +46 -46
  47. data/doc/classes/TaskJuggler/JobInfo.html +284 -0
  48. data/doc/classes/TaskJuggler/Journal.html +197 -0
  49. data/doc/classes/TaskJuggler/JournalEntry.html +218 -0
  50. data/doc/classes/TaskJuggler/KeywordArray.html +179 -0
  51. data/doc/classes/TaskJuggler/KeywordDocumentation.html +445 -396
  52. data/doc/classes/TaskJuggler/Limits/Limit.html +34 -30
  53. data/doc/classes/TaskJuggler/Limits.html +68 -62
  54. data/doc/classes/TaskJuggler/LimitsAttribute.html +40 -40
  55. data/doc/classes/TaskJuggler/ListAttributeBase.html +207 -0
  56. data/doc/classes/TaskJuggler/Log.html +72 -68
  57. data/doc/classes/TaskJuggler/LogicalAttribute.html +38 -34
  58. data/doc/classes/TaskJuggler/LogicalExpression.html +16 -12
  59. data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +194 -0
  60. data/doc/classes/TaskJuggler/LogicalFlag.html +32 -32
  61. data/doc/classes/TaskJuggler/LogicalFunction.html +28 -24
  62. data/doc/classes/TaskJuggler/LogicalOperation.html +17 -13
  63. data/doc/classes/TaskJuggler/Macro.html +10 -6
  64. data/doc/classes/TaskJuggler/MacroParser.html +36 -36
  65. data/doc/classes/TaskJuggler/MacroTable.html +40 -36
  66. data/doc/classes/TaskJuggler/Message.html +16 -12
  67. data/doc/classes/TaskJuggler/MessageHandler.html +16 -12
  68. data/doc/classes/TaskJuggler/Navigator.html +249 -0
  69. data/doc/classes/TaskJuggler/OnShiftCache.html +316 -0
  70. data/doc/classes/TaskJuggler/Project.html +1064 -678
  71. data/doc/classes/TaskJuggler/ProjectFileParser.html +90 -85
  72. data/doc/classes/TaskJuggler/PropertyAttribute.html +194 -0
  73. data/doc/classes/TaskJuggler/PropertyList.html +114 -113
  74. data/doc/classes/TaskJuggler/PropertySet.html +355 -312
  75. data/doc/classes/TaskJuggler/PropertyTreeNode.html +527 -474
  76. data/doc/classes/TaskJuggler/Query.html +90 -85
  77. data/doc/classes/TaskJuggler/RTPNavigator.html +292 -0
  78. data/doc/classes/TaskJuggler/RTPReport.html +301 -0
  79. data/doc/classes/TaskJuggler/RealFormat.html +114 -57
  80. data/doc/classes/TaskJuggler/RealFormatAttribute.html +162 -0
  81. data/doc/classes/TaskJuggler/ReferenceAttribute.html +87 -20
  82. data/doc/classes/TaskJuggler/Report.html +82 -291
  83. data/doc/classes/TaskJuggler/ReportBase.html +448 -0
  84. data/doc/classes/TaskJuggler/ReportContext.html +243 -0
  85. data/doc/classes/TaskJuggler/ReportTable.html +158 -129
  86. data/doc/classes/TaskJuggler/ReportTableCell.html +30 -26
  87. data/doc/classes/TaskJuggler/ReportTableColumn.html +29 -25
  88. data/doc/classes/TaskJuggler/ReportTableLegend.html +28 -24
  89. data/doc/classes/TaskJuggler/ReportTableLine.html +34 -30
  90. data/doc/classes/TaskJuggler/Resource.html +12 -12
  91. data/doc/classes/TaskJuggler/ResourceListAttribute.html +46 -46
  92. data/doc/classes/TaskJuggler/ResourceListRE.html +49 -57
  93. data/doc/classes/TaskJuggler/ResourceScenario.html +126 -126
  94. data/doc/classes/TaskJuggler/RichText.html +52 -48
  95. data/doc/classes/TaskJuggler/RichTextAttribute.html +30 -30
  96. data/doc/classes/TaskJuggler/RichTextDocument.html +41 -37
  97. data/doc/classes/TaskJuggler/RichTextElement.html +274 -264
  98. data/doc/classes/TaskJuggler/RichTextException.html +13 -13
  99. data/doc/classes/TaskJuggler/RichTextParser.html +48 -47
  100. data/doc/classes/TaskJuggler/RichTextProtocolExample.html +52 -55
  101. data/doc/classes/TaskJuggler/RichTextProtocolHandler.html +55 -10
  102. data/doc/classes/TaskJuggler/RichTextScanner.html +106 -245
  103. data/doc/classes/TaskJuggler/RichTextSnip.html +28 -24
  104. data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +381 -301
  105. data/doc/classes/TaskJuggler/Scenario.html +6 -6
  106. data/doc/classes/TaskJuggler/ScenarioData.html +40 -36
  107. data/doc/classes/TaskJuggler/ScenarioListAttribute.html +229 -0
  108. data/doc/classes/TaskJuggler/Scoreboard.html +70 -66
  109. data/doc/classes/TaskJuggler/Shift.html +18 -18
  110. data/doc/classes/TaskJuggler/ShiftAssignment.html +58 -54
  111. data/doc/classes/TaskJuggler/ShiftAssignments.html +82 -78
  112. data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +40 -40
  113. data/doc/classes/TaskJuggler/ShiftScenario.html +24 -24
  114. data/doc/classes/TaskJuggler/SortListAttribute.html +196 -0
  115. data/doc/classes/TaskJuggler/SourceFileInfo.html +16 -12
  116. data/doc/classes/TaskJuggler/StringAttribute.html +30 -30
  117. data/doc/classes/TaskJuggler/SymbolAttribute.html +20 -20
  118. data/doc/classes/TaskJuggler/SyntaxReference.html +46 -42
  119. data/doc/classes/TaskJuggler/TOCEntry.html +16 -12
  120. data/doc/classes/TaskJuggler/TableColumnDefinition.html +48 -33
  121. data/doc/classes/TaskJuggler/TableOfContents.html +22 -18
  122. data/doc/classes/TaskJuggler/TableReport.html +1036 -0
  123. data/doc/classes/TaskJuggler/Task.html +12 -12
  124. data/doc/classes/TaskJuggler/TaskDependency.html +16 -12
  125. data/doc/classes/TaskJuggler/TaskListAttribute.html +46 -46
  126. data/doc/classes/TaskJuggler/TaskListRE.html +49 -58
  127. data/doc/classes/TaskJuggler/TaskScenario.html +1270 -1180
  128. data/doc/classes/TaskJuggler/TextParser/Pattern.html +100 -96
  129. data/doc/classes/TaskJuggler/TextParser/Rule.html +88 -84
  130. data/doc/classes/TaskJuggler/TextParser/StackElement.html +16 -12
  131. data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +12 -12
  132. data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +10 -6
  133. data/doc/classes/TaskJuggler/TextParser.html +203 -140
  134. data/doc/classes/TaskJuggler/TextReport.html +364 -0
  135. data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +70 -70
  136. data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +50 -42
  137. data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +16 -12
  138. data/doc/classes/TaskJuggler/TextScanner.html +334 -240
  139. data/doc/classes/TaskJuggler/TjException.html +6 -6
  140. data/doc/classes/TaskJuggler/TjTime.html +547 -497
  141. data/doc/classes/TaskJuggler/TjpExample.html +29 -25
  142. data/doc/classes/TaskJuggler/TjpExportRE.html +77 -97
  143. data/doc/classes/TaskJuggler/TjpSyntaxRules.html +3911 -3886
  144. data/doc/classes/TaskJuggler/UserManual.html +54 -54
  145. data/doc/classes/TaskJuggler/WorkingHours.html +53 -49
  146. data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +53 -85
  147. data/doc/classes/TaskJuggler/XMLBlob.html +21 -21
  148. data/doc/classes/TaskJuggler/XMLComment.html +21 -21
  149. data/doc/classes/TaskJuggler/XMLDocument.html +28 -24
  150. data/doc/classes/TaskJuggler/XMLElement.html +70 -58
  151. data/doc/classes/TaskJuggler/XMLNamedText.html +11 -11
  152. data/doc/classes/TaskJuggler/XMLText.html +36 -36
  153. data/doc/classes/TaskJuggler.html +266 -183
  154. data/doc/files/COPYING.html +1 -1
  155. data/doc/files/README.html +1 -1
  156. data/doc/files/lib/AccountScenario_rb.html +1 -1
  157. data/doc/files/lib/Account_rb.html +1 -1
  158. data/doc/files/lib/Allocation_rb.html +1 -1
  159. data/doc/files/lib/AppConfig_rb.html +1 -1
  160. data/doc/files/lib/AttributeBase_rb.html +11 -1
  161. data/doc/files/lib/AttributeDefinition_rb.html +1 -1
  162. data/doc/files/lib/Attributes_rb.html +1 -1
  163. data/doc/files/lib/{LogicalFlag_rb.html → BatchProcessor_rb.html} +8 -6
  164. data/doc/files/lib/Booking_rb.html +1 -1
  165. data/doc/files/lib/ChargeSet_rb.html +1 -1
  166. data/doc/files/lib/Charge_rb.html +1 -1
  167. data/doc/files/lib/HTMLDocument_rb.html +1 -1
  168. data/doc/files/lib/Interval_rb.html +1 -1
  169. data/doc/files/lib/Journal_rb.html +106 -0
  170. data/doc/files/lib/KeywordArray_rb.html +106 -0
  171. data/doc/files/lib/KeywordDocumentation_rb.html +1 -1
  172. data/doc/files/lib/Limits_rb.html +1 -1
  173. data/doc/files/lib/Log_rb.html +1 -1
  174. data/doc/files/lib/LogicalExpression_rb.html +1 -3
  175. data/doc/files/lib/LogicalFunction_rb.html +1 -1
  176. data/doc/files/lib/LogicalOperation_rb.html +1 -1
  177. data/doc/files/lib/MacroParser_rb.html +1 -1
  178. data/doc/files/lib/MacroTable_rb.html +1 -1
  179. data/doc/files/lib/MessageHandler_rb.html +1 -1
  180. data/doc/files/lib/Message_rb.html +1 -1
  181. data/doc/files/lib/ProjectFileParser_rb.html +5 -1
  182. data/doc/files/lib/Project_rb.html +5 -1
  183. data/doc/files/lib/PropertyList_rb.html +1 -1
  184. data/doc/files/lib/PropertySet_rb.html +1 -1
  185. data/doc/files/lib/PropertyTreeNode_rb.html +1 -1
  186. data/doc/files/lib/Query_rb.html +1 -1
  187. data/doc/files/lib/RTPNavigator_rb.html +120 -0
  188. data/doc/files/lib/RTPReport_rb.html +118 -0
  189. data/doc/files/lib/RealFormat_rb.html +1 -1
  190. data/doc/files/lib/ResourceScenario_rb.html +1 -1
  191. data/doc/files/lib/Resource_rb.html +1 -1
  192. data/doc/files/lib/RichTextDocument_rb.html +1 -1
  193. data/doc/files/lib/RichTextElement_rb.html +1 -1
  194. data/doc/files/lib/RichTextParser_rb.html +1 -1
  195. data/doc/files/lib/RichTextProtocolExample_rb.html +1 -1
  196. data/doc/files/lib/RichTextProtocolHandler_rb.html +1 -1
  197. data/doc/files/lib/RichTextScanner_rb.html +1 -1
  198. data/doc/files/lib/RichTextSnip_rb.html +1 -1
  199. data/doc/files/lib/RichTextSyntaxRules_rb.html +1 -1
  200. data/doc/files/lib/RichText_rb.html +1 -1
  201. data/doc/files/lib/ScenarioData_rb.html +1 -1
  202. data/doc/files/lib/Scenario_rb.html +1 -1
  203. data/doc/files/lib/Scoreboard_rb.html +1 -1
  204. data/doc/files/lib/ShiftAssignments_rb.html +1 -1
  205. data/doc/files/lib/ShiftScenario_rb.html +1 -1
  206. data/doc/files/lib/Shift_rb.html +1 -1
  207. data/doc/files/lib/SourceFileInfo_rb.html +1 -1
  208. data/doc/files/lib/SyntaxReference_rb.html +1 -1
  209. data/doc/files/lib/TOCEntry_rb.html +1 -1
  210. data/doc/files/lib/TableColumnDefinition_rb.html +1 -1
  211. data/doc/files/lib/TableOfContents_rb.html +1 -1
  212. data/doc/files/lib/TaskDependency_rb.html +1 -1
  213. data/doc/files/lib/TaskJuggler_rb.html +1 -1
  214. data/doc/files/lib/TaskScenario_rb.html +1 -1
  215. data/doc/files/lib/Task_rb.html +1 -1
  216. data/doc/files/lib/TextParser/Pattern_rb.html +1 -1
  217. data/doc/files/lib/TextParser/Rule_rb.html +1 -1
  218. data/doc/files/lib/TextParser/StackElement_rb.html +1 -1
  219. data/doc/files/lib/TextParser/TokenDoc_rb.html +1 -1
  220. data/doc/files/lib/TextParser_rb.html +1 -1
  221. data/doc/files/lib/TextScanner_rb.html +1 -1
  222. data/doc/files/lib/Tj3Config_rb.html +1 -1
  223. data/doc/files/lib/TjException_rb.html +1 -1
  224. data/doc/files/lib/TjTime_rb.html +1 -1
  225. data/doc/files/lib/TjpExample_rb.html +1 -1
  226. data/doc/files/lib/TjpSyntaxRules_rb.html +1 -1
  227. data/doc/files/lib/UTF8String_rb.html +1 -1
  228. data/doc/files/lib/UserManual_rb.html +1 -1
  229. data/doc/files/lib/WorkingHours_rb.html +1 -1
  230. data/doc/files/lib/XMLDocument_rb.html +1 -1
  231. data/doc/files/lib/XMLElement_rb.html +1 -1
  232. data/doc/files/lib/deep_copy_rb.html +106 -0
  233. data/doc/files/lib/ms_test_rb.html +90 -0
  234. data/doc/files/lib/reports/CSVFile_rb.html +1 -1
  235. data/doc/files/lib/reports/ColumnTable_rb.html +1 -1
  236. data/doc/files/lib/reports/GanttChart_rb.html +1 -1
  237. data/doc/files/lib/reports/GanttContainer_rb.html +1 -1
  238. data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
  239. data/doc/files/lib/reports/GanttHeader_rb.html +1 -1
  240. data/doc/files/lib/reports/GanttLine_rb.html +1 -1
  241. data/doc/files/lib/reports/GanttLoadStack_rb.html +1 -1
  242. data/doc/files/lib/reports/GanttMilestone_rb.html +1 -1
  243. data/doc/files/lib/reports/GanttRouter_rb.html +1 -1
  244. data/doc/files/lib/reports/GanttTaskBar_rb.html +1 -1
  245. data/doc/files/lib/reports/HTMLGraphics_rb.html +1 -1
  246. data/doc/files/lib/reports/{ReportElement_rb.html → Navigator_rb.html} +6 -8
  247. data/doc/files/lib/reports/ReportBase_rb.html +106 -0
  248. data/doc/files/lib/reports/ReportContext_rb.html +106 -0
  249. data/doc/files/lib/reports/ReportTableCell_rb.html +1 -1
  250. data/doc/files/lib/reports/ReportTableColumn_rb.html +1 -1
  251. data/doc/files/lib/reports/ReportTableLegend_rb.html +1 -1
  252. data/doc/files/lib/reports/ReportTableLine_rb.html +1 -1
  253. data/doc/files/lib/reports/ReportTable_rb.html +1 -1
  254. data/doc/files/lib/reports/Report_rb.html +8 -2
  255. data/doc/files/lib/reports/ResourceListRE_rb.html +2 -2
  256. data/doc/files/lib/reports/{ReportTableElement_rb.html → TableReport_rb.html} +7 -5
  257. data/doc/files/lib/reports/TaskListRE_rb.html +2 -2
  258. data/doc/files/lib/reports/TextReport_rb.html +116 -0
  259. data/doc/files/lib/reports/TjpExportRE_rb.html +2 -2
  260. data/doc/files/lib/taskjuggler3_rb.html +61 -56
  261. data/doc/files/lib/tj3man_rb.html +1 -1
  262. data/doc/fr_class_index.html +41 -3
  263. data/doc/fr_file_index.html +21 -5
  264. data/doc/fr_method_index.html +1069 -959
  265. data/examples/ContactList.html +1467 -0
  266. data/examples/Deliveries.html +485 -0
  267. data/examples/Development.html +2525 -0
  268. data/examples/Overview.html +747 -0
  269. data/examples/Resource Graph.html +616 -0
  270. data/examples/tutorial.tjp +63 -67
  271. data/lib/AttributeBase.rb +27 -31
  272. data/lib/AttributeDefinition.rb +12 -7
  273. data/lib/Attributes.rb +134 -34
  274. data/lib/Interval.rb +2 -0
  275. data/lib/Journal.rb +44 -0
  276. data/lib/{LogicalFlag.rb → KeywordArray.rb} +5 -13
  277. data/lib/KeywordDocumentation.rb +84 -47
  278. data/lib/Limits.rb +7 -5
  279. data/lib/LogicalExpression.rb +1 -1
  280. data/lib/LogicalOperation.rb +33 -0
  281. data/lib/Project.rb +313 -99
  282. data/lib/ProjectFileParser.rb +88 -11
  283. data/lib/PropertyList.rb +2 -1
  284. data/lib/PropertySet.rb +13 -4
  285. data/lib/PropertyTreeNode.rb +34 -15
  286. data/lib/Query.rb +2 -1
  287. data/lib/RTPNavigator.rb +53 -0
  288. data/lib/RTPReport.rb +62 -0
  289. data/lib/RealFormat.rb +28 -10
  290. data/lib/RichTextElement.rb +18 -12
  291. data/lib/RichTextParser.rb +1 -0
  292. data/lib/RichTextProtocolExample.rb +8 -11
  293. data/lib/RichTextProtocolHandler.rb +11 -1
  294. data/lib/RichTextScanner.rb +308 -164
  295. data/lib/RichTextSyntaxRules.rb +24 -0
  296. data/lib/TableColumnDefinition.rb +5 -1
  297. data/lib/TaskJuggler.rb +3 -2
  298. data/lib/TaskScenario.rb +123 -31
  299. data/lib/TextParser.rb +14 -3
  300. data/lib/TextScanner.rb +210 -34
  301. data/lib/Tj3Config.rb +1 -1
  302. data/lib/TjTime.rb +15 -0
  303. data/lib/TjpExample.rb +1 -1
  304. data/lib/TjpSyntaxRules.rb +674 -473
  305. data/lib/WorkingHours.rb +1 -1
  306. data/lib/XMLElement.rb +11 -3
  307. data/lib/deep_copy.rb +72 -0
  308. data/lib/ms_test.rb +27 -0
  309. data/lib/reports/ColumnTable.rb +7 -5
  310. data/lib/reports/GanttChart.rb +60 -34
  311. data/lib/reports/GanttHeader.rb +1 -1
  312. data/lib/reports/GanttRouter.rb +7 -5
  313. data/lib/reports/Navigator.rb +72 -0
  314. data/lib/reports/Report.rb +58 -73
  315. data/lib/reports/ReportBase.rb +241 -0
  316. data/lib/reports/ReportContext.rb +41 -0
  317. data/lib/reports/ReportTable.rb +7 -2
  318. data/lib/reports/ReportTableCell.rb +3 -3
  319. data/lib/reports/ResourceListRE.rb +19 -26
  320. data/lib/reports/{ReportTableElement.rb → TableReport.rb} +297 -97
  321. data/lib/reports/TaskListRE.rb +16 -24
  322. data/lib/reports/TextReport.rb +87 -0
  323. data/lib/reports/TjpExportRE.rb +55 -50
  324. data/lib/taskjuggler3.rb +6 -1
  325. data/manual/Getting_Started +57 -6
  326. data/manual/How_To_Contribute +2 -4
  327. data/manual/Intro +2 -2
  328. data/manual/Reporting_Bugs +9 -2
  329. data/manual/Rich_Text_Attributes +41 -0
  330. data/manual/Tutorial +219 -173
  331. data/tasks/test.rake +3 -0
  332. data/test/TestSuite/CSV-Reports/celltext.tjp +2 -1
  333. data/test/TestSuite/CSV-Reports/resourcereport.tjp +2 -1
  334. data/test/TestSuite/CSV-Reports/resourcereport_with_tasks.tjp +2 -1
  335. data/test/TestSuite/CSV-Reports/sortByTree.tjp +2 -1
  336. data/test/TestSuite/CSV-Reports/sortBy_duration.down.tjp +2 -1
  337. data/test/TestSuite/CSV-Reports/sortBy_effort.up.tjp +2 -1
  338. data/test/TestSuite/CSV-Reports/sortBy_plan.start.down.tjp +2 -1
  339. data/test/TestSuite/CSV-Reports/taskreport.tjp +2 -1
  340. data/test/TestSuite/CSV-Reports/taskreport_with_resources.tjp +2 -1
  341. data/test/TestSuite/HTML-Reports/depArrows.tjp +72 -0
  342. data/test/TestSuite/HTML-Reports/reference-export.html +187 -0
  343. data/test/TestSuite/HTML-Reports/reference.tjp +21 -0
  344. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -1
  345. data/test/TestSuite/Scheduler/Correct/AutomaticMilestones.tjp +3 -3
  346. data/test/TestSuite/Scheduler/Correct/Booking.tjp +3 -3
  347. data/test/TestSuite/Scheduler/Correct/Container-2.tjp +37 -0
  348. data/test/TestSuite/Scheduler/Correct/Container.tjp +40 -0
  349. data/test/TestSuite/Scheduler/Correct/Depends.tjp +9 -14
  350. data/test/TestSuite/Scheduler/Correct/Duration.tjp +2 -1
  351. data/test/TestSuite/Scheduler/Correct/InheritStartEnd.tjp +20 -29
  352. data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -13
  353. data/test/TestSuite/Scheduler/Correct/Optimize-1.tjp +6 -5
  354. data/test/TestSuite/Scheduler/Correct/Optimize-2.tjp +10 -6
  355. data/test/TestSuite/Scheduler/Correct/Optimize-3.tjp +9 -6
  356. data/test/TestSuite/Scheduler/Correct/Optimize-4.tjp +9 -6
  357. data/test/TestSuite/Scheduler/Correct/Optimize-5.tjp +13 -10
  358. data/test/TestSuite/Scheduler/Correct/Precedes.tjp +9 -14
  359. data/test/TestSuite/Scheduler/Correct/Shift.tjp +9 -8
  360. data/test/TestSuite/Scheduler/Correct/checks.tji +4 -0
  361. data/test/TestSuite/Scheduler/Errors/weak_end_dep.tjp +16 -0
  362. data/test/TestSuite/Scheduler/Errors/weak_start_dep.tjp +16 -0
  363. data/test/TestSuite/Syntax/Correct/Account.tjp +1 -1
  364. data/test/TestSuite/Syntax/Correct/AutoID.tjp +21 -0
  365. data/test/TestSuite/Syntax/Correct/AutoMacros.tjp +2 -1
  366. data/test/TestSuite/Syntax/Correct/Caption.tjp +7 -6
  367. data/test/TestSuite/Syntax/Correct/Celltext.tjp +7 -4
  368. data/test/TestSuite/Syntax/Correct/Comments.tjp +1 -1
  369. data/test/TestSuite/Syntax/Correct/CompletedWork.tji +11 -19
  370. data/test/TestSuite/Syntax/Correct/CriticalPath.tjp +4 -3
  371. data/test/TestSuite/Syntax/Correct/Export.tjp +3 -1
  372. data/test/TestSuite/Syntax/Correct/Flags.tjp +2 -1
  373. data/test/TestSuite/Syntax/Correct/HtmlTaskReport.tjp +2 -1
  374. data/test/TestSuite/Syntax/Correct/Journal.tjp +18 -0
  375. data/test/TestSuite/Syntax/Correct/LoadUnits.tjp +2 -1
  376. data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +16 -0
  377. data/test/TestSuite/Syntax/Correct/Period.tjp +2 -1
  378. data/test/TestSuite/Syntax/Correct/RawHTML.tjp +4 -2
  379. data/test/TestSuite/Syntax/Correct/Reports.tjp +4 -2
  380. data/test/TestSuite/Syntax/Correct/ResourcePrefix.tji +2 -0
  381. data/test/TestSuite/Syntax/Correct/ResourcePrefix.tjp +23 -0
  382. data/test/TestSuite/Syntax/Correct/Responsible.tjp +1 -1
  383. data/test/TestSuite/Syntax/Correct/Simple.tjp +1 -1
  384. data/test/TestSuite/Syntax/Correct/String.tjp +1 -1
  385. data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +2 -1
  386. data/test/TestSuite/Syntax/Correct/tutorial.tjp +92 -70
  387. data/test/TestSuite/Syntax/Errors/bad_comment.tjp +7 -0
  388. data/test/TestSuite/Syntax/Errors/bad_include.tjp +1 -1
  389. data/test/TestSuite/Syntax/Errors/bad_time_zone.tjp +6 -0
  390. data/test/TestSuite/Syntax/Errors/bad_timing_res.tjp +5 -0
  391. data/test/TestSuite/Syntax/Errors/chargeset_master.tjp +1 -1
  392. data/test/TestSuite/Syntax/Errors/container_attribute.tjp +1 -1
  393. data/test/TestSuite/Syntax/Errors/cost_acct_no_top.tjp +3 -2
  394. data/test/TestSuite/Syntax/Errors/cost_rev_same.tjp +1 -1
  395. data/test/TestSuite/Syntax/Errors/eof_in_istring1.tjp +5 -0
  396. data/test/TestSuite/Syntax/Errors/eof_in_istring2.tjp +5 -0
  397. data/test/TestSuite/Syntax/Errors/eof_in_istring3.tjp +6 -0
  398. data/test/TestSuite/Syntax/Errors/eof_in_istring4.tjp +6 -0
  399. data/test/TestSuite/Syntax/Errors/eof_in_istring5.tjp +6 -0
  400. data/test/TestSuite/Syntax/Errors/include_recursion.tji +1 -0
  401. data/test/TestSuite/Syntax/Errors/include_recursion.tjp +7 -0
  402. data/test/TestSuite/Syntax/Errors/junk_after_cut.tjp +6 -0
  403. data/test/TestSuite/Syntax/Errors/navigator_exists.tjp +10 -0
  404. data/test/TestSuite/Syntax/Errors/operand_unkn_flag.tjp +1 -1
  405. data/test/TestSuite/Syntax/Errors/report_end.tjp +1 -1
  406. data/test/TestSuite/Syntax/Errors/report_exists.tjp +10 -0
  407. data/test/TestSuite/Syntax/Errors/report_start.tjp +1 -1
  408. data/test/TestSuite/Syntax/Errors/rev_acct_no_top.tjp +1 -1
  409. data/test/TestSuite/Syntax/Errors/sort_direction.tjp +1 -1
  410. data/test/TestSuite/Syntax/Errors/sort_unknown_scen.tjp +1 -1
  411. data/test/TestSuite/Syntax/Errors/sorting_crit_exptd1.tjp +1 -1
  412. data/test/TestSuite/Syntax/Errors/sorting_crit_exptd2.tjp +1 -1
  413. data/test/TestSuite/Syntax/Errors/sorting_wbs.tjp +1 -1
  414. data/test/TestSuite/Syntax/Errors/too_large_timing_res.tjp +7 -0
  415. data/test/TestSuite/Syntax/Errors/unknown_scenario_idx.tjp +1 -1
  416. data/test/TestSuite/Syntax/Errors/unknown_task.tjp +1 -1
  417. data/test/all.rb +1 -16
  418. data/test/test_CSV-Reports.rb +8 -5
  419. data/test/test_Query.rb +2 -2
  420. data/test/test_RichText.rb +95 -0
  421. data/test/test_Scheduler.rb +8 -4
  422. data/test/test_Syntax.rb +8 -4
  423. data/test/test_deep_copy.rb +83 -0
  424. metadata +549 -487
  425. data/benchmarks/UTF-8-Strings.rb +0 -58
  426. data/doc/classes/TaskJuggler/ReportElement.html +0 -1070
  427. data/doc/classes/TaskJuggler/ReportTableElement.html +0 -644
  428. data/lib/reports/ReportElement.rb +0 -427
  429. data/test/TestSuite/Syntax/Correct/csvtest +0 -16
  430. data/test/TestSuite/Syntax/Errors/no_csv_suffix.tjp +0 -10
  431. data/test/TestSuite/Syntax/Errors/no_html_suffix.tjp +0 -10
  432. data/test/TestSuite/Syntax/Errors/report_redifinition.tjp +0 -10
@@ -70,8 +70,12 @@
70
70
  <td><strong>Parent:</strong></td>
71
71
  <td>
72
72
 
73
+ <a href="../Object.html">
74
+
73
75
  Object
74
76
 
77
+ </a>
78
+
75
79
  </td>
76
80
  </tr>
77
81
 
@@ -99,13 +103,13 @@ trees can be constructed with the class constructor and converted into XML.
99
103
 
100
104
  <div class="name-list">
101
105
 
102
- <a href="#M000275">&lt;&lt;</a>&nbsp;&nbsp;
106
+ <a href="#M000775">&lt;&lt;</a>&nbsp;&nbsp;
103
107
 
104
- <a href="#M000277">indentation</a>&nbsp;&nbsp;
108
+ <a href="#M000777">indentation</a>&nbsp;&nbsp;
105
109
 
106
- <a href="#M000274">new</a>&nbsp;&nbsp;
110
+ <a href="#M000774">new</a>&nbsp;&nbsp;
107
111
 
108
- <a href="#M000276">to_s</a>&nbsp;&nbsp;
112
+ <a href="#M000776">to_s</a>&nbsp;&nbsp;
109
113
 
110
114
  </div>
111
115
  </div>
@@ -144,12 +148,12 @@ trees can be constructed with the class constructor and converted into XML.
144
148
  <h3 class="section-bar">Public Class methods</h3>
145
149
 
146
150
 
147
- <div id="method-M000274" class="method-detail">
148
- <a name="M000274"></a>
151
+ <div id="method-M000774" class="method-detail">
152
+ <a name="M000774"></a>
149
153
 
150
154
  <div class="method-heading">
151
155
 
152
- <a href="#M000274" class="method-signature">
156
+ <a href="#M000774" class="method-signature">
153
157
 
154
158
  <span class="method-name">new</span><span class="method-args">(name, attributes = {})</span>
155
159
 
@@ -165,8 +169,8 @@ href="XMLElement.html">XMLElement</a> tree.
165
169
  </p>
166
170
 
167
171
  <p><a class="source-toggle" href="#"
168
- onclick="toggleCode('M000274-source');return false;">[Source]</a></p>
169
- <div class="method-source-code" id="M000274-source">
172
+ onclick="toggleCode('M000774-source');return false;">[Source]</a></p>
173
+ <div class="method-source-code" id="M000774-source">
170
174
  <pre>
171
175
  <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 24</span>
172
176
  24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">attributes</span> = {})
@@ -195,12 +199,12 @@ href="XMLElement.html">XMLElement</a> tree.
195
199
  <h3 class="section-bar">Public Instance methods</h3>
196
200
 
197
201
 
198
- <div id="method-M000275" class="method-detail">
199
- <a name="M000275"></a>
202
+ <div id="method-M000775" class="method-detail">
203
+ <a name="M000775"></a>
200
204
 
201
205
  <div class="method-heading">
202
206
 
203
- <a href="#M000275" class="method-signature">
207
+ <a href="#M000775" class="method-signature">
204
208
 
205
209
  <span class="method-name">&lt;&lt;</span><span class="method-args">(arg)</span>
206
210
 
@@ -215,8 +219,8 @@ Add a new child or a set of new childs to the element.
215
219
  </p>
216
220
 
217
221
  <p><a class="source-toggle" href="#"
218
- onclick="toggleCode('M000275-source');return false;">[Source]</a></p>
219
- <div class="method-source-code" id="M000275-source">
222
+ onclick="toggleCode('M000775-source');return false;">[Source]</a></p>
223
+ <div class="method-source-code" id="M000775-source">
220
224
  <pre>
221
225
  <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 42</span>
222
226
  42: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;&lt;</span>(<span class="ruby-identifier">arg</span>)
@@ -225,14 +229,22 @@ Add a new child or a set of new childs to the element.
225
229
  45: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">XMLElement</span>)
226
230
  46: <span class="ruby-ivar">@children</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">arg</span>
227
231
  47: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
228
- 48: <span class="ruby-ivar">@children</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">arg</span>
229
- 49: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">nil?</span>
230
- 50: <span class="ruby-comment cmt"># do nothing</span>
231
- 51: <span class="ruby-keyword kw">else</span>
232
- 52: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'Elements must be of type XMLElement'</span>
233
- 53: <span class="ruby-keyword kw">end</span>
234
- 54: <span class="ruby-keyword kw">self</span>
235
- 55: <span class="ruby-keyword kw">end</span>
232
+ 48: <span class="ruby-comment cmt"># Delete all nil entries</span>
233
+ 49: <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">i</span>.<span class="ruby-identifier">nil?</span> }
234
+ 50: <span class="ruby-comment cmt"># Check that the rest are really all XMLElement objects.</span>
235
+ 51: <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
236
+ 52: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">i</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">XMLElement</span>)
237
+ 53: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Element must be of type XMLElement not #{i.class}&quot;</span>
238
+ 54: <span class="ruby-keyword kw">end</span>
239
+ 55: <span class="ruby-keyword kw">end</span>
240
+ 56: <span class="ruby-ivar">@children</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">arg</span>
241
+ 57: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">nil?</span>
242
+ 58: <span class="ruby-comment cmt"># do nothing</span>
243
+ 59: <span class="ruby-keyword kw">else</span>
244
+ 60: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Elements must be of type XMLElement not #{arg.class}&quot;</span>
245
+ 61: <span class="ruby-keyword kw">end</span>
246
+ 62: <span class="ruby-keyword kw">self</span>
247
+ 63: <span class="ruby-keyword kw">end</span>
236
248
  </pre>
237
249
  </div>
238
250
 
@@ -240,12 +252,12 @@ Add a new child or a set of new childs to the element.
240
252
  </div>
241
253
 
242
254
 
243
- <div id="method-M000276" class="method-detail">
244
- <a name="M000276"></a>
255
+ <div id="method-M000776" class="method-detail">
256
+ <a name="M000776"></a>
245
257
 
246
258
  <div class="method-heading">
247
259
 
248
- <a href="#M000276" class="method-signature">
260
+ <a href="#M000776" class="method-signature">
249
261
 
250
262
  <span class="method-name">to_s</span><span class="method-args">(indent = 0)</span>
251
263
 
@@ -260,31 +272,31 @@ Return the element and all sub elements as properly formatted XML.
260
272
  </p>
261
273
 
262
274
  <p><a class="source-toggle" href="#"
263
- onclick="toggleCode('M000276-source');return false;">[Source]</a></p>
264
- <div class="method-source-code" id="M000276-source">
275
+ onclick="toggleCode('M000776-source');return false;">[Source]</a></p>
276
+ <div class="method-source-code" id="M000776-source">
265
277
  <pre>
266
- <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 58</span>
267
- 58: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">indent</span> = <span class="ruby-value">0</span>)
268
- 59: <span class="ruby-identifier">out</span> = <span class="ruby-value str">'&lt;'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@name</span>
269
- 60: <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrName</span>, <span class="ruby-identifier">attrValue</span><span class="ruby-operator">|</span>
270
- 61: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">' '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">attrName</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'=&quot;'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">quoteAttr</span>(<span class="ruby-identifier">attrValue</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">'&quot;'</span>
271
- 62: <span class="ruby-keyword kw">end</span>
272
- 63: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@mayNotBeEmpty</span>
273
- 64: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'/&gt;'</span>
274
- 65: <span class="ruby-keyword kw">else</span>
275
- 66: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&gt;'</span>
276
- 67: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">child</span><span class="ruby-operator">|</span>
277
- 68: <span class="ruby-comment cmt"># We only insert newlines for multiple childs and after a tag has been</span>
278
- 69: <span class="ruby-comment cmt"># closed.</span>
279
- 70: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">child</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">XMLText</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">out</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?&gt;</span>
280
- 71: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">indentation</span>(<span class="ruby-identifier">indent</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)
281
- 72: <span class="ruby-keyword kw">end</span>
282
- 73: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">child</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">indent</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)
283
- 74: <span class="ruby-keyword kw">end</span>
284
- 75: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">indentation</span>(<span class="ruby-identifier">indent</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">out</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?&gt;</span>
285
- 76: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&lt;/'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'&gt;'</span>
286
- 77: <span class="ruby-keyword kw">end</span>
287
- 78: <span class="ruby-keyword kw">end</span>
278
+ <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 66</span>
279
+ 66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">indent</span> = <span class="ruby-value">0</span>)
280
+ 67: <span class="ruby-identifier">out</span> = <span class="ruby-value str">'&lt;'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@name</span>
281
+ 68: <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrName</span><span class="ruby-operator">|</span>
282
+ 69: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{attrName}=\&quot;#{quoteAttr(@attributes[attrName])}\&quot;&quot;</span>
283
+ 70: <span class="ruby-keyword kw">end</span>
284
+ 71: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@mayNotBeEmpty</span>
285
+ 72: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'/&gt;'</span>
286
+ 73: <span class="ruby-keyword kw">else</span>
287
+ 74: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&gt;'</span>
288
+ 75: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">child</span><span class="ruby-operator">|</span>
289
+ 76: <span class="ruby-comment cmt"># We only insert newlines for multiple childs and after a tag has been</span>
290
+ 77: <span class="ruby-comment cmt"># closed.</span>
291
+ 78: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">child</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">XMLText</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">out</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?&gt;</span>
292
+ 79: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">indentation</span>(<span class="ruby-identifier">indent</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)
293
+ 80: <span class="ruby-keyword kw">end</span>
294
+ 81: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">child</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">indent</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)
295
+ 82: <span class="ruby-keyword kw">end</span>
296
+ 83: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">indentation</span>(<span class="ruby-identifier">indent</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">out</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?&gt;</span>
297
+ 84: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&lt;/'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'&gt;'</span>
298
+ 85: <span class="ruby-keyword kw">end</span>
299
+ 86: <span class="ruby-keyword kw">end</span>
288
300
  </pre>
289
301
  </div>
290
302
 
@@ -295,12 +307,12 @@ Return the element and all sub elements as properly formatted XML.
295
307
  <h3 class="section-bar">Protected Instance methods</h3>
296
308
 
297
309
 
298
- <div id="method-M000277" class="method-detail">
299
- <a name="M000277"></a>
310
+ <div id="method-M000777" class="method-detail">
311
+ <a name="M000777"></a>
300
312
 
301
313
  <div class="method-heading">
302
314
 
303
- <a href="#M000277" class="method-signature">
315
+ <a href="#M000777" class="method-signature">
304
316
 
305
317
  <span class="method-name">indentation</span><span class="method-args">(indent)</span>
306
318
 
@@ -311,13 +323,13 @@ Return the element and all sub elements as properly formatted XML.
311
323
  <div class="method-description">
312
324
 
313
325
  <p><a class="source-toggle" href="#"
314
- onclick="toggleCode('M000277-source');return false;">[Source]</a></p>
315
- <div class="method-source-code" id="M000277-source">
326
+ onclick="toggleCode('M000777-source');return false;">[Source]</a></p>
327
+ <div class="method-source-code" id="M000777-source">
316
328
  <pre>
317
- <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 82</span>
318
- 82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indentation</span>(<span class="ruby-identifier">indent</span>)
319
- 83: <span class="ruby-value str">' '</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">indent</span>
320
- 84: <span class="ruby-keyword kw">end</span>
329
+ <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 90</span>
330
+ 90: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indentation</span>(<span class="ruby-identifier">indent</span>)
331
+ 91: <span class="ruby-value str">' '</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">indent</span>
332
+ 92: <span class="ruby-keyword kw">end</span>
321
333
  </pre>
322
334
  </div>
323
335
 
@@ -106,7 +106,7 @@ the text to the <a href="XMLText.html">XMLText</a>.
106
106
 
107
107
  <div class="name-list">
108
108
 
109
- <a href="#M000280">new</a>&nbsp;&nbsp;
109
+ <a href="#M000780">new</a>&nbsp;&nbsp;
110
110
 
111
111
  </div>
112
112
  </div>
@@ -127,12 +127,12 @@ the text to the <a href="XMLText.html">XMLText</a>.
127
127
  <h3 class="section-bar">Public Class methods</h3>
128
128
 
129
129
 
130
- <div id="method-M000280" class="method-detail">
131
- <a name="M000280"></a>
130
+ <div id="method-M000780" class="method-detail">
131
+ <a name="M000780"></a>
132
132
 
133
133
  <div class="method-heading">
134
134
 
135
- <a href="#M000280" class="method-signature">
135
+ <a href="#M000780" class="method-signature">
136
136
 
137
137
  <span class="method-name">new</span><span class="method-args">(text, name, attributes = {})</span>
138
138
 
@@ -143,14 +143,14 @@ the text to the <a href="XMLText.html">XMLText</a>.
143
143
  <div class="method-description">
144
144
 
145
145
  <p><a class="source-toggle" href="#"
146
- onclick="toggleCode('M000280-source');return false;">[Source]</a></p>
147
- <div class="method-source-code" id="M000280-source">
146
+ onclick="toggleCode('M000780-source');return false;">[Source]</a></p>
147
+ <div class="method-source-code" id="M000780-source">
148
148
  <pre>
149
- <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 138</span>
150
- 138: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">attributes</span> = {})
151
- 139: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">attributes</span>)
152
- 140: <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>)
153
- 141: <span class="ruby-keyword kw">end</span>
149
+ <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 146</span>
150
+ 146: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">attributes</span> = {})
151
+ 147: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">attributes</span>)
152
+ 148: <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>)
153
+ 149: <span class="ruby-keyword kw">end</span>
154
154
  </pre>
155
155
  </div>
156
156
 
@@ -103,9 +103,9 @@ a simple text.
103
103
 
104
104
  <div class="name-list">
105
105
 
106
- <a href="#M000278">new</a>&nbsp;&nbsp;
106
+ <a href="#M000778">new</a>&nbsp;&nbsp;
107
107
 
108
- <a href="#M000279">to_s</a>&nbsp;&nbsp;
108
+ <a href="#M000779">to_s</a>&nbsp;&nbsp;
109
109
 
110
110
  </div>
111
111
  </div>
@@ -126,12 +126,12 @@ a simple text.
126
126
  <h3 class="section-bar">Public Class methods</h3>
127
127
 
128
128
 
129
- <div id="method-M000278" class="method-detail">
130
- <a name="M000278"></a>
129
+ <div id="method-M000778" class="method-detail">
130
+ <a name="M000778"></a>
131
131
 
132
132
  <div class="method-heading">
133
133
 
134
- <a href="#M000278" class="method-signature">
134
+ <a href="#M000778" class="method-signature">
135
135
 
136
136
  <span class="method-name">new</span><span class="method-args">(text)</span>
137
137
 
@@ -142,15 +142,15 @@ a simple text.
142
142
  <div class="method-description">
143
143
 
144
144
  <p><a class="source-toggle" href="#"
145
- onclick="toggleCode('M000278-source');return false;">[Source]</a></p>
146
- <div class="method-source-code" id="M000278-source">
145
+ onclick="toggleCode('M000778-source');return false;">[Source]</a></p>
146
+ <div class="method-source-code" id="M000778-source">
147
147
  <pre>
148
- <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 107</span>
149
- 107: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">text</span>)
150
- 108: <span class="ruby-keyword kw">super</span>(<span class="ruby-keyword kw">nil</span>, {})
151
- 109: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'Text may not be nil'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text</span>
152
- 110: <span class="ruby-ivar">@text</span> = <span class="ruby-identifier">text</span>
153
- 111: <span class="ruby-keyword kw">end</span>
148
+ <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 115</span>
149
+ 115: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">text</span>)
150
+ 116: <span class="ruby-keyword kw">super</span>(<span class="ruby-keyword kw">nil</span>, {})
151
+ 117: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'Text may not be nil'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text</span>
152
+ 118: <span class="ruby-ivar">@text</span> = <span class="ruby-identifier">text</span>
153
+ 119: <span class="ruby-keyword kw">end</span>
154
154
  </pre>
155
155
  </div>
156
156
 
@@ -161,12 +161,12 @@ a simple text.
161
161
  <h3 class="section-bar">Public Instance methods</h3>
162
162
 
163
163
 
164
- <div id="method-M000279" class="method-detail">
165
- <a name="M000279"></a>
164
+ <div id="method-M000779" class="method-detail">
165
+ <a name="M000779"></a>
166
166
 
167
167
  <div class="method-heading">
168
168
 
169
- <a href="#M000279" class="method-signature">
169
+ <a href="#M000779" class="method-signature">
170
170
 
171
171
  <span class="method-name">to_s</span><span class="method-args">(indent)</span>
172
172
 
@@ -177,27 +177,27 @@ a simple text.
177
177
  <div class="method-description">
178
178
 
179
179
  <p><a class="source-toggle" href="#"
180
- onclick="toggleCode('M000279-source');return false;">[Source]</a></p>
181
- <div class="method-source-code" id="M000279-source">
180
+ onclick="toggleCode('M000779-source');return false;">[Source]</a></p>
181
+ <div class="method-source-code" id="M000779-source">
182
182
  <pre>
183
- <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 113</span>
184
- 113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">indent</span>)
185
- 114: <span class="ruby-identifier">out</span> = <span class="ruby-value str">''</span>
186
- 115: <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">each_utf8_char</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
187
- 116: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">c</span>
188
- 117: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&lt;'</span>
189
- 118: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&amp;lt;'</span>
190
- 119: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&gt;'</span>
191
- 120: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&amp;gt;'</span>
192
- 121: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&amp;'</span>
193
- 122: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&amp;amp;'</span>
194
- 123: <span class="ruby-keyword kw">else</span>
195
- 124: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">c</span>
196
- 125: <span class="ruby-keyword kw">end</span>
197
- 126: <span class="ruby-keyword kw">end</span>
198
- 127:
199
- 128: <span class="ruby-identifier">out</span>
200
- 129: <span class="ruby-keyword kw">end</span>
183
+ <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 121</span>
184
+ 121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">indent</span>)
185
+ 122: <span class="ruby-identifier">out</span> = <span class="ruby-value str">''</span>
186
+ 123: <span class="ruby-ivar">@text</span>.<span class="ruby-identifier">each_utf8_char</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
187
+ 124: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">c</span>
188
+ 125: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&lt;'</span>
189
+ 126: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&amp;lt;'</span>
190
+ 127: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&gt;'</span>
191
+ 128: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&amp;gt;'</span>
192
+ 129: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&amp;'</span>
193
+ 130: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&amp;amp;'</span>
194
+ 131: <span class="ruby-keyword kw">else</span>
195
+ 132: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">c</span>
196
+ 133: <span class="ruby-keyword kw">end</span>
197
+ 134: <span class="ruby-keyword kw">end</span>
198
+ 135:
199
+ 136: <span class="ruby-identifier">out</span>
200
+ 137: <span class="ruby-keyword kw">end</span>
201
201
  </pre>
202
202
  </div>
203
203