taskjuggler 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (571) hide show
  1. data/COPYING +280 -0
  2. data/README +31 -0
  3. data/Rakefile +20 -0
  4. data/benchmarks/UTF-8-Strings.rb +58 -0
  5. data/benchmarks/allocate.tjp +30 -0
  6. data/benchmarks/booking.tjp +62 -0
  7. data/benchmarks/depends.tjp +112 -0
  8. data/benchmarks/htmltaskreport.tjp +45 -0
  9. data/benchmarks/runbench.rb +24 -0
  10. data/bin/tj3 +3 -0
  11. data/bin/tj3man +3 -0
  12. data/doc/classes/AppConfig.html +808 -0
  13. data/doc/classes/Arguments.html +226 -0
  14. data/doc/classes/String.html +395 -0
  15. data/doc/classes/TaskJuggler.html +1358 -0
  16. data/doc/classes/TaskJuggler/Account.html +257 -0
  17. data/doc/classes/TaskJuggler/AccountScenario.html +218 -0
  18. data/doc/classes/TaskJuggler/Allocation.html +419 -0
  19. data/doc/classes/TaskJuggler/AllocationAttribute.html +291 -0
  20. data/doc/classes/TaskJuggler/AttributeBase.html +608 -0
  21. data/doc/classes/TaskJuggler/AttributeDefinition.html +259 -0
  22. data/doc/classes/TaskJuggler/Booking.html +307 -0
  23. data/doc/classes/TaskJuggler/BookingListAttribute.html +263 -0
  24. data/doc/classes/TaskJuggler/BooleanAttribute.html +261 -0
  25. data/doc/classes/TaskJuggler/CSVFile.html +325 -0
  26. data/doc/classes/TaskJuggler/Charge.html +279 -0
  27. data/doc/classes/TaskJuggler/ChargeListAttribute.html +229 -0
  28. data/doc/classes/TaskJuggler/ChargeSet.html +440 -0
  29. data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +276 -0
  30. data/doc/classes/TaskJuggler/ColumnTable.html +260 -0
  31. data/doc/classes/TaskJuggler/DateAttribute.html +194 -0
  32. data/doc/classes/TaskJuggler/DependencyListAttribute.html +267 -0
  33. data/doc/classes/TaskJuggler/DurationAttribute.html +229 -0
  34. data/doc/classes/TaskJuggler/FixnumAttribute.html +194 -0
  35. data/doc/classes/TaskJuggler/FlagListAttribute.html +263 -0
  36. data/doc/classes/TaskJuggler/FloatAttribute.html +229 -0
  37. data/doc/classes/TaskJuggler/GanttChart.html +667 -0
  38. data/doc/classes/TaskJuggler/GanttContainer.html +441 -0
  39. data/doc/classes/TaskJuggler/GanttHeader.html +280 -0
  40. data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +245 -0
  41. data/doc/classes/TaskJuggler/GanttLine.html +398 -0
  42. data/doc/classes/TaskJuggler/GanttLoadStack.html +327 -0
  43. data/doc/classes/TaskJuggler/GanttMilestone.html +415 -0
  44. data/doc/classes/TaskJuggler/GanttRouter.html +425 -0
  45. data/doc/classes/TaskJuggler/GanttTaskBar.html +429 -0
  46. data/doc/classes/TaskJuggler/HTMLDocument.html +240 -0
  47. data/doc/classes/TaskJuggler/HTMLGraphics.html +231 -0
  48. data/doc/classes/TaskJuggler/Interval.html +552 -0
  49. data/doc/classes/TaskJuggler/IntervalListAttribute.html +267 -0
  50. data/doc/classes/TaskJuggler/KeywordDocumentation.html +796 -0
  51. data/doc/classes/TaskJuggler/Limits.html +416 -0
  52. data/doc/classes/TaskJuggler/Limits/Limit.html +381 -0
  53. data/doc/classes/TaskJuggler/LimitsAttribute.html +261 -0
  54. data/doc/classes/TaskJuggler/Log.html +613 -0
  55. data/doc/classes/TaskJuggler/LogicalAttribute.html +226 -0
  56. data/doc/classes/TaskJuggler/LogicalExpression.html +251 -0
  57. data/doc/classes/TaskJuggler/LogicalFlag.html +229 -0
  58. data/doc/classes/TaskJuggler/LogicalFunction.html +324 -0
  59. data/doc/classes/TaskJuggler/LogicalOperation.html +299 -0
  60. data/doc/classes/TaskJuggler/Macro.html +194 -0
  61. data/doc/classes/TaskJuggler/MacroParser.html +360 -0
  62. data/doc/classes/TaskJuggler/MacroTable.html +366 -0
  63. data/doc/classes/TaskJuggler/Message.html +281 -0
  64. data/doc/classes/TaskJuggler/MessageHandler.html +215 -0
  65. data/doc/classes/TaskJuggler/Project.html +1606 -0
  66. data/doc/classes/TaskJuggler/ProjectFileParser.html +412 -0
  67. data/doc/classes/TaskJuggler/PropertyList.html +597 -0
  68. data/doc/classes/TaskJuggler/PropertySet.html +1200 -0
  69. data/doc/classes/TaskJuggler/PropertyTreeNode.html +1449 -0
  70. data/doc/classes/TaskJuggler/Query.html +600 -0
  71. data/doc/classes/TaskJuggler/RealFormat.html +252 -0
  72. data/doc/classes/TaskJuggler/ReferenceAttribute.html +194 -0
  73. data/doc/classes/TaskJuggler/Report.html +528 -0
  74. data/doc/classes/TaskJuggler/ReportElement.html +1070 -0
  75. data/doc/classes/TaskJuggler/ReportTable.html +497 -0
  76. data/doc/classes/TaskJuggler/ReportTableCell.html +518 -0
  77. data/doc/classes/TaskJuggler/ReportTableColumn.html +364 -0
  78. data/doc/classes/TaskJuggler/ReportTableElement.html +644 -0
  79. data/doc/classes/TaskJuggler/ReportTableLegend.html +343 -0
  80. data/doc/classes/TaskJuggler/ReportTableLine.html +431 -0
  81. data/doc/classes/TaskJuggler/Resource.html +211 -0
  82. data/doc/classes/TaskJuggler/ResourceListAttribute.html +267 -0
  83. data/doc/classes/TaskJuggler/ResourceListRE.html +249 -0
  84. data/doc/classes/TaskJuggler/ResourceScenario.html +1137 -0
  85. data/doc/classes/TaskJuggler/RichText.html +537 -0
  86. data/doc/classes/TaskJuggler/RichTextAttribute.html +229 -0
  87. data/doc/classes/TaskJuggler/RichTextDocument.html +418 -0
  88. data/doc/classes/TaskJuggler/RichTextElement.html +829 -0
  89. data/doc/classes/TaskJuggler/RichTextException.html +212 -0
  90. data/doc/classes/TaskJuggler/RichTextParser.html +317 -0
  91. data/doc/classes/TaskJuggler/RichTextProtocolExample.html +303 -0
  92. data/doc/classes/TaskJuggler/RichTextProtocolHandler.html +194 -0
  93. data/doc/classes/TaskJuggler/RichTextScanner.html +561 -0
  94. data/doc/classes/TaskJuggler/RichTextSnip.html +364 -0
  95. data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +883 -0
  96. data/doc/classes/TaskJuggler/Scenario.html +163 -0
  97. data/doc/classes/TaskJuggler/ScenarioData.html +354 -0
  98. data/doc/classes/TaskJuggler/Scoreboard.html +638 -0
  99. data/doc/classes/TaskJuggler/Shift.html +255 -0
  100. data/doc/classes/TaskJuggler/ShiftAssignment.html +488 -0
  101. data/doc/classes/TaskJuggler/ShiftAssignments.html +715 -0
  102. data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +261 -0
  103. data/doc/classes/TaskJuggler/ShiftScenario.html +282 -0
  104. data/doc/classes/TaskJuggler/SourceFileInfo.html +247 -0
  105. data/doc/classes/TaskJuggler/StringAttribute.html +229 -0
  106. data/doc/classes/TaskJuggler/SymbolAttribute.html +194 -0
  107. data/doc/classes/TaskJuggler/SyntaxReference.html +516 -0
  108. data/doc/classes/TaskJuggler/TOCEntry.html +242 -0
  109. data/doc/classes/TaskJuggler/TableColumnDefinition.html +273 -0
  110. data/doc/classes/TaskJuggler/TableOfContents.html +256 -0
  111. data/doc/classes/TaskJuggler/Task.html +203 -0
  112. data/doc/classes/TaskJuggler/TaskDependency.html +251 -0
  113. data/doc/classes/TaskJuggler/TaskListAttribute.html +267 -0
  114. data/doc/classes/TaskJuggler/TaskListRE.html +250 -0
  115. data/doc/classes/TaskJuggler/TaskScenario.html +2206 -0
  116. data/doc/classes/TaskJuggler/TextParser.html +670 -0
  117. data/doc/classes/TaskJuggler/TextParser/Pattern.html +923 -0
  118. data/doc/classes/TaskJuggler/TextParser/Rule.html +779 -0
  119. data/doc/classes/TaskJuggler/TextParser/StackElement.html +267 -0
  120. data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +212 -0
  121. data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +221 -0
  122. data/doc/classes/TaskJuggler/TextScanner.html +708 -0
  123. data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +355 -0
  124. data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +341 -0
  125. data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +260 -0
  126. data/doc/classes/TaskJuggler/TjException.html +185 -0
  127. data/doc/classes/TaskJuggler/TjTime.html +1845 -0
  128. data/doc/classes/TaskJuggler/TjpExample.html +310 -0
  129. data/doc/classes/TaskJuggler/TjpExportRE.html +329 -0
  130. data/doc/classes/TaskJuggler/TjpSyntaxRules.html +8928 -0
  131. data/doc/classes/TaskJuggler/UserManual.html +606 -0
  132. data/doc/classes/TaskJuggler/WorkingHours.html +582 -0
  133. data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +284 -0
  134. data/doc/classes/TaskJuggler/XMLBlob.html +207 -0
  135. data/doc/classes/TaskJuggler/XMLComment.html +206 -0
  136. data/doc/classes/TaskJuggler/XMLDocument.html +293 -0
  137. data/doc/classes/TaskJuggler/XMLElement.html +341 -0
  138. data/doc/classes/TaskJuggler/XMLNamedText.html +174 -0
  139. data/doc/classes/TaskJuggler/XMLText.html +221 -0
  140. data/doc/files/COPYING.html +448 -0
  141. data/doc/files/README.html +134 -0
  142. data/doc/files/lib/AccountScenario_rb.html +116 -0
  143. data/doc/files/lib/Account_rb.html +118 -0
  144. data/doc/files/lib/Allocation_rb.html +118 -0
  145. data/doc/files/lib/AppConfig_rb.html +116 -0
  146. data/doc/files/lib/AttributeBase_rb.html +106 -0
  147. data/doc/files/lib/AttributeDefinition_rb.html +106 -0
  148. data/doc/files/lib/Attributes_rb.html +130 -0
  149. data/doc/files/lib/Booking_rb.html +106 -0
  150. data/doc/files/lib/ChargeSet_rb.html +116 -0
  151. data/doc/files/lib/Charge_rb.html +116 -0
  152. data/doc/files/lib/HTMLDocument_rb.html +116 -0
  153. data/doc/files/lib/Interval_rb.html +116 -0
  154. data/doc/files/lib/KeywordDocumentation_rb.html +122 -0
  155. data/doc/files/lib/Limits_rb.html +116 -0
  156. data/doc/files/lib/Log_rb.html +116 -0
  157. data/doc/files/lib/LogicalExpression_rb.html +122 -0
  158. data/doc/files/lib/LogicalFlag_rb.html +116 -0
  159. data/doc/files/lib/LogicalFunction_rb.html +116 -0
  160. data/doc/files/lib/LogicalOperation_rb.html +116 -0
  161. data/doc/files/lib/MacroParser_rb.html +118 -0
  162. data/doc/files/lib/MacroTable_rb.html +122 -0
  163. data/doc/files/lib/MessageHandler_rb.html +106 -0
  164. data/doc/files/lib/Message_rb.html +116 -0
  165. data/doc/files/lib/ProjectFileParser_rb.html +122 -0
  166. data/doc/files/lib/Project_rb.html +148 -0
  167. data/doc/files/lib/PropertyList_rb.html +106 -0
  168. data/doc/files/lib/PropertySet_rb.html +118 -0
  169. data/doc/files/lib/PropertyTreeNode_rb.html +106 -0
  170. data/doc/files/lib/Query_rb.html +116 -0
  171. data/doc/files/lib/RealFormat_rb.html +106 -0
  172. data/doc/files/lib/ResourceScenario_rb.html +116 -0
  173. data/doc/files/lib/Resource_rb.html +118 -0
  174. data/doc/files/lib/RichTextDocument_rb.html +120 -0
  175. data/doc/files/lib/RichTextElement_rb.html +120 -0
  176. data/doc/files/lib/RichTextParser_rb.html +120 -0
  177. data/doc/files/lib/RichTextProtocolExample_rb.html +120 -0
  178. data/doc/files/lib/RichTextProtocolHandler_rb.html +106 -0
  179. data/doc/files/lib/RichTextScanner_rb.html +116 -0
  180. data/doc/files/lib/RichTextSnip_rb.html +118 -0
  181. data/doc/files/lib/RichTextSyntaxRules_rb.html +106 -0
  182. data/doc/files/lib/RichText_rb.html +118 -0
  183. data/doc/files/lib/ScenarioData_rb.html +118 -0
  184. data/doc/files/lib/Scenario_rb.html +116 -0
  185. data/doc/files/lib/Scoreboard_rb.html +106 -0
  186. data/doc/files/lib/ShiftAssignments_rb.html +116 -0
  187. data/doc/files/lib/ShiftScenario_rb.html +116 -0
  188. data/doc/files/lib/Shift_rb.html +118 -0
  189. data/doc/files/lib/SourceFileInfo_rb.html +106 -0
  190. data/doc/files/lib/SyntaxReference_rb.html +122 -0
  191. data/doc/files/lib/TOCEntry_rb.html +118 -0
  192. data/doc/files/lib/TableColumnDefinition_rb.html +106 -0
  193. data/doc/files/lib/TableOfContents_rb.html +118 -0
  194. data/doc/files/lib/TaskDependency_rb.html +106 -0
  195. data/doc/files/lib/TaskJuggler_rb.html +120 -0
  196. data/doc/files/lib/TaskScenario_rb.html +116 -0
  197. data/doc/files/lib/Task_rb.html +118 -0
  198. data/doc/files/lib/TextParser/Pattern_rb.html +116 -0
  199. data/doc/files/lib/TextParser/Rule_rb.html +106 -0
  200. data/doc/files/lib/TextParser/StackElement_rb.html +106 -0
  201. data/doc/files/lib/TextParser/TokenDoc_rb.html +106 -0
  202. data/doc/files/lib/TextParser_rb.html +124 -0
  203. data/doc/files/lib/TextScanner_rb.html +128 -0
  204. data/doc/files/lib/Tj3Config_rb.html +118 -0
  205. data/doc/files/lib/TjException_rb.html +106 -0
  206. data/doc/files/lib/TjTime_rb.html +118 -0
  207. data/doc/files/lib/TjpExample_rb.html +116 -0
  208. data/doc/files/lib/TjpSyntaxRules_rb.html +106 -0
  209. data/doc/files/lib/UTF8String_rb.html +132 -0
  210. data/doc/files/lib/UserManual_rb.html +124 -0
  211. data/doc/files/lib/WorkingHours_rb.html +116 -0
  212. data/doc/files/lib/XMLDocument_rb.html +116 -0
  213. data/doc/files/lib/XMLElement_rb.html +116 -0
  214. data/doc/files/lib/reports/CSVFile_rb.html +116 -0
  215. data/doc/files/lib/reports/ColumnTable_rb.html +116 -0
  216. data/doc/files/lib/reports/GanttChart_rb.html +122 -0
  217. data/doc/files/lib/reports/GanttContainer_rb.html +116 -0
  218. data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +106 -0
  219. data/doc/files/lib/reports/GanttHeader_rb.html +116 -0
  220. data/doc/files/lib/reports/GanttLine_rb.html +126 -0
  221. data/doc/files/lib/reports/GanttLoadStack_rb.html +116 -0
  222. data/doc/files/lib/reports/GanttMilestone_rb.html +116 -0
  223. data/doc/files/lib/reports/GanttRouter_rb.html +106 -0
  224. data/doc/files/lib/reports/GanttTaskBar_rb.html +116 -0
  225. data/doc/files/lib/reports/HTMLGraphics_rb.html +106 -0
  226. data/doc/files/lib/reports/ReportElement_rb.html +118 -0
  227. data/doc/files/lib/reports/ReportTableCell_rb.html +106 -0
  228. data/doc/files/lib/reports/ReportTableColumn_rb.html +106 -0
  229. data/doc/files/lib/reports/ReportTableElement_rb.html +122 -0
  230. data/doc/files/lib/reports/ReportTableLegend_rb.html +106 -0
  231. data/doc/files/lib/reports/ReportTableLine_rb.html +116 -0
  232. data/doc/files/lib/reports/ReportTable_rb.html +118 -0
  233. data/doc/files/lib/reports/Report_rb.html +126 -0
  234. data/doc/files/lib/reports/ResourceListRE_rb.html +122 -0
  235. data/doc/files/lib/reports/TaskListRE_rb.html +122 -0
  236. data/doc/files/lib/reports/TjpExportRE_rb.html +116 -0
  237. data/doc/files/lib/taskjuggler3_rb.html +276 -0
  238. data/doc/files/lib/tj3man_rb.html +189 -0
  239. data/doc/fr_class_index.html +285 -0
  240. data/doc/fr_file_index.html +223 -0
  241. data/doc/fr_method_index.html +1953 -0
  242. data/doc/index.html +21 -0
  243. data/doc/rdoc-style.css +299 -0
  244. data/examples/tutorial.tjp +361 -0
  245. data/gem_spec.rb +30 -0
  246. data/lib/Account.rb +50 -0
  247. data/lib/AccountScenario.rb +39 -0
  248. data/lib/Allocation.rb +102 -0
  249. data/lib/AppConfig.rb +134 -0
  250. data/lib/AttributeBase.rb +131 -0
  251. data/lib/AttributeDefinition.rb +47 -0
  252. data/lib/Attributes.rb +478 -0
  253. data/lib/BatchProcessor.rb +209 -0
  254. data/lib/Booking.rb +59 -0
  255. data/lib/Charge.rb +71 -0
  256. data/lib/ChargeSet.rb +126 -0
  257. data/lib/HTMLDocument.rb +59 -0
  258. data/lib/Interval.rb +127 -0
  259. data/lib/KeywordDocumentation.rb +560 -0
  260. data/lib/Limits.rb +219 -0
  261. data/lib/Log.rb +160 -0
  262. data/lib/LogicalExpression.rb +71 -0
  263. data/lib/LogicalFlag.rb +34 -0
  264. data/lib/LogicalFunction.rb +102 -0
  265. data/lib/LogicalOperation.rb +118 -0
  266. data/lib/MacroParser.rb +77 -0
  267. data/lib/MacroTable.rb +84 -0
  268. data/lib/Message.rb +56 -0
  269. data/lib/MessageHandler.rb +34 -0
  270. data/lib/Project.rb +662 -0
  271. data/lib/ProjectFileParser.rb +333 -0
  272. data/lib/PropertyList.rb +181 -0
  273. data/lib/PropertySet.rb +304 -0
  274. data/lib/PropertyTreeNode.rb +461 -0
  275. data/lib/Query.rb +227 -0
  276. data/lib/RealFormat.rb +73 -0
  277. data/lib/Resource.rb +42 -0
  278. data/lib/ResourceScenario.rb +511 -0
  279. data/lib/RichText.rb +147 -0
  280. data/lib/RichTextDocument.rb +139 -0
  281. data/lib/RichTextElement.rb +391 -0
  282. data/lib/RichTextParser.rb +66 -0
  283. data/lib/RichTextProtocolExample.rb +65 -0
  284. data/lib/RichTextProtocolHandler.rb +35 -0
  285. data/lib/RichTextScanner.rb +390 -0
  286. data/lib/RichTextSnip.rb +104 -0
  287. data/lib/RichTextSyntaxRules.rb +265 -0
  288. data/lib/Scenario.rb +27 -0
  289. data/lib/ScenarioData.rb +65 -0
  290. data/lib/Scoreboard.rb +141 -0
  291. data/lib/Shift.rb +48 -0
  292. data/lib/ShiftAssignments.rb +291 -0
  293. data/lib/ShiftScenario.rb +46 -0
  294. data/lib/SourceFileInfo.rb +37 -0
  295. data/lib/SyntaxReference.rb +284 -0
  296. data/lib/TOCEntry.rb +76 -0
  297. data/lib/TableColumnDefinition.rb +54 -0
  298. data/lib/TableOfContents.rb +46 -0
  299. data/lib/Task.rb +37 -0
  300. data/lib/TaskDependency.rb +39 -0
  301. data/lib/TaskJuggler.rb +84 -0
  302. data/lib/TaskScenario.rb +1622 -0
  303. data/lib/TextParser.rb +416 -0
  304. data/lib/TextParser/Pattern.rb +263 -0
  305. data/lib/TextParser/Rule.rb +171 -0
  306. data/lib/TextParser/StackElement.rb +45 -0
  307. data/lib/TextParser/TokenDoc.rb +38 -0
  308. data/lib/TextScanner.rb +682 -0
  309. data/lib/Tj3Config.rb +27 -0
  310. data/lib/TjException.rb +27 -0
  311. data/lib/TjTime.rb +395 -0
  312. data/lib/TjpExample.rb +119 -0
  313. data/lib/TjpSyntaxRules.rb +4022 -0
  314. data/lib/UTF8String.rb +100 -0
  315. data/lib/UserManual.rb +282 -0
  316. data/lib/WorkingHours.rb +323 -0
  317. data/lib/XMLDocument.rb +54 -0
  318. data/lib/XMLElement.rb +175 -0
  319. data/lib/reports/CSVFile.rb +146 -0
  320. data/lib/reports/ColumnTable.rb +66 -0
  321. data/lib/reports/GanttChart.rb +308 -0
  322. data/lib/reports/GanttContainer.rb +107 -0
  323. data/lib/reports/GanttHeader.rb +141 -0
  324. data/lib/reports/GanttHeaderScaleItem.rb +42 -0
  325. data/lib/reports/GanttLine.rb +329 -0
  326. data/lib/reports/GanttLoadStack.rb +113 -0
  327. data/lib/reports/GanttMilestone.rb +80 -0
  328. data/lib/reports/GanttRouter.rb +375 -0
  329. data/lib/reports/GanttTaskBar.rb +95 -0
  330. data/lib/reports/HTMLGraphics.rb +65 -0
  331. data/lib/reports/Report.rb +344 -0
  332. data/lib/reports/ReportElement.rb +427 -0
  333. data/lib/reports/ReportTable.rb +144 -0
  334. data/lib/reports/ReportTableCell.rb +142 -0
  335. data/lib/reports/ReportTableColumn.rb +82 -0
  336. data/lib/reports/ReportTableElement.rb +852 -0
  337. data/lib/reports/ReportTableLegend.rb +167 -0
  338. data/lib/reports/ReportTableLine.rb +87 -0
  339. data/lib/reports/ResourceListRE.rb +72 -0
  340. data/lib/reports/TaskListRE.rb +73 -0
  341. data/lib/reports/TjpExportRE.rb +394 -0
  342. data/lib/taskjuggler3.rb +106 -0
  343. data/lib/tj3man.rb +88 -0
  344. data/manual/Day_To_Day_Juggling +168 -0
  345. data/manual/Getting_Started +61 -0
  346. data/manual/How_To_Contribute +185 -0
  347. data/manual/Installation +68 -0
  348. data/manual/Intro +102 -0
  349. data/manual/Reporting_Bugs +26 -0
  350. data/manual/Rich_Text_Attributes +90 -0
  351. data/manual/TaskJuggler_2x_Migration +40 -0
  352. data/manual/Tutorial +579 -0
  353. data/manual/fdl +450 -0
  354. data/prj_cfg.rb +43 -0
  355. data/setup.rb +1585 -0
  356. data/tasks/csts.rake +72 -0
  357. data/tasks/gem.rake +14 -0
  358. data/tasks/manual.rake +10 -0
  359. data/tasks/missing.rake +21 -0
  360. data/tasks/rcov.rake +14 -0
  361. data/tasks/rdoc.rake +17 -0
  362. data/tasks/rexml_fix.rb +16 -0
  363. data/tasks/rexml_fix_19.rb +49 -0
  364. data/tasks/show.rake +21 -0
  365. data/tasks/stats.rake +25 -0
  366. data/tasks/test.rake +11 -0
  367. data/test/MessageChecker.rb +53 -0
  368. data/test/TestSuite/CSV-Reports/celltext-Reference.csv +14 -0
  369. data/test/TestSuite/CSV-Reports/celltext.tjp +7 -0
  370. data/test/TestSuite/CSV-Reports/genrefs +6 -0
  371. data/test/TestSuite/CSV-Reports/project-1.tji +57 -0
  372. data/test/TestSuite/CSV-Reports/resourcereport-Reference.csv +4 -0
  373. data/test/TestSuite/CSV-Reports/resourcereport.tjp +10 -0
  374. data/test/TestSuite/CSV-Reports/resourcereport_with_tasks-Reference.csv +22 -0
  375. data/test/TestSuite/CSV-Reports/resourcereport_with_tasks.tjp +11 -0
  376. data/test/TestSuite/CSV-Reports/sortByTree-Reference.csv +14 -0
  377. data/test/TestSuite/CSV-Reports/sortByTree.tjp +8 -0
  378. data/test/TestSuite/CSV-Reports/sortBy_duration.down-Reference.csv +14 -0
  379. data/test/TestSuite/CSV-Reports/sortBy_duration.down.tjp +10 -0
  380. data/test/TestSuite/CSV-Reports/sortBy_effort.up-Reference.csv +14 -0
  381. data/test/TestSuite/CSV-Reports/sortBy_effort.up.tjp +10 -0
  382. data/test/TestSuite/CSV-Reports/sortBy_plan.start.down-Reference.csv +14 -0
  383. data/test/TestSuite/CSV-Reports/sortBy_plan.start.down.tjp +10 -0
  384. data/test/TestSuite/CSV-Reports/taskreport-Reference.csv +14 -0
  385. data/test/TestSuite/CSV-Reports/taskreport.tjp +10 -0
  386. data/test/TestSuite/CSV-Reports/taskreport_with_resources-Reference.csv +24 -0
  387. data/test/TestSuite/CSV-Reports/taskreport_with_resources.tjp +11 -0
  388. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +86 -0
  389. data/test/TestSuite/Scheduler/Correct/AutomaticMilestones.tjp +63 -0
  390. data/test/TestSuite/Scheduler/Correct/Booking.tjp +161 -0
  391. data/test/TestSuite/Scheduler/Correct/Depends.tjp +50 -0
  392. data/test/TestSuite/Scheduler/Correct/Duration.tjp +34 -0
  393. data/test/TestSuite/Scheduler/Correct/InheritStartEnd.tjp +129 -0
  394. data/test/TestSuite/Scheduler/Correct/Limits.tjp +81 -0
  395. data/test/TestSuite/Scheduler/Correct/MultipleMandatories.tjp +43 -0
  396. data/test/TestSuite/Scheduler/Correct/Optimize-1.tjp +28 -0
  397. data/test/TestSuite/Scheduler/Correct/Optimize-2.tjp +33 -0
  398. data/test/TestSuite/Scheduler/Correct/Optimize-3.tjp +33 -0
  399. data/test/TestSuite/Scheduler/Correct/Optimize-4.tjp +34 -0
  400. data/test/TestSuite/Scheduler/Correct/Optimize-5.tjp +62 -0
  401. data/test/TestSuite/Scheduler/Correct/Precedes.tjp +50 -0
  402. data/test/TestSuite/Scheduler/Correct/Shift.tjp +102 -0
  403. data/test/TestSuite/Scheduler/Errors/account_no_leaf.tjp +13 -0
  404. data/test/TestSuite/Scheduler/Errors/booking_conflict.tjp +10 -0
  405. data/test/TestSuite/Scheduler/Errors/booking_no_duty.tjp +9 -0
  406. data/test/TestSuite/Scheduler/Errors/booking_on_vacation.tjp +9 -0
  407. data/test/TestSuite/Scheduler/Errors/container_booking.tjp +14 -0
  408. data/test/TestSuite/Scheduler/Errors/container_duration.tjp +11 -0
  409. data/test/TestSuite/Scheduler/Errors/effort_no_allocations.tjp +7 -0
  410. data/test/TestSuite/Scheduler/Errors/loop_detected_1.tjp +19 -0
  411. data/test/TestSuite/Scheduler/Errors/loop_detected_10.tjp +36 -0
  412. data/test/TestSuite/Scheduler/Errors/loop_detected_11.tjp +27 -0
  413. data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +20 -0
  414. data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +27 -0
  415. data/test/TestSuite/Scheduler/Errors/loop_detected_14.tjp +26 -0
  416. data/test/TestSuite/Scheduler/Errors/loop_detected_2.tjp +24 -0
  417. data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +18 -0
  418. data/test/TestSuite/Scheduler/Errors/loop_detected_4.tjp +36 -0
  419. data/test/TestSuite/Scheduler/Errors/loop_detected_5.tjp +37 -0
  420. data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +35 -0
  421. data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +46 -0
  422. data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +51 -0
  423. data/test/TestSuite/Scheduler/Errors/loop_detected_9.tjp +20 -0
  424. data/test/TestSuite/Scheduler/Errors/maxend.tjp +8 -0
  425. data/test/TestSuite/Scheduler/Errors/maxstart.tjp +8 -0
  426. data/test/TestSuite/Scheduler/Errors/milestone_booking.tjp +10 -0
  427. data/test/TestSuite/Scheduler/Errors/milestone_duration.tjp +8 -0
  428. data/test/TestSuite/Scheduler/Errors/milestone_start_end.tjp +8 -0
  429. data/test/TestSuite/Scheduler/Errors/minend.tjp +8 -0
  430. data/test/TestSuite/Scheduler/Errors/minstart.tjp +8 -0
  431. data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +11 -0
  432. data/test/TestSuite/Scheduler/Errors/no_tasks.tjp +6 -0
  433. data/test/TestSuite/Scheduler/Errors/not_scheduled.tjp +8 -0
  434. data/test/TestSuite/Scheduler/Errors/task_depend_child.tjp +10 -0
  435. data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +13 -0
  436. data/test/TestSuite/Scheduler/Errors/task_depend_parent.tjp +11 -0
  437. data/test/TestSuite/Scheduler/Errors/task_depend_self.tjp +10 -0
  438. data/test/TestSuite/Scheduler/Errors/task_depend_unknown.tjp +10 -0
  439. data/test/TestSuite/Scheduler/Errors/task_overspecified_1.tjp +9 -0
  440. data/test/TestSuite/Scheduler/Errors/task_overspecified_2.tjp +14 -0
  441. data/test/TestSuite/Scheduler/Errors/task_overspecified_3.tjp +14 -0
  442. data/test/TestSuite/Scheduler/Errors/task_underspecified_1.tjp +8 -0
  443. data/test/TestSuite/Scheduler/Errors/task_underspecified_2.tjp +8 -0
  444. data/test/TestSuite/Scheduler/Errors/task_underspecified_3.tjp +9 -0
  445. data/test/TestSuite/Syntax/Correct/Account.tjp +53 -0
  446. data/test/TestSuite/Syntax/Correct/Allocate-1.tjp +24 -0
  447. data/test/TestSuite/Syntax/Correct/Alternative.tjp +13 -0
  448. data/test/TestSuite/Syntax/Correct/AutoMacros.tjp +14 -0
  449. data/test/TestSuite/Syntax/Correct/Booking.tjp +26 -0
  450. data/test/TestSuite/Syntax/Correct/Caption.tjp +33 -0
  451. data/test/TestSuite/Syntax/Correct/Celltext.tjp +28 -0
  452. data/test/TestSuite/Syntax/Correct/Comments.tjp +29 -0
  453. data/test/TestSuite/Syntax/Correct/Complete.tjp +16 -0
  454. data/test/TestSuite/Syntax/Correct/CompletedWork.tji +20 -0
  455. data/test/TestSuite/Syntax/Correct/CriticalPath.tjp +31 -0
  456. data/test/TestSuite/Syntax/Correct/Currencyformat.tjp +12 -0
  457. data/test/TestSuite/Syntax/Correct/CustomAttributes.tjp +14 -0
  458. data/test/TestSuite/Syntax/Correct/Depends1.tjp +22 -0
  459. data/test/TestSuite/Syntax/Correct/Durations.tjp +29 -0
  460. data/test/TestSuite/Syntax/Correct/Efficiency.tjp +19 -0
  461. data/test/TestSuite/Syntax/Correct/Export.tjp +40 -0
  462. data/test/TestSuite/Syntax/Correct/Flags.tjp +32 -0
  463. data/test/TestSuite/Syntax/Correct/Freeze.tjp +28 -0
  464. data/test/TestSuite/Syntax/Correct/Gap.tjp +15 -0
  465. data/test/TestSuite/Syntax/Correct/HtmlTaskReport.tjp +33 -0
  466. data/test/TestSuite/Syntax/Correct/Limits-1.tjp +71 -0
  467. data/test/TestSuite/Syntax/Correct/LoadUnits.tjp +31 -0
  468. data/test/TestSuite/Syntax/Correct/Macro-1.tjp +19 -0
  469. data/test/TestSuite/Syntax/Correct/Mandatory.tjp +17 -0
  470. data/test/TestSuite/Syntax/Correct/Milestone.tjp +12 -0
  471. data/test/TestSuite/Syntax/Correct/MinMax.tjp +17 -0
  472. data/test/TestSuite/Syntax/Correct/Numberformat.tjp +12 -0
  473. data/test/TestSuite/Syntax/Correct/Period.tjp +16 -0
  474. data/test/TestSuite/Syntax/Correct/Persistent.tjp +11 -0
  475. data/test/TestSuite/Syntax/Correct/Precedes1.tjp +17 -0
  476. data/test/TestSuite/Syntax/Correct/Priority.tjp +30 -0
  477. data/test/TestSuite/Syntax/Correct/Project.tjp +21 -0
  478. data/test/TestSuite/Syntax/Correct/ProjectIDs.tjp +23 -0
  479. data/test/TestSuite/Syntax/Correct/RawHTML.tjp +29 -0
  480. data/test/TestSuite/Syntax/Correct/Reports.tjp +54 -0
  481. data/test/TestSuite/Syntax/Correct/Resource.tjp +20 -0
  482. data/test/TestSuite/Syntax/Correct/Responsible.tjp +16 -0
  483. data/test/TestSuite/Syntax/Correct/Scenario.tjp +15 -0
  484. data/test/TestSuite/Syntax/Correct/Scheduling.tjp +26 -0
  485. data/test/TestSuite/Syntax/Correct/Select.tjp +27 -0
  486. data/test/TestSuite/Syntax/Correct/Shift.tjp +55 -0
  487. data/test/TestSuite/Syntax/Correct/Simple.tjp +25 -0
  488. data/test/TestSuite/Syntax/Correct/String.tjp +12 -0
  489. data/test/TestSuite/Syntax/Correct/Supplement.tjp +24 -0
  490. data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +34 -0
  491. data/test/TestSuite/Syntax/Correct/TimeFrame.tjp +19 -0
  492. data/test/TestSuite/Syntax/Correct/Timezone.tjp +8 -0
  493. data/test/TestSuite/Syntax/Correct/Vacation.tjp +33 -0
  494. data/test/TestSuite/Syntax/Correct/csvtest +16 -0
  495. data/test/TestSuite/Syntax/Correct/manual2example.rb +24 -0
  496. data/test/TestSuite/Syntax/Correct/tutorial.tjp +485 -0
  497. data/test/TestSuite/Syntax/Errors/bad_include.tjp +11 -0
  498. data/test/TestSuite/Syntax/Errors/booking_group.tjp +14 -0
  499. data/test/TestSuite/Syntax/Errors/booking_milestone.tjp +13 -0
  500. data/test/TestSuite/Syntax/Errors/booking_no_leaf.tjp +13 -0
  501. data/test/TestSuite/Syntax/Errors/chargeset.tjp +14 -0
  502. data/test/TestSuite/Syntax/Errors/chargeset_master.tjp +15 -0
  503. data/test/TestSuite/Syntax/Errors/container_attribute.tjp +13 -0
  504. data/test/TestSuite/Syntax/Errors/cost_acct_no_top.tjp +24 -0
  505. data/test/TestSuite/Syntax/Errors/cost_rev_same.tjp +24 -0
  506. data/test/TestSuite/Syntax/Errors/date_in_range.tjp +7 -0
  507. data/test/TestSuite/Syntax/Errors/effort_zero.tjp +8 -0
  508. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -0
  509. data/test/TestSuite/Syntax/Errors/export_bad_extn.tjp +9 -0
  510. data/test/TestSuite/Syntax/Errors/extend_id_cap.tjp +7 -0
  511. data/test/TestSuite/Syntax/Errors/interval_end_in_range.tjp +7 -0
  512. data/test/TestSuite/Syntax/Errors/interval_start_in_range.tjp +7 -0
  513. data/test/TestSuite/Syntax/Errors/leaf_resource_id_expected.tjp +12 -0
  514. data/test/TestSuite/Syntax/Errors/misaligned_date.tjp +7 -0
  515. data/test/TestSuite/Syntax/Errors/no_csv_suffix.tjp +10 -0
  516. data/test/TestSuite/Syntax/Errors/no_html_suffix.tjp +10 -0
  517. data/test/TestSuite/Syntax/Errors/operand_attribute.tjp +11 -0
  518. data/test/TestSuite/Syntax/Errors/operand_unkn_flag.tjp +11 -0
  519. data/test/TestSuite/Syntax/Errors/operand_unkn_scen.tjp +11 -0
  520. data/test/TestSuite/Syntax/Errors/overtime_range.tjp +13 -0
  521. data/test/TestSuite/Syntax/Errors/purge_no_list.tjp +8 -0
  522. data/test/TestSuite/Syntax/Errors/purge_unknown_id.tjp +8 -0
  523. data/test/TestSuite/Syntax/Errors/report_end.tjp +10 -0
  524. data/test/TestSuite/Syntax/Errors/report_redifinition.tjp +10 -0
  525. data/test/TestSuite/Syntax/Errors/report_start.tjp +10 -0
  526. data/test/TestSuite/Syntax/Errors/resource_exists.tjp +7 -0
  527. data/test/TestSuite/Syntax/Errors/resource_id_expected.tjp +8 -0
  528. data/test/TestSuite/Syntax/Errors/rev_acct_no_top.tjp +24 -0
  529. data/test/TestSuite/Syntax/Errors/scenario_exists.tjp +7 -0
  530. data/test/TestSuite/Syntax/Errors/shift_assignment_overlap.tjp +15 -0
  531. data/test/TestSuite/Syntax/Errors/shift_exists.tjp +7 -0
  532. data/test/TestSuite/Syntax/Errors/shift_id_expected.tjp +7 -0
  533. data/test/TestSuite/Syntax/Errors/sloppy_range.tjp +13 -0
  534. data/test/TestSuite/Syntax/Errors/sort_direction.tjp +11 -0
  535. data/test/TestSuite/Syntax/Errors/sort_unknown_scen.tjp +11 -0
  536. data/test/TestSuite/Syntax/Errors/sorting_crit_exptd1.tjp +11 -0
  537. data/test/TestSuite/Syntax/Errors/sorting_crit_exptd2.tjp +11 -0
  538. data/test/TestSuite/Syntax/Errors/sorting_wbs.tjp +11 -0
  539. data/test/TestSuite/Syntax/Errors/start_before_end1.tjp +7 -0
  540. data/test/TestSuite/Syntax/Errors/start_before_end2.tjp +6 -0
  541. data/test/TestSuite/Syntax/Errors/task_complete.tjp +8 -0
  542. data/test/TestSuite/Syntax/Errors/task_exists.tjp +7 -0
  543. data/test/TestSuite/Syntax/Errors/task_priority.tjp +8 -0
  544. data/test/TestSuite/Syntax/Errors/task_without_chargeset.tjp +9 -0
  545. data/test/TestSuite/Syntax/Errors/time_interval.tjp +12 -0
  546. data/test/TestSuite/Syntax/Errors/too_many_bangs.tjp +10 -0
  547. data/test/TestSuite/Syntax/Errors/undecl_flag.tjp +6 -0
  548. data/test/TestSuite/Syntax/Errors/unknown_projectid.tjp +7 -0
  549. data/test/TestSuite/Syntax/Errors/unknown_scenario_id.tjp +6 -0
  550. data/test/TestSuite/Syntax/Errors/unknown_scenario_idx.tjp +11 -0
  551. data/test/TestSuite/Syntax/Errors/unknown_task.tjp +10 -0
  552. data/test/all.rb +31 -0
  553. data/test/test_BatchProcessor.rb +54 -0
  554. data/test/test_CSV-Reports.rb +101 -0
  555. data/test/test_Limits.rb +104 -0
  556. data/test/test_LogicalExpression.rb +110 -0
  557. data/test/test_MacroTable.rb +51 -0
  558. data/test/test_Project.rb +57 -0
  559. data/test/test_PropertySet.rb +71 -0
  560. data/test/test_Query.rb +83 -0
  561. data/test/test_RealFormat.rb +83 -0
  562. data/test/test_RichText.rb +869 -0
  563. data/test/test_Scheduler.rb +42 -0
  564. data/test/test_ShiftAssignments.rb +77 -0
  565. data/test/test_Syntax.rb +41 -0
  566. data/test/test_TextScanner.rb +95 -0
  567. data/test/test_TjTime.rb +114 -0
  568. data/test/test_TjpExample.rb +169 -0
  569. data/test/test_UTF8String.rb +84 -0
  570. data/test/test_WorkingHours.rb +56 -0
  571. metadata +649 -0
@@ -0,0 +1,829 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <title>Class: TaskJuggler::RichTextElement [TaskJuggler III API documentation]</title>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
8
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
9
+ <script type="text/javascript">
10
+ // <![CDATA[
11
+
12
+ function popupCode( url ) {
13
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
14
+ }
15
+
16
+ function toggleCode( id ) {
17
+ if ( document.getElementById )
18
+ elem = document.getElementById( id );
19
+ else if ( document.all )
20
+ elem = eval( "document.all." + id );
21
+ else
22
+ return false;
23
+
24
+ elemStyle = elem.style;
25
+
26
+ if ( elemStyle.display != "block" ) {
27
+ elemStyle.display = "block"
28
+ } else {
29
+ elemStyle.display = "none"
30
+ }
31
+
32
+ return true;
33
+ }
34
+
35
+ // Make codeblocks hidden by default
36
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }<\/style>" )
37
+
38
+ // ]]>
39
+ </script>
40
+
41
+ </head>
42
+ <body>
43
+
44
+
45
+ <div id="classHeader">
46
+ <table class="header-table">
47
+ <tr class="top-aligned-row">
48
+ <td><strong>Class</strong></td>
49
+ <td class="class-name-in-header">TaskJuggler::RichTextElement</td>
50
+ </tr>
51
+ <tr class="top-aligned-row">
52
+ <td><strong>In:</strong></td>
53
+ <td>
54
+
55
+
56
+ <a href="../../files/lib/RichTextElement_rb.html">
57
+
58
+ lib/RichTextElement.rb
59
+
60
+ </a>
61
+
62
+
63
+ <br />
64
+
65
+ </td>
66
+ </tr>
67
+
68
+
69
+ <tr class="top-aligned-row">
70
+ <td><strong>Parent:</strong></td>
71
+ <td>
72
+
73
+ Object
74
+
75
+ </td>
76
+ </tr>
77
+
78
+ </table>
79
+ </div>
80
+ <!-- banner header -->
81
+
82
+ <div id="bodyContent">
83
+
84
+ <div id="contextContent">
85
+
86
+ <div id="description">
87
+ <p>
88
+ The <a href="RichTextElement.html">RichTextElement</a> class models the
89
+ nodes of the intermediate representation that the <a
90
+ href="RichTextParser.html">RichTextParser</a> generates. Each node can
91
+ reference an Array of other <a
92
+ href="RichTextElement.html">RichTextElement</a> nodes, building a tree that
93
+ represents the syntactical structure of the parsed <a
94
+ href="RichText.html">RichText</a>. Each node has a certain category that
95
+ identifies the content of the node.
96
+ </p>
97
+
98
+ </div>
99
+
100
+ </div>
101
+
102
+
103
+ <div id="method-list">
104
+ <h3 class="section-bar">Methods</h3>
105
+
106
+ <div class="name-list">
107
+
108
+ <a href="#M000272">children_to_s</a>&nbsp;&nbsp;
109
+
110
+ <a href="#M000266">cleanUp</a>&nbsp;&nbsp;
111
+
112
+ <a href="#M000273">convertToID</a>&nbsp;&nbsp;
113
+
114
+ <a href="#M000268">internalReferences</a>&nbsp;&nbsp;
115
+
116
+ <a href="#M000265">new</a>&nbsp;&nbsp;
117
+
118
+ <a href="#M000267">tableOfContents</a>&nbsp;&nbsp;
119
+
120
+ <a href="#M000271">to_html</a>&nbsp;&nbsp;
121
+
122
+ <a href="#M000269">to_s</a>&nbsp;&nbsp;
123
+
124
+ <a href="#M000270">to_tagged</a>&nbsp;&nbsp;
125
+
126
+ </div>
127
+ </div>
128
+
129
+ </div>
130
+
131
+ <!-- if includes -->
132
+
133
+ <div id="section">
134
+
135
+
136
+
137
+ <div id="attribute-list">
138
+ <h3 class="section-bar">Attributes</h3>
139
+
140
+ <div class="name-list">
141
+ <table>
142
+
143
+ <tr class="top-aligned-row context-row">
144
+ <td class="context-item-name">appendSpace</td>
145
+
146
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
147
+
148
+ <td class="context-item-desc"></td>
149
+ </tr>
150
+
151
+ <tr class="top-aligned-row context-row">
152
+ <td class="context-item-name">category</td>
153
+
154
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
155
+
156
+ <td class="context-item-desc"></td>
157
+ </tr>
158
+
159
+ <tr class="top-aligned-row context-row">
160
+ <td class="context-item-name">children</td>
161
+
162
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
163
+
164
+ <td class="context-item-desc"></td>
165
+ </tr>
166
+
167
+ <tr class="top-aligned-row context-row">
168
+ <td class="context-item-name">data</td>
169
+
170
+ <td class="context-item-value">&nbsp;[W]&nbsp;</td>
171
+
172
+ <td class="context-item-desc"></td>
173
+ </tr>
174
+
175
+ </table>
176
+ </div>
177
+ </div>
178
+
179
+
180
+ <!-- if method_list -->
181
+
182
+ <div id="methods">
183
+
184
+ <h3 class="section-bar">Public Class methods</h3>
185
+
186
+
187
+ <div id="method-M000265" class="method-detail">
188
+ <a name="M000265"></a>
189
+
190
+ <div class="method-heading">
191
+
192
+ <a href="#M000265" class="method-signature">
193
+
194
+ <span class="method-name">new</span><span class="method-args">(rt, category, arg = nil)</span>
195
+
196
+ </a>
197
+
198
+ </div>
199
+
200
+ <div class="method-description">
201
+
202
+ <p>
203
+ Create a new <a href="RichTextElement.html">RichTextElement</a> node.
204
+ <em>rt</em> is the <a href="RichText.html">RichText</a> object this element
205
+ belongs to. <em>category</em> is the type of the node. It can be :title,
206
+ :bold, etc. <em>arg</em> is an overloaded argument. It can either be
207
+ another node or an Array of <a
208
+ href="RichTextElement.html">RichTextElement</a> nodes.
209
+ </p>
210
+
211
+ <p><a class="source-toggle" href="#"
212
+ onclick="toggleCode('M000265-source');return false;">[Source]</a></p>
213
+ <div class="method-source-code" id="M000265-source">
214
+ <pre>
215
+ <span class="ruby-comment cmt"># File lib/RichTextElement.rb, line 34</span>
216
+ 34: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">rt</span>, <span class="ruby-identifier">category</span>, <span class="ruby-identifier">arg</span> = <span class="ruby-keyword kw">nil</span>)
217
+ 35: <span class="ruby-ivar">@richText</span> = <span class="ruby-identifier">rt</span>
218
+ 36: <span class="ruby-ivar">@category</span> = <span class="ruby-identifier">category</span>
219
+ 37: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>
220
+ 38: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
221
+ 39: <span class="ruby-ivar">@children</span> = <span class="ruby-identifier">arg</span>
222
+ 40: <span class="ruby-keyword kw">else</span>
223
+ 41: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">RichTextElement</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
224
+ 42: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
225
+ 43: <span class="ruby-node">&quot;Element must be of type RichTextElement instead of #{arg.class}&quot;</span>
226
+ 44: <span class="ruby-keyword kw">end</span>
227
+ 45: <span class="ruby-ivar">@children</span> = [ <span class="ruby-identifier">arg</span> ]
228
+ 46: <span class="ruby-keyword kw">end</span>
229
+ 47: <span class="ruby-keyword kw">else</span>
230
+ 48: <span class="ruby-ivar">@children</span> = []
231
+ 49: <span class="ruby-keyword kw">end</span>
232
+ 50:
233
+ 51: <span class="ruby-comment cmt"># Certain elements such as titles,references and numbered bullets can be</span>
234
+ 52: <span class="ruby-comment cmt"># require additional data. This variable is used for this. It can hold an</span>
235
+ 53: <span class="ruby-comment cmt"># Array of counters or a link label.</span>
236
+ 54: <span class="ruby-ivar">@data</span> = <span class="ruby-keyword kw">nil</span>
237
+ 55: <span class="ruby-ivar">@appendSpace</span> = <span class="ruby-keyword kw">false</span>
238
+ 56: <span class="ruby-keyword kw">end</span>
239
+ </pre>
240
+ </div>
241
+
242
+ </div>
243
+ </div>
244
+
245
+
246
+ <h3 class="section-bar">Public Instance methods</h3>
247
+
248
+
249
+ <div id="method-M000272" class="method-detail">
250
+ <a name="M000272"></a>
251
+
252
+ <div class="method-heading">
253
+
254
+ <a href="#M000272" class="method-signature">
255
+
256
+ <span class="method-name">children_to_s</span><span class="method-args">()</span>
257
+
258
+ </a>
259
+
260
+ </div>
261
+
262
+ <div class="method-description">
263
+
264
+ <p>
265
+ Convert all childern into a single plain text <a
266
+ href="../String.html">String</a>.
267
+ </p>
268
+
269
+ <p><a class="source-toggle" href="#"
270
+ onclick="toggleCode('M000272-source');return false;">[Source]</a></p>
271
+ <div class="method-source-code" id="M000272-source">
272
+ <pre>
273
+ <span class="ruby-comment cmt"># File lib/RichTextElement.rb, line 367</span>
274
+ 367: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">children_to_s</span>
275
+ 368: <span class="ruby-identifier">text</span> = <span class="ruby-value str">''</span>
276
+ 369: <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">c</span><span class="ruby-operator">|</span>
277
+ 370: <span class="ruby-identifier">text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">c</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">RichTextElement</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">appendSpace</span> <span class="ruby-value">? </span><span class="ruby-value str">' '</span> <span class="ruby-operator">:</span> <span class="ruby-value str">''</span>)
278
+ 371: <span class="ruby-keyword kw">end</span>
279
+ 372: <span class="ruby-identifier">text</span>
280
+ 373: <span class="ruby-keyword kw">end</span>
281
+ </pre>
282
+ </div>
283
+
284
+ </div>
285
+ </div>
286
+
287
+
288
+ <div id="method-M000266" class="method-detail">
289
+ <a name="M000266"></a>
290
+
291
+ <div class="method-heading">
292
+
293
+ <a href="#M000266" class="method-signature">
294
+
295
+ <span class="method-name">cleanUp</span><span class="method-args">()</span>
296
+
297
+ </a>
298
+
299
+ </div>
300
+
301
+ <div class="method-description">
302
+
303
+ <p>
304
+ Remove a paragraph node from the richtext node if it is the only node in
305
+ richtext. The paragraph children will become richtext children.
306
+ </p>
307
+
308
+ <p><a class="source-toggle" href="#"
309
+ onclick="toggleCode('M000266-source');return false;">[Source]</a></p>
310
+ <div class="method-source-code" id="M000266-source">
311
+ <pre>
312
+ <span class="ruby-comment cmt"># File lib/RichTextElement.rb, line 60</span>
313
+ 60: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cleanUp</span>
314
+ 61: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@category</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:richtext</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">&amp;&amp;</span>
315
+ 62: <span class="ruby-ivar">@children</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">category</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:paragraph</span>
316
+ 63: <span class="ruby-ivar">@children</span> = <span class="ruby-ivar">@children</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">children</span>
317
+ 64: <span class="ruby-keyword kw">end</span>
318
+ 65: <span class="ruby-keyword kw">self</span>
319
+ 66: <span class="ruby-keyword kw">end</span>
320
+ </pre>
321
+ </div>
322
+
323
+ </div>
324
+ </div>
325
+
326
+
327
+ <div id="method-M000273" class="method-detail">
328
+ <a name="M000273"></a>
329
+
330
+ <div class="method-heading">
331
+
332
+ <a href="#M000273" class="method-signature">
333
+
334
+ <span class="method-name">convertToID</span><span class="method-args">(text)</span>
335
+
336
+ </a>
337
+
338
+ </div>
339
+
340
+ <div class="method-description">
341
+
342
+ <p>
343
+ This function converts a <a href="../String.html">String</a> into a new <a
344
+ href="../String.html">String</a> that only contains characters that are
345
+ acceptable for HTML tag IDs.
346
+ </p>
347
+
348
+ <p><a class="source-toggle" href="#"
349
+ onclick="toggleCode('M000273-source');return false;">[Source]</a></p>
350
+ <div class="method-source-code" id="M000273-source">
351
+ <pre>
352
+ <span class="ruby-comment cmt"># File lib/RichTextElement.rb, line 377</span>
353
+ 377: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">convertToID</span>(<span class="ruby-identifier">text</span>)
354
+ 378: <span class="ruby-identifier">out</span> = <span class="ruby-value str">''</span>
355
+ 379: <span class="ruby-identifier">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>
356
+ 380: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">c</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'A'</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'Z'</span>) <span class="ruby-operator">||</span>
357
+ 381: (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'a'</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'z'</span>) <span class="ruby-operator">||</span>
358
+ 382: (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'0'</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'9'</span>)
359
+ 383: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'_'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">==</span> <span class="ruby-value str">' '</span>
360
+ 384: <span class="ruby-keyword kw">end</span>
361
+ 385: <span class="ruby-identifier">out</span>.<span class="ruby-identifier">chomp</span>(<span class="ruby-value str">'_'</span>)
362
+ 386: <span class="ruby-keyword kw">end</span>
363
+ </pre>
364
+ </div>
365
+
366
+ </div>
367
+ </div>
368
+
369
+
370
+ <div id="method-M000268" class="method-detail">
371
+ <a name="M000268"></a>
372
+
373
+ <div class="method-heading">
374
+
375
+ <a href="#M000268" class="method-signature">
376
+
377
+ <span class="method-name">internalReferences</span><span class="method-args">()</span>
378
+
379
+ </a>
380
+
381
+ </div>
382
+
383
+ <div class="method-description">
384
+
385
+ <p>
386
+ Return an Array with all other snippet names that are referenced by
387
+ internal references in this <a
388
+ href="RichTextElement.html">RichTextElement</a>.
389
+ </p>
390
+
391
+ <p><a class="source-toggle" href="#"
392
+ onclick="toggleCode('M000268-source');return false;">[Source]</a></p>
393
+ <div class="method-source-code" id="M000268-source">
394
+ <pre>
395
+ <span class="ruby-comment cmt"># File lib/RichTextElement.rb, line 100</span>
396
+ 100: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">internalReferences</span>
397
+ 101: <span class="ruby-identifier">references</span> = []
398
+ 102: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@category</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:ref</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@data</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">':'</span>)
399
+ 103: <span class="ruby-identifier">references</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@data</span>
400
+ 104: <span class="ruby-keyword kw">else</span>
401
+ 105: <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">el</span><span class="ruby-operator">|</span>
402
+ 106: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">el</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">RichTextElement</span>)
403
+ 107: <span class="ruby-identifier">references</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">el</span>.<span class="ruby-identifier">internalReferences</span>
404
+ 108: <span class="ruby-keyword kw">end</span>
405
+ 109: <span class="ruby-keyword kw">end</span>
406
+ 110: <span class="ruby-keyword kw">end</span>
407
+ 111:
408
+ 112: <span class="ruby-comment cmt"># We only need each reference once.</span>
409
+ 113: <span class="ruby-identifier">references</span>.<span class="ruby-identifier">uniq</span>
410
+ 114: <span class="ruby-keyword kw">end</span>
411
+ </pre>
412
+ </div>
413
+
414
+ </div>
415
+ </div>
416
+
417
+
418
+ <div id="method-M000267" class="method-detail">
419
+ <a name="M000267"></a>
420
+
421
+ <div class="method-heading">
422
+
423
+ <a href="#M000267" class="method-signature">
424
+
425
+ <span class="method-name">tableOfContents</span><span class="method-args">(toc, fileName)</span>
426
+
427
+ </a>
428
+
429
+ </div>
430
+
431
+ <div class="method-description">
432
+
433
+ <p>
434
+ Recursively extract the section headings from the <a
435
+ href="RichTextElement.html">RichTextElement</a> and build fill the <a
436
+ href="TableOfContents.html">TableOfContents</a> <em>toc</em> with the
437
+ gathered sections. <em>fileName</em> is the base name (without .html or
438
+ other suffix) of the file the TOCEntries should point to.
439
+ </p>
440
+
441
+ <p><a class="source-toggle" href="#"
442
+ onclick="toggleCode('M000267-source');return false;">[Source]</a></p>
443
+ <div class="method-source-code" id="M000267-source">
444
+ <pre>
445
+ <span class="ruby-comment cmt"># File lib/RichTextElement.rb, line 72</span>
446
+ 72: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tableOfContents</span>(<span class="ruby-identifier">toc</span>, <span class="ruby-identifier">fileName</span>)
447
+ 73: <span class="ruby-identifier">number</span> = <span class="ruby-keyword kw">nil</span>
448
+ 74: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@category</span>
449
+ 75: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:title1</span>
450
+ 76: <span class="ruby-identifier">number</span> = <span class="ruby-node">&quot;#{@data[0]} &quot;</span>
451
+ 77: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:title2</span>
452
+ 78: <span class="ruby-identifier">number</span> = <span class="ruby-node">&quot;#{@data[0]}.#{@data[1]} &quot;</span>
453
+ 79: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:title3</span>
454
+ 80: <span class="ruby-identifier">number</span> = <span class="ruby-node">&quot;#{@data[0]}.#{@data[1]}.#{@data[2]} &quot;</span>
455
+ 81: <span class="ruby-keyword kw">end</span>
456
+ 82: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">number</span>
457
+ 83: <span class="ruby-comment cmt"># We've found a section heading. The String value of the Element is the</span>
458
+ 84: <span class="ruby-comment cmt"># title.</span>
459
+ 85: <span class="ruby-identifier">title</span> = <span class="ruby-identifier">children_to_s</span>
460
+ 86: <span class="ruby-identifier">tag</span> = <span class="ruby-identifier">convertToID</span>(<span class="ruby-identifier">title</span>)
461
+ 87: <span class="ruby-identifier">toc</span>.<span class="ruby-identifier">addEntry</span>(<span class="ruby-constant">TOCEntry</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">number</span>, <span class="ruby-identifier">title</span>, <span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">tag</span>))
462
+ 88: <span class="ruby-keyword kw">else</span>
463
+ 89: <span class="ruby-comment cmt"># Recursively extract the TOC from the child objects.</span>
464
+ 90: <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">el</span><span class="ruby-operator">|</span>
465
+ 91: <span class="ruby-identifier">el</span>.<span class="ruby-identifier">tableOfContents</span>(<span class="ruby-identifier">toc</span>, <span class="ruby-identifier">fileName</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">el</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">RichTextElement</span>)
466
+ 92: <span class="ruby-keyword kw">end</span>
467
+ 93: <span class="ruby-keyword kw">end</span>
468
+ 94:
469
+ 95: <span class="ruby-identifier">toc</span>
470
+ 96: <span class="ruby-keyword kw">end</span>
471
+ </pre>
472
+ </div>
473
+
474
+ </div>
475
+ </div>
476
+
477
+
478
+ <div id="method-M000271" class="method-detail">
479
+ <a name="M000271"></a>
480
+
481
+ <div class="method-heading">
482
+
483
+ <a href="#M000271" class="method-signature">
484
+
485
+ <span class="method-name">to_html</span><span class="method-args">()</span>
486
+
487
+ </a>
488
+
489
+ </div>
490
+
491
+ <div class="method-description">
492
+
493
+ <p>
494
+ Convert the intermediate representation into HTML elements.
495
+ </p>
496
+
497
+ <p><a class="source-toggle" href="#"
498
+ onclick="toggleCode('M000271-source');return false;">[Source]</a></p>
499
+ <div class="method-source-code" id="M000271-source">
500
+ <pre>
501
+ <span class="ruby-comment cmt"># File lib/RichTextElement.rb, line 275</span>
502
+ 275: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
503
+ 276: <span class="ruby-identifier">html</span> =
504
+ 277: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@category</span>
505
+ 278: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:richtext</span>
506
+ 279: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>)
507
+ 280: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:title1</span>
508
+ 281: <span class="ruby-identifier">el</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'h1'</span>, <span class="ruby-value str">'id'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">convertToID</span>(<span class="ruby-identifier">children_to_s</span>))
509
+ 282: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@richText</span>.<span class="ruby-identifier">sectionNumbers</span>
510
+ 283: <span class="ruby-identifier">el</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{@data[0]} &quot;</span>)
511
+ 284: <span class="ruby-keyword kw">end</span>
512
+ 285: <span class="ruby-identifier">el</span>
513
+ 286: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:title2</span>
514
+ 287: <span class="ruby-identifier">el</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'h2'</span>, <span class="ruby-value str">'id'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">convertToID</span>(<span class="ruby-identifier">children_to_s</span>))
515
+ 288: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@richText</span>.<span class="ruby-identifier">sectionNumbers</span>
516
+ 289: <span class="ruby-identifier">el</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{@data[0]}.#{@data[1]} &quot;</span>)
517
+ 290: <span class="ruby-keyword kw">end</span>
518
+ 291: <span class="ruby-identifier">el</span>
519
+ 292: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:title3</span>
520
+ 293: <span class="ruby-identifier">el</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'h3'</span>, <span class="ruby-value str">'id'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">convertToID</span>(<span class="ruby-identifier">children_to_s</span>))
521
+ 294: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@richText</span>.<span class="ruby-identifier">sectionNumbers</span>
522
+ 295: <span class="ruby-identifier">el</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{@data[0]}.#{@data[1]}.#{@data[2]} &quot;</span>)
523
+ 296: <span class="ruby-keyword kw">end</span>
524
+ 297: <span class="ruby-identifier">el</span>
525
+ 298: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:hline</span>
526
+ 299: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'hr'</span>)
527
+ 300: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:paragraph</span>
528
+ 301: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>)
529
+ 302: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:pre</span>
530
+ 303: <span class="ruby-identifier">pre</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'pre'</span>)
531
+ 304: <span class="ruby-identifier">pre</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@children</span>[<span class="ruby-value">0</span>])
532
+ 305: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletlist1</span>
533
+ 306: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'ul'</span>)
534
+ 307: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletitem1</span>
535
+ 308: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'li'</span>)
536
+ 309: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletlist2</span>
537
+ 310: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'ul'</span>)
538
+ 311: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletitem2</span>
539
+ 312: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'li'</span>)
540
+ 313: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletlist3</span>
541
+ 314: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'ul'</span>)
542
+ 315: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletitem3</span>
543
+ 316: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'li'</span>)
544
+ 317: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberlist1</span>
545
+ 318: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'ol'</span>)
546
+ 319: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberitem1</span>
547
+ 320: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'li'</span>)
548
+ 321: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberlist2</span>
549
+ 322: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'ol'</span>)
550
+ 323: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberitem2</span>
551
+ 324: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'li'</span>)
552
+ 325: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberlist3</span>
553
+ 326: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'ol'</span>)
554
+ 327: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberitem3</span>
555
+ 328: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'li'</span>)
556
+ 329: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:ref</span>
557
+ 330: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@data</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">':'</span>)
558
+ 331: <span class="ruby-identifier">protocol</span>, <span class="ruby-identifier">path</span> = <span class="ruby-ivar">@data</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">':'</span>)
559
+ 332: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Reference protocol empty.&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">protocol</span>.<span class="ruby-identifier">empty?</span>
560
+ 333: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">empty?</span>
561
+ 334: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Reference path may not be empty.&quot;</span>
562
+ 335: <span class="ruby-keyword kw">end</span>
563
+ 336: <span class="ruby-identifier">args</span> = <span class="ruby-identifier">children_to_s</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">' '</span>)
564
+ 337: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@richText</span>.<span class="ruby-identifier">protocolHandler</span>(<span class="ruby-identifier">protocol</span>).<span class="ruby-identifier">to_html</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">args</span>)
565
+ 338: <span class="ruby-keyword kw">else</span>
566
+ 339: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'a'</span>, <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{@data}.html&quot;</span>)
567
+ 340: <span class="ruby-keyword kw">end</span>
568
+ 341: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:href</span>
569
+ 342: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'a'</span>, <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@data</span>, <span class="ruby-value str">'target'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'_blank'</span>)
570
+ 343: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:italic</span>
571
+ 344: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'i'</span>)
572
+ 345: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bold</span>
573
+ 346: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'b'</span>)
574
+ 347: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:code</span>
575
+ 348: <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'code'</span>)
576
+ 349: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:text</span>
577
+ 350: <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@children</span>[<span class="ruby-value">0</span>])
578
+ 351: <span class="ruby-keyword kw">else</span>
579
+ 352: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Unknown RichTextElement category #{@category}&quot;</span>
580
+ 353: <span class="ruby-keyword kw">end</span>
581
+ 354:
582
+ 355: <span class="ruby-comment cmt"># Some elements never have leaves.</span>
583
+ 356: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">html</span> <span class="ruby-keyword kw">if</span> [ <span class="ruby-identifier">:text</span>, <span class="ruby-identifier">:pre</span>, <span class="ruby-identifier">:hline</span> ].<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@category</span>)
584
+ 357:
585
+ 358: <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">el_i</span><span class="ruby-operator">|</span>
586
+ 359: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">el_i</span>.<span class="ruby-identifier">to_html</span>
587
+ 360: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">' '</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">el_i</span>.<span class="ruby-identifier">appendSpace</span>
588
+ 361: <span class="ruby-keyword kw">end</span>
589
+ 362:
590
+ 363: <span class="ruby-identifier">html</span>
591
+ 364: <span class="ruby-keyword kw">end</span>
592
+ </pre>
593
+ </div>
594
+
595
+ </div>
596
+ </div>
597
+
598
+
599
+ <div id="method-M000269" class="method-detail">
600
+ <a name="M000269"></a>
601
+
602
+ <div class="method-heading">
603
+
604
+ <a href="#M000269" class="method-signature">
605
+
606
+ <span class="method-name">to_s</span><span class="method-args">()</span>
607
+
608
+ </a>
609
+
610
+ </div>
611
+
612
+ <div class="method-description">
613
+
614
+ <p>
615
+ Conver the intermediate representation into a plain text again. All
616
+ elements that can&#8217;t be represented in plain text easily will be
617
+ ignored or just their value will be included.
618
+ </p>
619
+
620
+ <p><a class="source-toggle" href="#"
621
+ onclick="toggleCode('M000269-source');return false;">[Source]</a></p>
622
+ <div class="method-source-code" id="M000269-source">
623
+ <pre>
624
+ <span class="ruby-comment cmt"># File lib/RichTextElement.rb, line 119</span>
625
+ 119: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
626
+ 120: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">''</span>
627
+ 121: <span class="ruby-identifier">post</span> = <span class="ruby-value str">''</span>
628
+ 122: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@category</span>
629
+ 123: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:richtext</span>
630
+ 124: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:title1</span>
631
+ 125: <span class="ruby-identifier">pre</span> = <span class="ruby-node">&quot;#{@data[0]} &quot;</span>
632
+ 126: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;\n\n&quot;</span>
633
+ 127: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:title2</span>
634
+ 128: <span class="ruby-identifier">pre</span> = <span class="ruby-node">&quot;#{@data[0]}.#{@data[1]} &quot;</span>
635
+ 129: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;\n\n&quot;</span>
636
+ 130: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:title3</span>
637
+ 131: <span class="ruby-identifier">pre</span> = <span class="ruby-node">&quot;#{@data[0]}.#{@data[1]}.#{@data[2]} &quot;</span>
638
+ 132: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;\n\n&quot;</span>
639
+ 133: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:hline</span>
640
+ 134: <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;#{'-' * (@richText.lineWidth - 4)}\n&quot;</span>
641
+ 135: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:paragraph</span>
642
+ 136: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;\n\n&quot;</span>
643
+ 137: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:pre</span>
644
+ 138: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;\n&quot;</span>
645
+ 139: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletlist1</span>
646
+ 140: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletitem1</span>
647
+ 141: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'* '</span>
648
+ 142: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;\n\n&quot;</span>
649
+ 143: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletlist2</span>
650
+ 144: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletitem2</span>
651
+ 145: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">' * '</span>
652
+ 146: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;\n\n&quot;</span>
653
+ 147: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletlist3</span>
654
+ 148: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletitem3</span>
655
+ 149: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">' * '</span>
656
+ 150: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;\n\n&quot;</span>
657
+ 151: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberlist1</span>
658
+ 152: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberitem1</span>
659
+ 153: <span class="ruby-identifier">pre</span> = <span class="ruby-node">&quot;#{@data[0]} &quot;</span>
660
+ 154: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;\n\n&quot;</span>
661
+ 155: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberlist2</span>
662
+ 156: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberitem2</span>
663
+ 157: <span class="ruby-identifier">pre</span> = <span class="ruby-node">&quot;#{@data[0]}.#{@data[1]} &quot;</span>
664
+ 158: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;\n\n&quot;</span>
665
+ 159: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberlist3</span>
666
+ 160: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberitem3</span>
667
+ 161: <span class="ruby-identifier">pre</span> = <span class="ruby-node">&quot;#{@data[0]}.#{@data[1]}.#{@data[2]} &quot;</span>
668
+ 162: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;\n\n&quot;</span>
669
+ 163: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:ref</span>
670
+ 164: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:href</span>
671
+ 165: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:italic</span>
672
+ 166: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bold</span>
673
+ 167: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:code</span>
674
+ 168: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:text</span>
675
+ 169: <span class="ruby-keyword kw">else</span>
676
+ 170: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Unknown RichTextElement category #{@category}&quot;</span>
677
+ 171: <span class="ruby-keyword kw">end</span>
678
+ 172:
679
+ 173: <span class="ruby-identifier">pre</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">children_to_s</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">post</span>
680
+ 174: <span class="ruby-keyword kw">end</span>
681
+ </pre>
682
+ </div>
683
+
684
+ </div>
685
+ </div>
686
+
687
+
688
+ <div id="method-M000270" class="method-detail">
689
+ <a name="M000270"></a>
690
+
691
+ <div class="method-heading">
692
+
693
+ <a href="#M000270" class="method-signature">
694
+
695
+ <span class="method-name">to_tagged</span><span class="method-args">()</span>
696
+
697
+ </a>
698
+
699
+ </div>
700
+
701
+ <div class="method-description">
702
+
703
+ <p>
704
+ Convert the tree of <a href="RichTextElement.html">RichTextElement</a>
705
+ nodes into an XML like text representation. This is primarily intended for
706
+ unit testing. The tag names are similar to HTML tags, but this is not meant
707
+ to be valid HTML.
708
+ </p>
709
+
710
+ <p><a class="source-toggle" href="#"
711
+ onclick="toggleCode('M000270-source');return false;">[Source]</a></p>
712
+ <div class="method-source-code" id="M000270-source">
713
+ <pre>
714
+ <span class="ruby-comment cmt"># File lib/RichTextElement.rb, line 179</span>
715
+ 179: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_tagged</span>
716
+ 180: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">''</span>
717
+ 181: <span class="ruby-identifier">post</span> = <span class="ruby-value str">''</span>
718
+ 182: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@category</span>
719
+ 183: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:richtext</span>
720
+ 184: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;div&gt;'</span>
721
+ 185: <span class="ruby-identifier">post</span> = <span class="ruby-value str">'&lt;/div&gt;'</span>
722
+ 186: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:title1</span>
723
+ 187: <span class="ruby-identifier">pre</span> = <span class="ruby-node">&quot;&lt;h1&gt;#{@data[0]} &quot;</span>
724
+ 188: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;&lt;/h1&gt;\n\n&quot;</span>
725
+ 189: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:title2</span>
726
+ 190: <span class="ruby-identifier">pre</span> = <span class="ruby-node">&quot;&lt;h2&gt;#{@data[0]}.#{@data[1]} &quot;</span>
727
+ 191: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;&lt;/h2&gt;\n\n&quot;</span>
728
+ 192: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:title3</span>
729
+ 193: <span class="ruby-identifier">pre</span> = <span class="ruby-node">&quot;&lt;h3&gt;#{@data[0]}.#{@data[1]}.#{@data[2]} &quot;</span>
730
+ 194: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;&lt;/h3&gt;\n\n&quot;</span>
731
+ 195: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:hline</span>
732
+ 196: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;hr&gt;'</span>
733
+ 197: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;&lt;/hr&gt;\n&quot;</span>
734
+ 198: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:paragraph</span>
735
+ 199: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;p&gt;'</span>
736
+ 200: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;&lt;/p&gt;\n\n&quot;</span>
737
+ 201: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:pre</span>
738
+ 202: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;pre&gt;'</span>
739
+ 203: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;&lt;/pre&gt;\n\n&quot;</span>
740
+ 204: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletlist1</span>
741
+ 205: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;ul&gt;'</span>
742
+ 206: <span class="ruby-identifier">post</span> = <span class="ruby-value str">'&lt;/ul&gt;'</span>
743
+ 207: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletitem1</span>
744
+ 208: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;li&gt;* '</span>
745
+ 209: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;&lt;/li&gt;\n&quot;</span>
746
+ 210: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletlist2</span>
747
+ 211: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;ul&gt;'</span>
748
+ 212: <span class="ruby-identifier">post</span> = <span class="ruby-value str">'&lt;/ul&gt;'</span>
749
+ 213: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletitem2</span>
750
+ 214: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;li&gt; * '</span>
751
+ 215: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;&lt;/li&gt;\n&quot;</span>
752
+ 216: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletlist3</span>
753
+ 217: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;ul&gt;'</span>
754
+ 218: <span class="ruby-identifier">post</span> = <span class="ruby-value str">'&lt;/ul&gt;'</span>
755
+ 219: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bulletitem3</span>
756
+ 220: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;li&gt; * '</span>
757
+ 221: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;&lt;/li&gt;\n&quot;</span>
758
+ 222: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberlist1</span>
759
+ 223: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;ol&gt;'</span>
760
+ 224: <span class="ruby-identifier">post</span> = <span class="ruby-value str">'&lt;/ol&gt;'</span>
761
+ 225: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberitem1</span>
762
+ 226: <span class="ruby-identifier">pre</span> = <span class="ruby-node">&quot;&lt;li&gt;#{@data[0]} &quot;</span>
763
+ 227: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;&lt;/li&gt;\n&quot;</span>
764
+ 228: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberlist2</span>
765
+ 229: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;ol&gt;'</span>
766
+ 230: <span class="ruby-identifier">post</span> = <span class="ruby-value str">'&lt;/ol&gt;'</span>
767
+ 231: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberitem2</span>
768
+ 232: <span class="ruby-identifier">pre</span> = <span class="ruby-node">&quot;&lt;li&gt;#{@data[0]}.#{@data[1]} &quot;</span>
769
+ 233: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;&lt;/li&gt;\n&quot;</span>
770
+ 234: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberlist3</span>
771
+ 235: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;ol&gt;'</span>
772
+ 236: <span class="ruby-identifier">post</span> = <span class="ruby-value str">'&lt;/ol&gt;'</span>
773
+ 237: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:numberitem3</span>
774
+ 238: <span class="ruby-identifier">pre</span> = <span class="ruby-node">&quot;&lt;li&gt;#{@data[0]}.#{@data[1]}.#{@data[2]} &quot;</span>
775
+ 239: <span class="ruby-identifier">post</span> = <span class="ruby-value str">&quot;&lt;/li&gt;\n&quot;</span>
776
+ 240: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:ref</span>
777
+ 241: <span class="ruby-identifier">pre</span> = <span class="ruby-node">&quot;&lt;ref data=\&quot;#{@data}\&quot;&gt;&quot;</span>
778
+ 242: <span class="ruby-identifier">post</span> = <span class="ruby-value str">'&lt;/ref&gt;'</span>
779
+ 243: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:href</span>
780
+ 244: <span class="ruby-identifier">pre</span> = <span class="ruby-node">&quot;&lt;a href=\&quot;#{@data}\&quot; target=\&quot;_blank\&quot;&gt;&quot;</span>
781
+ 245: <span class="ruby-identifier">post</span> = <span class="ruby-value str">'&lt;/a&gt;'</span>
782
+ 246: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:italic</span>
783
+ 247: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;i&gt;'</span>
784
+ 248: <span class="ruby-identifier">post</span> = <span class="ruby-value str">'&lt;/i&gt;'</span>
785
+ 249: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:bold</span>
786
+ 250: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;b&gt;'</span>
787
+ 251: <span class="ruby-identifier">post</span> = <span class="ruby-value str">'&lt;/b&gt;'</span>
788
+ 252: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:code</span>
789
+ 253: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'&lt;code&gt;'</span>
790
+ 254: <span class="ruby-identifier">post</span> = <span class="ruby-value str">'&lt;/code&gt;'</span>
791
+ 255: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:text</span>
792
+ 256: <span class="ruby-identifier">pre</span> = <span class="ruby-value str">'['</span>
793
+ 257: <span class="ruby-identifier">post</span> = <span class="ruby-value str">']'</span>
794
+ 258: <span class="ruby-keyword kw">else</span>
795
+ 259: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Unknown RichTextElement category #{@category}&quot;</span>
796
+ 260: <span class="ruby-keyword kw">end</span>
797
+ 261:
798
+ 262: <span class="ruby-identifier">out</span> = <span class="ruby-value str">''</span>
799
+ 263: <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">el</span><span class="ruby-operator">|</span>
800
+ 264: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">el</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">RichTextElement</span>)
801
+ 265: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">el</span>.<span class="ruby-identifier">to_tagged</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">el</span>.<span class="ruby-identifier">appendSpace</span> <span class="ruby-value">? </span><span class="ruby-value str">' '</span> <span class="ruby-operator">:</span> <span class="ruby-value str">''</span>)
802
+ 266: <span class="ruby-keyword kw">else</span>
803
+ 267: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">el</span>.<span class="ruby-identifier">to_s</span>
804
+ 268: <span class="ruby-keyword kw">end</span>
805
+ 269: <span class="ruby-keyword kw">end</span>
806
+ 270:
807
+ 271: <span class="ruby-identifier">pre</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">out</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">post</span>
808
+ 272: <span class="ruby-keyword kw">end</span>
809
+ </pre>
810
+ </div>
811
+
812
+ </div>
813
+ </div>
814
+
815
+
816
+
817
+ </div>
818
+
819
+
820
+
821
+
822
+ </div>
823
+
824
+ <div id="validator-badges">
825
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
826
+ </div>
827
+
828
+ </body>
829
+ </html>