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
 
@@ -101,19 +105,19 @@ appropriate format.
101
105
 
102
106
  <div class="name-list">
103
107
 
104
- <a href="#M000377">addColumn</a>&nbsp;&nbsp;
108
+ <a href="#M000571">addColumn</a>&nbsp;&nbsp;
105
109
 
106
- <a href="#M000378">addLine</a>&nbsp;&nbsp;
110
+ <a href="#M000572">addLine</a>&nbsp;&nbsp;
107
111
 
108
- <a href="#M000379">lines</a>&nbsp;&nbsp;
112
+ <a href="#M000573">lines</a>&nbsp;&nbsp;
109
113
 
110
- <a href="#M000380">minWidth</a>&nbsp;&nbsp;
114
+ <a href="#M000574">minWidth</a>&nbsp;&nbsp;
111
115
 
112
- <a href="#M000376">new</a>&nbsp;&nbsp;
116
+ <a href="#M000570">new</a>&nbsp;&nbsp;
113
117
 
114
- <a href="#M000382">to_csv</a>&nbsp;&nbsp;
118
+ <a href="#M000576">to_csv</a>&nbsp;&nbsp;
115
119
 
116
- <a href="#M000381">to_html</a>&nbsp;&nbsp;
120
+ <a href="#M000575">to_html</a>&nbsp;&nbsp;
117
121
 
118
122
  </div>
119
123
  </div>
@@ -124,6 +128,30 @@ appropriate format.
124
128
 
125
129
  <div id="section">
126
130
 
131
+ <div id="constants-list">
132
+ <h3 class="section-bar">Constants</h3>
133
+
134
+ <div class="name-list">
135
+ <table summary="Constants">
136
+
137
+ <tr class="top-aligned-row context-row">
138
+ <td class="context-item-name">SCROLLBARHEIGHT</td>
139
+ <td>=</td>
140
+ <td class="context-item-value">20</td>
141
+
142
+ <td>&nbsp;</td>
143
+ <td class="context-item-desc">
144
+ The height in pixels of a horizontal scrollbar on an HTML page. This value
145
+ should be large enough to work for all browsers.
146
+
147
+ </td>
148
+
149
+ </tr>
150
+
151
+ </table>
152
+ </div>
153
+ </div>
154
+
127
155
 
128
156
 
129
157
  <div id="attribute-list">
@@ -176,12 +204,12 @@ appropriate format.
176
204
  <h3 class="section-bar">Public Class methods</h3>
177
205
 
178
206
 
179
- <div id="method-M000376" class="method-detail">
180
- <a name="M000376"></a>
207
+ <div id="method-M000570" class="method-detail">
208
+ <a name="M000570"></a>
181
209
 
182
210
  <div class="method-heading">
183
211
 
184
- <a href="#M000376" class="method-signature">
212
+ <a href="#M000570" class="method-signature">
185
213
 
186
214
  <span class="method-name">new</span><span class="method-args">()</span>
187
215
 
@@ -196,23 +224,23 @@ Create a new <a href="ReportTable.html">ReportTable</a> object.
196
224
  </p>
197
225
 
198
226
  <p><a class="source-toggle" href="#"
199
- onclick="toggleCode('M000376-source');return false;">[Source]</a></p>
200
- <div class="method-source-code" id="M000376-source">
227
+ onclick="toggleCode('M000570-source');return false;">[Source]</a></p>
228
+ <div class="method-source-code" id="M000570-source">
201
229
  <pre>
202
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 28</span>
203
- 28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
204
- 29: <span class="ruby-comment cmt"># The height if the header lines in screen pixels.</span>
205
- 30: <span class="ruby-ivar">@headerLineHeight</span> = <span class="ruby-value">19</span>
206
- 31: <span class="ruby-comment cmt"># Size of the font used in the header</span>
207
- 32: <span class="ruby-ivar">@headerFontSize</span> = <span class="ruby-value">15</span>
208
- 33: <span class="ruby-comment cmt"># Array of ReportTableColumn objects.</span>
209
- 34: <span class="ruby-ivar">@columns</span> = []
210
- 35: <span class="ruby-comment cmt"># Array of ReportTableLine objects.</span>
211
- 36: <span class="ruby-ivar">@lines</span> = []
212
- 37: <span class="ruby-ivar">@maxIndent</span> = <span class="ruby-value">0</span>
213
- 38: <span class="ruby-comment cmt"># Whether or not all table lines must have same height.</span>
214
- 39: <span class="ruby-ivar">@equiLines</span> = <span class="ruby-keyword kw">false</span>
215
- 40: <span class="ruby-keyword kw">end</span>
230
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 32</span>
231
+ 32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
232
+ 33: <span class="ruby-comment cmt"># The height if the header lines in screen pixels.</span>
233
+ 34: <span class="ruby-ivar">@headerLineHeight</span> = <span class="ruby-value">19</span>
234
+ 35: <span class="ruby-comment cmt"># Size of the font used in the header</span>
235
+ 36: <span class="ruby-ivar">@headerFontSize</span> = <span class="ruby-value">15</span>
236
+ 37: <span class="ruby-comment cmt"># Array of ReportTableColumn objects.</span>
237
+ 38: <span class="ruby-ivar">@columns</span> = []
238
+ 39: <span class="ruby-comment cmt"># Array of ReportTableLine objects.</span>
239
+ 40: <span class="ruby-ivar">@lines</span> = []
240
+ 41: <span class="ruby-ivar">@maxIndent</span> = <span class="ruby-value">0</span>
241
+ 42: <span class="ruby-comment cmt"># Whether or not all table lines must have same height.</span>
242
+ 43: <span class="ruby-ivar">@equiLines</span> = <span class="ruby-keyword kw">false</span>
243
+ 44: <span class="ruby-keyword kw">end</span>
216
244
  </pre>
217
245
  </div>
218
246
 
@@ -223,12 +251,12 @@ Create a new <a href="ReportTable.html">ReportTable</a> object.
223
251
  <h3 class="section-bar">Public Instance methods</h3>
224
252
 
225
253
 
226
- <div id="method-M000377" class="method-detail">
227
- <a name="M000377"></a>
254
+ <div id="method-M000571" class="method-detail">
255
+ <a name="M000571"></a>
228
256
 
229
257
  <div class="method-heading">
230
258
 
231
- <a href="#M000377" class="method-signature">
259
+ <a href="#M000571" class="method-signature">
232
260
 
233
261
  <span class="method-name">addColumn</span><span class="method-args">(col)</span>
234
262
 
@@ -244,13 +272,13 @@ href="ReportTableColumn.html">ReportTableColumn</a> constructor.
244
272
  </p>
245
273
 
246
274
  <p><a class="source-toggle" href="#"
247
- onclick="toggleCode('M000377-source');return false;">[Source]</a></p>
248
- <div class="method-source-code" id="M000377-source">
275
+ onclick="toggleCode('M000571-source');return false;">[Source]</a></p>
276
+ <div class="method-source-code" id="M000571-source">
249
277
  <pre>
250
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 43</span>
251
- 43: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addColumn</span>(<span class="ruby-identifier">col</span>)
252
- 44: <span class="ruby-ivar">@columns</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">col</span>
253
- 45: <span class="ruby-keyword kw">end</span>
278
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 47</span>
279
+ 47: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addColumn</span>(<span class="ruby-identifier">col</span>)
280
+ 48: <span class="ruby-ivar">@columns</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">col</span>
281
+ 49: <span class="ruby-keyword kw">end</span>
254
282
  </pre>
255
283
  </div>
256
284
 
@@ -258,12 +286,12 @@ href="ReportTableColumn.html">ReportTableColumn</a> constructor.
258
286
  </div>
259
287
 
260
288
 
261
- <div id="method-M000378" class="method-detail">
262
- <a name="M000378"></a>
289
+ <div id="method-M000572" class="method-detail">
290
+ <a name="M000572"></a>
263
291
 
264
292
  <div class="method-heading">
265
293
 
266
- <a href="#M000378" class="method-signature">
294
+ <a href="#M000572" class="method-signature">
267
295
 
268
296
  <span class="method-name">addLine</span><span class="method-args">(line)</span>
269
297
 
@@ -279,13 +307,13 @@ href="ReportTableLine.html">ReportTableLine</a> constructor.
279
307
  </p>
280
308
 
281
309
  <p><a class="source-toggle" href="#"
282
- onclick="toggleCode('M000378-source');return false;">[Source]</a></p>
283
- <div class="method-source-code" id="M000378-source">
310
+ onclick="toggleCode('M000572-source');return false;">[Source]</a></p>
311
+ <div class="method-source-code" id="M000572-source">
284
312
  <pre>
285
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 48</span>
286
- 48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addLine</span>(<span class="ruby-identifier">line</span>)
287
- 49: <span class="ruby-ivar">@lines</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">line</span>
288
- 50: <span class="ruby-keyword kw">end</span>
313
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 52</span>
314
+ 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addLine</span>(<span class="ruby-identifier">line</span>)
315
+ 53: <span class="ruby-ivar">@lines</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">line</span>
316
+ 54: <span class="ruby-keyword kw">end</span>
289
317
  </pre>
290
318
  </div>
291
319
 
@@ -293,12 +321,12 @@ href="ReportTableLine.html">ReportTableLine</a> constructor.
293
321
  </div>
294
322
 
295
323
 
296
- <div id="method-M000379" class="method-detail">
297
- <a name="M000379"></a>
324
+ <div id="method-M000573" class="method-detail">
325
+ <a name="M000573"></a>
298
326
 
299
327
  <div class="method-heading">
300
328
 
301
- <a href="#M000379" class="method-signature">
329
+ <a href="#M000573" class="method-signature">
302
330
 
303
331
  <span class="method-name">lines</span><span class="method-args">()</span>
304
332
 
@@ -313,13 +341,13 @@ Return the number of registered lines for this table.
313
341
  </p>
314
342
 
315
343
  <p><a class="source-toggle" href="#"
316
- onclick="toggleCode('M000379-source');return false;">[Source]</a></p>
317
- <div class="method-source-code" id="M000379-source">
344
+ onclick="toggleCode('M000573-source');return false;">[Source]</a></p>
345
+ <div class="method-source-code" id="M000573-source">
318
346
  <pre>
319
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 53</span>
320
- 53: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lines</span>
321
- 54: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">length</span>
322
- 55: <span class="ruby-keyword kw">end</span>
347
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 57</span>
348
+ 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lines</span>
349
+ 58: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">length</span>
350
+ 59: <span class="ruby-keyword kw">end</span>
323
351
  </pre>
324
352
  </div>
325
353
 
@@ -327,12 +355,12 @@ Return the number of registered lines for this table.
327
355
  </div>
328
356
 
329
357
 
330
- <div id="method-M000380" class="method-detail">
331
- <a name="M000380"></a>
358
+ <div id="method-M000574" class="method-detail">
359
+ <a name="M000574"></a>
332
360
 
333
361
  <div class="method-heading">
334
362
 
335
- <a href="#M000380" class="method-signature">
363
+ <a href="#M000574" class="method-signature">
336
364
 
337
365
  <span class="method-name">minWidth</span><span class="method-args">()</span>
338
366
 
@@ -348,18 +376,18 @@ mininum with, nil is returned.
348
376
  </p>
349
377
 
350
378
  <p><a class="source-toggle" href="#"
351
- onclick="toggleCode('M000380-source');return false;">[Source]</a></p>
352
- <div class="method-source-code" id="M000380-source">
379
+ onclick="toggleCode('M000574-source');return false;">[Source]</a></p>
380
+ <div class="method-source-code" id="M000574-source">
353
381
  <pre>
354
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 59</span>
355
- 59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">minWidth</span>
356
- 60: <span class="ruby-identifier">width</span> = <span class="ruby-value">1</span>
357
- 61: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">column</span><span class="ruby-operator">|</span>
358
- 62: <span class="ruby-identifier">cw</span> = <span class="ruby-identifier">column</span>.<span class="ruby-identifier">minWidth</span>
359
- 63: <span class="ruby-identifier">width</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">cw</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cw</span>
360
- 64: <span class="ruby-keyword kw">end</span>
361
- 65: <span class="ruby-identifier">width</span>
362
- 66: <span class="ruby-keyword kw">end</span>
382
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 63</span>
383
+ 63: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">minWidth</span>
384
+ 64: <span class="ruby-identifier">width</span> = <span class="ruby-value">1</span>
385
+ 65: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">column</span><span class="ruby-operator">|</span>
386
+ 66: <span class="ruby-identifier">cw</span> = <span class="ruby-identifier">column</span>.<span class="ruby-identifier">minWidth</span>
387
+ 67: <span class="ruby-identifier">width</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">cw</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cw</span>
388
+ 68: <span class="ruby-keyword kw">end</span>
389
+ 69: <span class="ruby-identifier">width</span>
390
+ 70: <span class="ruby-keyword kw">end</span>
363
391
  </pre>
364
392
  </div>
365
393
 
@@ -367,12 +395,12 @@ mininum with, nil is returned.
367
395
  </div>
368
396
 
369
397
 
370
- <div id="method-M000382" class="method-detail">
371
- <a name="M000382"></a>
398
+ <div id="method-M000576" class="method-detail">
399
+ <a name="M000576"></a>
372
400
 
373
401
  <div class="method-heading">
374
402
 
375
- <a href="#M000382" class="method-signature">
403
+ <a href="#M000576" class="method-signature">
376
404
 
377
405
  <span class="method-name">to_csv</span><span class="method-args">()</span>
378
406
 
@@ -389,21 +417,21 @@ already.
389
417
  </p>
390
418
 
391
419
  <p><a class="source-toggle" href="#"
392
- onclick="toggleCode('M000382-source');return false;">[Source]</a></p>
393
- <div class="method-source-code" id="M000382-source">
420
+ onclick="toggleCode('M000576-source');return false;">[Source]</a></p>
421
+ <div class="method-source-code" id="M000576-source">
394
422
  <pre>
395
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 111</span>
396
- 111: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>()
397
- 112: <span class="ruby-identifier">csv</span> = [ [ ] ]
398
- 113: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>) }
399
- 114:
400
- 115: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
401
- 116: <span class="ruby-comment cmt"># Insert a new Array for each line.</span>
402
- 117: <span class="ruby-identifier">csv</span> <span class="ruby-operator">&lt;&lt;</span> []
403
- 118: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>)
404
- 119: <span class="ruby-keyword kw">end</span>
405
- 120: <span class="ruby-identifier">csv</span>
406
- 121: <span class="ruby-keyword kw">end</span>
423
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 116</span>
424
+ 116: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>()
425
+ 117: <span class="ruby-identifier">csv</span> = [ [ ] ]
426
+ 118: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>) }
427
+ 119:
428
+ 120: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
429
+ 121: <span class="ruby-comment cmt"># Insert a new Array for each line.</span>
430
+ 122: <span class="ruby-identifier">csv</span> <span class="ruby-operator">&lt;&lt;</span> []
431
+ 123: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>)
432
+ 124: <span class="ruby-keyword kw">end</span>
433
+ 125: <span class="ruby-identifier">csv</span>
434
+ 126: <span class="ruby-keyword kw">end</span>
407
435
  </pre>
408
436
  </div>
409
437
 
@@ -411,12 +439,12 @@ already.
411
439
  </div>
412
440
 
413
441
 
414
- <div id="method-M000381" class="method-detail">
415
- <a name="M000381"></a>
442
+ <div id="method-M000575" class="method-detail">
443
+ <a name="M000575"></a>
416
444
 
417
445
  <div class="method-heading">
418
446
 
419
- <a href="#M000381" class="method-signature">
447
+ <a href="#M000575" class="method-signature">
420
448
 
421
449
  <span class="method-name">to_html</span><span class="method-args">()</span>
422
450
 
@@ -431,49 +459,50 @@ Output the table as HTML.
431
459
  </p>
432
460
 
433
461
  <p><a class="source-toggle" href="#"
434
- onclick="toggleCode('M000381-source');return false;">[Source]</a></p>
435
- <div class="method-source-code" id="M000381-source">
462
+ onclick="toggleCode('M000575-source');return false;">[Source]</a></p>
463
+ <div class="method-source-code" id="M000575-source">
436
464
  <pre>
437
- <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 69</span>
438
- 69: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
439
- 70: <span class="ruby-identifier">determineMaxIndents</span>
440
- 71:
441
- 72: <span class="ruby-identifier">table</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'1'</span>,
442
- 73: <span class="ruby-value str">'cellpadding'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'2'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'100%'</span>,
443
- 74: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabback'</span>)
444
- 75: <span class="ruby-identifier">table</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tbody</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tbody'</span>))
445
- 76:
446
- 77: <span class="ruby-comment cmt"># Generate the 1st table header line.</span>
447
- 78: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> =
448
- 79: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabhead'</span>,
449
- 80: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;height:#{@headerLineHeight}px; &quot;</span> <span class="ruby-operator">+</span>
450
- 81: <span class="ruby-node">&quot;font-size:#{@headerFontSize}px;&quot;</span>))
451
- 82: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">to_html</span>(<span class="ruby-value">1</span>) }
452
- 83:
453
- 84: <span class="ruby-comment cmt"># Generate the 2nd table header line.</span>
454
- 85: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> =
455
- 86: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabhead'</span>,
456
- 87: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;height:#{@headerLineHeight}px; &quot;</span> <span class="ruby-operator">+</span>
457
- 88: <span class="ruby-node">&quot;font-size:#{@headerFontSize}px;&quot;</span>))
458
- 89: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">to_html</span>(<span class="ruby-value">2</span>) }
459
- 90:
460
- 91: <span class="ruby-comment cmt"># Generate the rest of the table.</span>
461
- 92: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span> <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">to_html</span> }
462
- 93:
463
- 94: <span class="ruby-comment cmt"># In case we have columns with scrollbars, we generate an extra line with</span>
464
- 95: <span class="ruby-comment cmt"># cells for all columns that don't have a scrollbar. The scrollbar must</span>
465
- 96: <span class="ruby-comment cmt"># have a height of 18 pixels or less.</span>
466
- 97: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hasScrollbar?</span>
467
- 98: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'height:18px'</span>))
468
- 99: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">column</span><span class="ruby-operator">|</span>
469
- 100: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">column</span>.<span class="ruby-identifier">scrollbar</span>
470
- 101: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>)
471
- 102: <span class="ruby-keyword kw">end</span>
472
- 103: <span class="ruby-keyword kw">end</span>
473
- 104: <span class="ruby-keyword kw">end</span>
474
- 105:
475
- 106: <span class="ruby-identifier">table</span>
476
- 107: <span class="ruby-keyword kw">end</span>
465
+ <span class="ruby-comment cmt"># File lib/reports/ReportTable.rb, line 73</span>
466
+ 73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
467
+ 74: <span class="ruby-identifier">determineMaxIndents</span>
468
+ 75:
469
+ 76: <span class="ruby-identifier">table</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'1'</span>,
470
+ 77: <span class="ruby-value str">'cellpadding'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'2'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'100%'</span>,
471
+ 78: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabback'</span>)
472
+ 79: <span class="ruby-identifier">table</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tbody</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tbody'</span>))
473
+ 80:
474
+ 81: <span class="ruby-comment cmt"># Generate the 1st table header line.</span>
475
+ 82: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> =
476
+ 83: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabhead'</span>,
477
+ 84: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;height:#{@headerLineHeight}px; &quot;</span> <span class="ruby-operator">+</span>
478
+ 85: <span class="ruby-node">&quot;font-size:#{@headerFontSize}px;&quot;</span>))
479
+ 86: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">to_html</span>(<span class="ruby-value">1</span>) }
480
+ 87:
481
+ 88: <span class="ruby-comment cmt"># Generate the 2nd table header line.</span>
482
+ 89: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> =
483
+ 90: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabhead'</span>,
484
+ 91: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;height:#{@headerLineHeight}px; &quot;</span> <span class="ruby-operator">+</span>
485
+ 92: <span class="ruby-node">&quot;font-size:#{@headerFontSize}px;&quot;</span>))
486
+ 93: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">col</span><span class="ruby-operator">|</span> <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">col</span>.<span class="ruby-identifier">to_html</span>(<span class="ruby-value">2</span>) }
487
+ 94:
488
+ 95: <span class="ruby-comment cmt"># Generate the rest of the table.</span>
489
+ 96: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span> <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">to_html</span> }
490
+ 97:
491
+ 98: <span class="ruby-comment cmt"># In case we have columns with scrollbars, we generate an extra line with</span>
492
+ 99: <span class="ruby-comment cmt"># cells for all columns that don't have a scrollbar. The scrollbar must</span>
493
+ 100: <span class="ruby-comment cmt"># have a height of SCROLLBARHEIGHT pixels or less.</span>
494
+ 101: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hasScrollbar?</span>
495
+ 102: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>,
496
+ 103: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;height:#{SCROLLBARHEIGHT}px&quot;</span>))
497
+ 104: <span class="ruby-ivar">@columns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">column</span><span class="ruby-operator">|</span>
498
+ 105: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">column</span>.<span class="ruby-identifier">scrollbar</span>
499
+ 106: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>)
500
+ 107: <span class="ruby-keyword kw">end</span>
501
+ 108: <span class="ruby-keyword kw">end</span>
502
+ 109: <span class="ruby-keyword kw">end</span>
503
+ 110:
504
+ 111: <span class="ruby-identifier">table</span>
505
+ 112: <span class="ruby-keyword kw">end</span>
477
506
  </pre>
478
507
  </div>
479
508
 
@@ -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
 
@@ -86,8 +90,8 @@
86
90
  <div id="description">
87
91
  <p>
88
92
  This class models the output format independent version of a cell in a <a
89
- href="ReportTableElement.html">ReportTableElement</a>. It belongs to a
90
- certain <a href="ReportTableLine.html">ReportTableLine</a> and <a
93
+ href="TableReport.html">TableReport</a>. It belongs to a certain <a
94
+ href="ReportTableLine.html">ReportTableLine</a> and <a
91
95
  href="ReportTableColumn.html">ReportTableColumn</a>. Normally a cell
92
96
  contains text on a colored background. By help of the @special variable it
93
97
  can alternatively contain any object the provides the necessary output
@@ -104,13 +108,13 @@ methods such as to_html.
104
108
 
105
109
  <div class="name-list">
106
110
 
107
- <a href="#M000286">==</a>&nbsp;&nbsp;
111
+ <a href="#M000655">==</a>&nbsp;&nbsp;
108
112
 
109
- <a href="#M000285">new</a>&nbsp;&nbsp;
113
+ <a href="#M000654">new</a>&nbsp;&nbsp;
110
114
 
111
- <a href="#M000288">to_csv</a>&nbsp;&nbsp;
115
+ <a href="#M000657">to_csv</a>&nbsp;&nbsp;
112
116
 
113
- <a href="#M000287">to_html</a>&nbsp;&nbsp;
117
+ <a href="#M000656">to_html</a>&nbsp;&nbsp;
114
118
 
115
119
  </div>
116
120
  </div>
@@ -269,12 +273,12 @@ methods such as to_html.
269
273
  <h3 class="section-bar">Public Class methods</h3>
270
274
 
271
275
 
272
- <div id="method-M000285" class="method-detail">
273
- <a name="M000285"></a>
276
+ <div id="method-M000654" class="method-detail">
277
+ <a name="M000654"></a>
274
278
 
275
279
  <div class="method-heading">
276
280
 
277
- <a href="#M000285" class="method-signature">
281
+ <a href="#M000654" class="method-signature">
278
282
 
279
283
  <span class="method-name">new</span><span class="method-args">(line, text = '', headerCell = false)</span>
280
284
 
@@ -294,8 +298,8 @@ cells.
294
298
  </p>
295
299
 
296
300
  <p><a class="source-toggle" href="#"
297
- onclick="toggleCode('M000285-source');return false;">[Source]</a></p>
298
- <div class="method-source-code" id="M000285-source">
301
+ onclick="toggleCode('M000654-source');return false;">[Source]</a></p>
302
+ <div class="method-source-code" id="M000654-source">
299
303
  <pre>
300
304
  <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 31</span>
301
305
  31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">text</span> = <span class="ruby-value str">''</span>, <span class="ruby-identifier">headerCell</span> = <span class="ruby-keyword kw">false</span>)
@@ -337,12 +341,12 @@ cells.
337
341
  <h3 class="section-bar">Public Instance methods</h3>
338
342
 
339
343
 
340
- <div id="method-M000286" class="method-detail">
341
- <a name="M000286"></a>
344
+ <div id="method-M000655" class="method-detail">
345
+ <a name="M000655"></a>
342
346
 
343
347
  <div class="method-heading">
344
348
 
345
- <a href="#M000286" class="method-signature">
349
+ <a href="#M000655" class="method-signature">
346
350
 
347
351
  <span class="method-name">==</span><span class="method-args">(c)</span>
348
352
 
@@ -359,8 +363,8 @@ cell with.
359
363
  </p>
360
364
 
361
365
  <p><a class="source-toggle" href="#"
362
- onclick="toggleCode('M000286-source');return false;">[Source]</a></p>
363
- <div class="method-source-code" id="M000286-source">
366
+ onclick="toggleCode('M000655-source');return false;">[Source]</a></p>
367
+ <div class="method-source-code" id="M000655-source">
364
368
  <pre>
365
369
  <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 64</span>
366
370
  64: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">c</span>)
@@ -377,12 +381,12 @@ cell with.
377
381
  </div>
378
382
 
379
383
 
380
- <div id="method-M000288" class="method-detail">
381
- <a name="M000288"></a>
384
+ <div id="method-M000657" class="method-detail">
385
+ <a name="M000657"></a>
382
386
 
383
387
  <div class="method-heading">
384
388
 
385
- <a href="#M000288" class="method-signature">
389
+ <a href="#M000657" class="method-signature">
386
390
 
387
391
  <span class="method-name">to_csv</span><span class="method-args">(csv)</span>
388
392
 
@@ -397,8 +401,8 @@ Add the text content of the cell to an Array of Arrays form of the table.
397
401
  </p>
398
402
 
399
403
  <p><a class="source-toggle" href="#"
400
- onclick="toggleCode('M000288-source');return false;">[Source]</a></p>
401
- <div class="method-source-code" id="M000288-source">
404
+ onclick="toggleCode('M000657-source');return false;">[Source]</a></p>
405
+ <div class="method-source-code" id="M000657-source">
402
406
  <pre>
403
407
  <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 126</span>
404
408
  126: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>)
@@ -420,12 +424,12 @@ Add the text content of the cell to an Array of Arrays form of the table.
420
424
  </div>
421
425
 
422
426
 
423
- <div id="method-M000287" class="method-detail">
424
- <a name="M000287"></a>
427
+ <div id="method-M000656" class="method-detail">
428
+ <a name="M000656"></a>
425
429
 
426
430
  <div class="method-heading">
427
431
 
428
- <a href="#M000287" class="method-signature">
432
+ <a href="#M000656" class="method-signature">
429
433
 
430
434
  <span class="method-name">to_html</span><span class="method-args">()</span>
431
435
 
@@ -440,8 +444,8 @@ Turn the abstract cell representation into an HTML element tree.
440
444
  </p>
441
445
 
442
446
  <p><a class="source-toggle" href="#"
443
- onclick="toggleCode('M000287-source');return false;">[Source]</a></p>
444
- <div class="method-source-code" id="M000287-source">
447
+ onclick="toggleCode('M000656-source');return false;">[Source]</a></p>
448
+ <div class="method-source-code" id="M000656-source">
445
449
  <pre>
446
450
  <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 73</span>
447
451
  73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>