taskjuggler 0.0.3 → 0.0.4

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 (495) hide show
  1. data/benchmarks/UTF-8-Strings.rb +58 -0
  2. data/data/css/tjmanual.css +52 -0
  3. data/data/css/tjreport.css +195 -0
  4. data/data/icons/details.png +0 -0
  5. data/data/icons/flag-green.png +0 -0
  6. data/data/icons/flag-red.png +0 -0
  7. data/data/icons/flag-yellow.png +0 -0
  8. data/data/icons/resource.png +0 -0
  9. data/data/icons/resourcegroup.png +0 -0
  10. data/data/icons/task.png +0 -0
  11. data/data/icons/taskgroup.png +0 -0
  12. data/data/icons/trend-down.png +0 -0
  13. data/data/icons/trend-flat.png +0 -0
  14. data/data/icons/trend-up.png +0 -0
  15. data/data/scripts/wz_tooltip.js +1301 -0
  16. data/doc/classes/AppConfig.html +298 -230
  17. data/doc/classes/Arguments.html +8 -8
  18. data/doc/classes/Object.html +7 -7
  19. data/doc/classes/String.html +89 -89
  20. data/doc/classes/TaskJuggler.html +396 -264
  21. data/doc/classes/TaskJuggler/Account.html +18 -18
  22. data/doc/classes/TaskJuggler/AccountAttribute.html +26 -26
  23. data/doc/classes/TaskJuggler/AccountScenario.html +12 -12
  24. data/doc/classes/TaskJuggler/Allocation.html +30 -30
  25. data/doc/classes/TaskJuggler/AllocationAttribute.html +26 -26
  26. data/doc/classes/TaskJuggler/AttributeBase.html +227 -115
  27. data/doc/classes/TaskJuggler/AttributeDefinition.html +6 -6
  28. data/doc/classes/TaskJuggler/BatchProcessor.html +117 -83
  29. data/doc/classes/TaskJuggler/Booking.html +18 -18
  30. data/doc/classes/TaskJuggler/BookingListAttribute.html +26 -26
  31. data/doc/classes/TaskJuggler/BooleanAttribute.html +26 -26
  32. data/doc/classes/TaskJuggler/CSVFile.html +24 -24
  33. data/doc/classes/TaskJuggler/CellSettingPattern.html +201 -0
  34. data/doc/classes/TaskJuggler/CellSettingPatternList.html +253 -0
  35. data/doc/classes/TaskJuggler/Charge.html +18 -18
  36. data/doc/classes/TaskJuggler/ChargeListAttribute.html +20 -20
  37. data/doc/classes/TaskJuggler/ChargeSet.html +37 -37
  38. data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +26 -26
  39. data/doc/classes/TaskJuggler/ColumnListAttribute.html +20 -20
  40. data/doc/classes/TaskJuggler/ColumnTable.html +40 -40
  41. data/doc/classes/TaskJuggler/DateAttribute.html +54 -15
  42. data/doc/classes/TaskJuggler/DefinitionListAttribute.html +10 -10
  43. data/doc/classes/TaskJuggler/DependencyListAttribute.html +47 -47
  44. data/doc/classes/TaskJuggler/DurationAttribute.html +30 -30
  45. data/doc/classes/TaskJuggler/FixnumAttribute.html +20 -20
  46. data/doc/classes/TaskJuggler/FlagListAttribute.html +43 -43
  47. data/doc/classes/TaskJuggler/FloatAttribute.html +30 -30
  48. data/doc/classes/TaskJuggler/FormatListAttribute.html +21 -21
  49. data/doc/classes/TaskJuggler/GanttChart.html +48 -48
  50. data/doc/classes/TaskJuggler/GanttContainer.html +42 -42
  51. data/doc/classes/TaskJuggler/GanttHeader.html +12 -12
  52. data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +12 -12
  53. data/doc/classes/TaskJuggler/GanttLine.html +24 -24
  54. data/doc/classes/TaskJuggler/GanttLoadStack.html +18 -18
  55. data/doc/classes/TaskJuggler/GanttMilestone.html +42 -42
  56. data/doc/classes/TaskJuggler/GanttRouter.html +24 -24
  57. data/doc/classes/TaskJuggler/GanttTaskBar.html +42 -42
  58. data/doc/classes/TaskJuggler/HTMLDocument.html +13 -13
  59. data/doc/classes/TaskJuggler/HTMLGraphics.html +12 -12
  60. data/doc/classes/TaskJuggler/Interval.html +57 -57
  61. data/doc/classes/TaskJuggler/IntervalListAttribute.html +47 -47
  62. data/doc/classes/TaskJuggler/JobInfo.html +68 -12
  63. data/doc/classes/TaskJuggler/Journal.html +266 -20
  64. data/doc/classes/TaskJuggler/JournalEntry.html +79 -23
  65. data/doc/classes/TaskJuggler/JournalEntryList.html +454 -0
  66. data/doc/classes/TaskJuggler/KeywordArray.html +10 -10
  67. data/doc/classes/TaskJuggler/KeywordDocumentation.html +171 -170
  68. data/doc/classes/TaskJuggler/Limits.html +36 -36
  69. data/doc/classes/TaskJuggler/Limits/Limit.html +30 -30
  70. data/doc/classes/TaskJuggler/LimitsAttribute.html +40 -40
  71. data/doc/classes/TaskJuggler/ListAttributeBase.html +20 -20
  72. data/doc/classes/TaskJuggler/Log.html +145 -107
  73. data/doc/classes/TaskJuggler/LogicalAttribute.html +65 -36
  74. data/doc/classes/TaskJuggler/LogicalExpression.html +61 -24
  75. data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +20 -20
  76. data/doc/classes/TaskJuggler/LogicalFlag.html +31 -51
  77. data/doc/classes/TaskJuggler/LogicalFunction.html +64 -53
  78. data/doc/classes/TaskJuggler/LogicalOperation.html +103 -55
  79. data/doc/classes/TaskJuggler/Macro.html +6 -6
  80. data/doc/classes/TaskJuggler/MacroParser.html +36 -36
  81. data/doc/classes/TaskJuggler/MacroTable.html +37 -37
  82. data/doc/classes/TaskJuggler/Message.html +12 -12
  83. data/doc/classes/TaskJuggler/MessageHandler.html +32 -20
  84. data/doc/classes/TaskJuggler/Navigator.html +110 -46
  85. data/doc/classes/TaskJuggler/NavigatorElement.html +449 -0
  86. data/doc/classes/TaskJuggler/OnShiftCache.html +24 -24
  87. data/doc/classes/TaskJuggler/Project.html +1158 -893
  88. data/doc/classes/TaskJuggler/ProjectFileParser.html +94 -91
  89. data/doc/classes/TaskJuggler/PropertyAttribute.html +20 -20
  90. data/doc/classes/TaskJuggler/PropertyList.html +225 -155
  91. data/doc/classes/TaskJuggler/PropertySet.html +375 -332
  92. data/doc/classes/TaskJuggler/PropertyTreeNode.html +750 -510
  93. data/doc/classes/TaskJuggler/Query.html +404 -139
  94. data/doc/classes/TaskJuggler/{RTPNavigator.html → RTFNavigator.html} +57 -56
  95. data/doc/classes/TaskJuggler/RTFQuery.html +343 -0
  96. data/doc/classes/TaskJuggler/{RTPReport.html → RTFReport.html} +70 -67
  97. data/doc/classes/TaskJuggler/RealFormat.html +18 -18
  98. data/doc/classes/TaskJuggler/RealFormatAttribute.html +10 -10
  99. data/doc/classes/TaskJuggler/ReferenceAttribute.html +107 -40
  100. data/doc/classes/TaskJuggler/RemoteServiceManager.html +335 -0
  101. data/doc/classes/TaskJuggler/Report.html +66 -64
  102. data/doc/classes/TaskJuggler/ReportBase.html +112 -123
  103. data/doc/classes/TaskJuggler/ReportContext.html +43 -38
  104. data/doc/classes/TaskJuggler/ReportServer.html +320 -0
  105. data/doc/classes/TaskJuggler/ReportTable.html +42 -42
  106. data/doc/classes/TaskJuggler/ReportTableCell.html +221 -129
  107. data/doc/classes/TaskJuggler/ReportTableColumn.html +27 -27
  108. data/doc/classes/TaskJuggler/ReportTableLegend.html +24 -24
  109. data/doc/classes/TaskJuggler/ReportTableLine.html +126 -80
  110. data/doc/classes/TaskJuggler/Resource.html +12 -12
  111. data/doc/classes/TaskJuggler/ResourceListAttribute.html +82 -47
  112. data/doc/classes/TaskJuggler/ResourceListRE.html +43 -39
  113. data/doc/classes/TaskJuggler/ResourceScenario.html +413 -321
  114. data/doc/classes/TaskJuggler/RichText.html +64 -248
  115. data/doc/classes/TaskJuggler/RichTextAttribute.html +94 -30
  116. data/doc/classes/TaskJuggler/RichTextDocument.html +87 -85
  117. data/doc/classes/TaskJuggler/RichTextElement.html +456 -363
  118. data/doc/classes/TaskJuggler/RichTextException.html +13 -13
  119. data/doc/classes/TaskJuggler/{RichTextProtocolExample.html → RichTextFunctionExample.html} +64 -63
  120. data/doc/classes/TaskJuggler/{RichTextProtocolHandler.html → RichTextFunctionHandler.html} +42 -36
  121. data/doc/classes/TaskJuggler/RichTextIntermediate.html +563 -0
  122. data/doc/classes/TaskJuggler/RichTextParser.html +54 -51
  123. data/doc/classes/TaskJuggler/RichTextScanner.html +94 -92
  124. data/doc/classes/TaskJuggler/RichTextSnip.html +96 -60
  125. data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +369 -227
  126. data/doc/classes/TaskJuggler/Scenario.html +6 -6
  127. data/doc/classes/TaskJuggler/ScenarioData.html +37 -37
  128. data/doc/classes/TaskJuggler/ScenarioListAttribute.html +31 -31
  129. data/doc/classes/TaskJuggler/Scoreboard.html +66 -66
  130. data/doc/classes/TaskJuggler/Shift.html +18 -18
  131. data/doc/classes/TaskJuggler/ShiftAssignment.html +54 -54
  132. data/doc/classes/TaskJuggler/ShiftAssignments.html +78 -78
  133. data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +40 -40
  134. data/doc/classes/TaskJuggler/ShiftScenario.html +24 -24
  135. data/doc/classes/TaskJuggler/SortListAttribute.html +22 -22
  136. data/doc/classes/TaskJuggler/SourceFileInfo.html +12 -12
  137. data/doc/classes/TaskJuggler/StringAttribute.html +30 -30
  138. data/doc/classes/TaskJuggler/SymbolAttribute.html +20 -20
  139. data/doc/classes/TaskJuggler/SyntaxReference.html +42 -42
  140. data/doc/classes/TaskJuggler/TOCEntry.html +12 -12
  141. data/doc/classes/TaskJuggler/TSResourceRecord.html +197 -0
  142. data/doc/classes/TaskJuggler/TSTaskRecord.html +215 -0
  143. data/doc/classes/TaskJuggler/TableColumnDefinition.html +64 -43
  144. data/doc/classes/TaskJuggler/TableOfContents.html +18 -18
  145. data/doc/classes/TaskJuggler/TableReport.html +447 -468
  146. data/doc/classes/TaskJuggler/Task.html +12 -12
  147. data/doc/classes/TaskJuggler/TaskDependency.html +12 -12
  148. data/doc/classes/TaskJuggler/TaskListAttribute.html +47 -47
  149. data/doc/classes/TaskJuggler/TaskListRE.html +43 -39
  150. data/doc/classes/TaskJuggler/TaskScenario.html +529 -282
  151. data/doc/classes/TaskJuggler/TextParser.html +215 -194
  152. data/doc/classes/TaskJuggler/TextParser/Pattern.html +97 -97
  153. data/doc/classes/TaskJuggler/TextParser/Rule.html +84 -84
  154. data/doc/classes/TaskJuggler/TextParser/StackElement.html +16 -15
  155. data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +12 -12
  156. data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +6 -6
  157. data/doc/classes/TaskJuggler/TextReport.html +77 -74
  158. data/doc/classes/TaskJuggler/TextScanner.html +294 -281
  159. data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +70 -70
  160. data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +59 -60
  161. data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +12 -12
  162. data/doc/classes/TaskJuggler/TimeSheetReport.html +406 -0
  163. data/doc/classes/TaskJuggler/TjException.html +6 -6
  164. data/doc/classes/TaskJuggler/TjTime.html +522 -513
  165. data/doc/classes/TaskJuggler/TjpExample.html +25 -25
  166. data/doc/classes/TaskJuggler/TjpExportRE.html +21 -24
  167. data/doc/classes/TaskJuggler/TjpSyntaxRules.html +6177 -4318
  168. data/doc/classes/TaskJuggler/UserManual.html +212 -213
  169. data/doc/classes/TaskJuggler/WorkingHours.html +49 -49
  170. data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +53 -53
  171. data/doc/classes/TaskJuggler/XMLBlob.html +21 -21
  172. data/doc/classes/TaskJuggler/XMLComment.html +21 -21
  173. data/doc/classes/TaskJuggler/XMLDocument.html +27 -26
  174. data/doc/classes/TaskJuggler/XMLElement.html +86 -50
  175. data/doc/classes/TaskJuggler/XMLNamedText.html +11 -11
  176. data/doc/classes/TaskJuggler/XMLText.html +36 -36
  177. data/doc/files/COPYING.html +1 -1
  178. data/doc/files/README.html +1 -1
  179. data/doc/files/lib/AccountScenario_rb.html +3 -2
  180. data/doc/files/lib/Account_rb.html +3 -2
  181. data/doc/files/lib/Allocation_rb.html +3 -2
  182. data/doc/files/lib/AppConfig_rb.html +5 -2
  183. data/doc/files/lib/AttributeBase_rb.html +3 -2
  184. data/doc/files/lib/AttributeDefinition_rb.html +3 -2
  185. data/doc/files/lib/Attributes_rb.html +3 -2
  186. data/doc/files/lib/BatchProcessor_rb.html +4 -3
  187. data/doc/files/lib/Booking_rb.html +3 -2
  188. data/doc/files/lib/ChargeSet_rb.html +3 -2
  189. data/doc/files/lib/Charge_rb.html +3 -2
  190. data/doc/files/lib/HTMLDocument_rb.html +3 -2
  191. data/doc/files/lib/Interval_rb.html +3 -2
  192. data/doc/files/lib/Journal_rb.html +4 -3
  193. data/doc/files/lib/KeywordArray_rb.html +3 -2
  194. data/doc/files/lib/KeywordDocumentation_rb.html +3 -2
  195. data/doc/files/lib/Limits_rb.html +3 -2
  196. data/doc/files/lib/Log_rb.html +3 -2
  197. data/doc/files/lib/LogicalExpression_rb.html +3 -2
  198. data/doc/files/lib/LogicalFunction_rb.html +3 -2
  199. data/doc/files/lib/LogicalOperation_rb.html +3 -2
  200. data/doc/files/lib/MacroParser_rb.html +3 -2
  201. data/doc/files/lib/MacroTable_rb.html +3 -2
  202. data/doc/files/lib/MessageHandler_rb.html +3 -2
  203. data/doc/files/lib/Message_rb.html +3 -2
  204. data/doc/files/lib/ProjectFileParser_rb.html +7 -4
  205. data/doc/files/lib/Project_rb.html +3 -2
  206. data/doc/files/lib/PropertyList_rb.html +3 -2
  207. data/doc/files/lib/PropertySet_rb.html +3 -2
  208. data/doc/files/lib/PropertyTreeNode_rb.html +3 -2
  209. data/doc/files/lib/Query_rb.html +3 -2
  210. data/doc/files/lib/{RTPNavigator_rb.html → RTFNavigator_rb.html} +8 -7
  211. data/doc/files/lib/RTFQuery_rb.html +121 -0
  212. data/doc/files/lib/{RTPReport_rb.html → RTFReport_rb.html} +8 -7
  213. data/doc/files/lib/RealFormat_rb.html +3 -2
  214. data/doc/files/lib/RemoteServiceManager_rb.html +117 -0
  215. data/doc/files/lib/ReportServer_rb.html +107 -0
  216. data/doc/files/lib/ResourceScenario_rb.html +3 -2
  217. data/doc/files/lib/Resource_rb.html +3 -2
  218. data/doc/files/lib/RichTextDocument_rb.html +4 -3
  219. data/doc/files/lib/RichTextElement_rb.html +3 -2
  220. data/doc/files/lib/{RichTextProtocolExample_rb.html → RichTextFunctionExample_rb.html} +8 -7
  221. data/doc/files/lib/{RichTextProtocolHandler_rb.html → RichTextFunctionHandler_rb.html} +7 -6
  222. data/doc/files/lib/RichTextParser_rb.html +3 -2
  223. data/doc/files/lib/RichTextScanner_rb.html +3 -2
  224. data/doc/files/lib/RichTextSnip_rb.html +3 -2
  225. data/doc/files/lib/RichTextSyntaxRules_rb.html +3 -2
  226. data/doc/files/lib/RichText_rb.html +3 -2
  227. data/doc/files/lib/ScenarioData_rb.html +3 -2
  228. data/doc/files/lib/Scenario_rb.html +3 -2
  229. data/doc/files/lib/Scoreboard_rb.html +3 -2
  230. data/doc/files/lib/ShiftAssignments_rb.html +3 -2
  231. data/doc/files/lib/ShiftScenario_rb.html +3 -2
  232. data/doc/files/lib/Shift_rb.html +3 -2
  233. data/doc/files/lib/SourceFileInfo_rb.html +3 -2
  234. data/doc/files/lib/SyntaxReference_rb.html +3 -2
  235. data/doc/files/lib/TOCEntry_rb.html +3 -2
  236. data/doc/files/lib/TableColumnDefinition_rb.html +3 -2
  237. data/doc/files/lib/TableOfContents_rb.html +3 -2
  238. data/doc/files/lib/TaskDependency_rb.html +3 -2
  239. data/doc/files/lib/TaskJuggler_rb.html +7 -2
  240. data/doc/files/lib/TaskScenario_rb.html +3 -2
  241. data/doc/files/lib/Task_rb.html +3 -2
  242. data/doc/files/lib/TextParser/Pattern_rb.html +4 -3
  243. data/doc/files/lib/TextParser/Rule_rb.html +4 -3
  244. data/doc/files/lib/TextParser/StackElement_rb.html +4 -3
  245. data/doc/files/lib/TextParser/TokenDoc_rb.html +4 -3
  246. data/doc/files/lib/TextParser_rb.html +3 -2
  247. data/doc/files/lib/TextScanner_rb.html +3 -2
  248. data/doc/files/lib/Tj3Config_rb.html +3 -2
  249. data/doc/files/lib/TjException_rb.html +3 -2
  250. data/doc/files/lib/TjTime_rb.html +3 -2
  251. data/doc/files/lib/TjpExample_rb.html +3 -2
  252. data/doc/files/lib/TjpSyntaxRules_rb.html +3 -2
  253. data/doc/files/lib/UTF8String_rb.html +14 -6
  254. data/doc/files/lib/UserManual_rb.html +6 -3
  255. data/doc/files/lib/WorkingHours_rb.html +3 -2
  256. data/doc/files/lib/XMLDocument_rb.html +3 -2
  257. data/doc/files/lib/XMLElement_rb.html +3 -2
  258. data/doc/files/lib/deep_copy_rb.html +3 -2
  259. data/doc/files/lib/reports/CSVFile_rb.html +3 -2
  260. data/doc/files/lib/reports/ColumnTable_rb.html +3 -2
  261. data/doc/files/lib/reports/GanttChart_rb.html +3 -2
  262. data/doc/files/lib/reports/GanttContainer_rb.html +3 -2
  263. data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +3 -2
  264. data/doc/files/lib/reports/GanttHeader_rb.html +3 -2
  265. data/doc/files/lib/reports/GanttLine_rb.html +3 -2
  266. data/doc/files/lib/reports/GanttLoadStack_rb.html +3 -2
  267. data/doc/files/lib/reports/GanttMilestone_rb.html +3 -2
  268. data/doc/files/lib/reports/GanttRouter_rb.html +3 -2
  269. data/doc/files/lib/reports/GanttTaskBar_rb.html +3 -2
  270. data/doc/files/lib/reports/HTMLGraphics_rb.html +3 -2
  271. data/doc/files/lib/reports/Navigator_rb.html +3 -2
  272. data/doc/files/lib/reports/ReportBase_rb.html +3 -2
  273. data/doc/files/lib/reports/ReportContext_rb.html +3 -2
  274. data/doc/files/lib/reports/ReportTableCell_rb.html +3 -2
  275. data/doc/files/lib/reports/ReportTableColumn_rb.html +3 -2
  276. data/doc/files/lib/reports/ReportTableLegend_rb.html +3 -2
  277. data/doc/files/lib/reports/ReportTableLine_rb.html +3 -2
  278. data/doc/files/lib/reports/ReportTable_rb.html +3 -2
  279. data/doc/files/lib/reports/Report_rb.html +7 -2
  280. data/doc/files/lib/reports/ResourceListRE_rb.html +3 -2
  281. data/doc/files/lib/reports/TableReport_rb.html +3 -2
  282. data/doc/files/lib/reports/TaskListRE_rb.html +3 -2
  283. data/doc/files/lib/reports/TextReport_rb.html +4 -3
  284. data/doc/files/lib/reports/TimeSheetReport_rb.html +117 -0
  285. data/doc/files/lib/reports/TjpExportRE_rb.html +3 -2
  286. data/doc/files/lib/taskjuggler3_rb.html +94 -77
  287. data/doc/files/lib/tj3client_rb.html +280 -0
  288. data/doc/files/lib/tj3man_rb.html +10 -9
  289. data/doc/fr_class_index.html +27 -5
  290. data/doc/fr_file_index.html +15 -7
  291. data/doc/fr_method_index.html +1312 -1020
  292. data/examples/tutorial.tjp +113 -14
  293. data/gem_spec.rb +2 -1
  294. data/lib/Account.rb +1 -1
  295. data/lib/AccountScenario.rb +1 -1
  296. data/lib/Allocation.rb +1 -1
  297. data/lib/AppConfig.rb +23 -10
  298. data/lib/AttributeBase.rb +34 -6
  299. data/lib/AttributeDefinition.rb +1 -1
  300. data/lib/Attributes.rb +51 -16
  301. data/lib/BatchProcessor.rb +204 -77
  302. data/lib/Booking.rb +1 -1
  303. data/lib/Charge.rb +1 -1
  304. data/lib/ChargeSet.rb +1 -1
  305. data/lib/HTMLDocument.rb +2 -2
  306. data/lib/Interval.rb +1 -1
  307. data/lib/Journal.rb +231 -9
  308. data/lib/KeywordArray.rb +1 -1
  309. data/lib/KeywordDocumentation.rb +6 -4
  310. data/lib/Limits.rb +1 -1
  311. data/lib/Log.rb +8 -1
  312. data/lib/LogicalExpression.rb +14 -13
  313. data/lib/LogicalFunction.rb +88 -14
  314. data/lib/LogicalOperation.rb +124 -53
  315. data/lib/MacroParser.rb +1 -1
  316. data/lib/MacroTable.rb +2 -2
  317. data/lib/Message.rb +1 -1
  318. data/lib/MessageHandler.rb +7 -3
  319. data/lib/Project.rb +93 -14
  320. data/lib/ProjectFileParser.rb +30 -15
  321. data/lib/PropertyList.rb +103 -36
  322. data/lib/PropertySet.rb +22 -10
  323. data/lib/PropertyTreeNode.rb +120 -15
  324. data/lib/Query.rb +119 -48
  325. data/lib/{RTPNavigator.rb → RTFNavigator.rb} +11 -10
  326. data/lib/RTFQuery.rb +166 -0
  327. data/lib/{RTPReport.rb → RTFReport.rb} +11 -8
  328. data/lib/RealFormat.rb +1 -1
  329. data/lib/RemoteServiceManager.rb +80 -0
  330. data/lib/ReportServer.rb +66 -0
  331. data/lib/Resource.rb +1 -1
  332. data/lib/ResourceScenario.rb +48 -19
  333. data/lib/RichText.rb +98 -41
  334. data/lib/RichTextDocument.rb +10 -8
  335. data/lib/RichTextElement.rb +72 -28
  336. data/lib/{RichTextProtocolExample.rb → RichTextFunctionExample.rb} +8 -7
  337. data/lib/{RichTextProtocolHandler.rb → RichTextFunctionHandler.rb} +12 -14
  338. data/lib/RichTextParser.rb +6 -3
  339. data/lib/RichTextScanner.rb +91 -19
  340. data/lib/RichTextSnip.rb +8 -3
  341. data/lib/RichTextSyntaxRules.rb +103 -45
  342. data/lib/Scenario.rb +1 -1
  343. data/lib/ScenarioData.rb +2 -2
  344. data/lib/Scoreboard.rb +1 -1
  345. data/lib/Shift.rb +1 -1
  346. data/lib/ShiftAssignments.rb +1 -1
  347. data/lib/ShiftScenario.rb +1 -1
  348. data/lib/SourceFileInfo.rb +1 -1
  349. data/lib/SyntaxReference.rb +2 -2
  350. data/lib/TOCEntry.rb +1 -1
  351. data/lib/TableColumnDefinition.rb +59 -16
  352. data/lib/TableOfContents.rb +1 -1
  353. data/lib/Task.rb +1 -1
  354. data/lib/TaskDependency.rb +1 -1
  355. data/lib/TaskJuggler.rb +31 -8
  356. data/lib/TaskScenario.rb +165 -16
  357. data/lib/TextParser.rb +36 -22
  358. data/lib/TextParser/Pattern.rb +3 -3
  359. data/lib/TextParser/Rule.rb +2 -2
  360. data/lib/TextParser/StackElement.rb +4 -3
  361. data/lib/TextParser/TokenDoc.rb +2 -2
  362. data/lib/TextScanner.rb +52 -37
  363. data/lib/Tj3Config.rb +6 -5
  364. data/lib/TjException.rb +1 -1
  365. data/lib/TjTime.rb +12 -3
  366. data/lib/TjpExample.rb +1 -1
  367. data/lib/TjpSyntaxRules.rb +1044 -150
  368. data/lib/UTF8String.rb +2 -1
  369. data/lib/UserManual.rb +18 -70
  370. data/lib/WorkingHours.rb +3 -3
  371. data/lib/XMLDocument.rb +3 -2
  372. data/lib/XMLElement.rb +6 -1
  373. data/lib/deep_copy.rb +1 -1
  374. data/lib/reports/CSVFile.rb +1 -1
  375. data/lib/reports/ColumnTable.rb +9 -9
  376. data/lib/reports/GanttChart.rb +1 -1
  377. data/lib/reports/GanttContainer.rb +1 -1
  378. data/lib/reports/GanttHeader.rb +1 -1
  379. data/lib/reports/GanttHeaderScaleItem.rb +1 -1
  380. data/lib/reports/GanttLine.rb +40 -40
  381. data/lib/reports/GanttLoadStack.rb +1 -1
  382. data/lib/reports/GanttMilestone.rb +1 -1
  383. data/lib/reports/GanttRouter.rb +1 -1
  384. data/lib/reports/GanttTaskBar.rb +1 -1
  385. data/lib/reports/HTMLGraphics.rb +1 -1
  386. data/lib/reports/Navigator.rb +149 -22
  387. data/lib/reports/Report.rb +115 -172
  388. data/lib/reports/ReportBase.rb +22 -27
  389. data/lib/reports/ReportContext.rb +29 -15
  390. data/lib/reports/ReportTable.rb +1 -1
  391. data/lib/reports/ReportTableCell.rb +120 -27
  392. data/lib/reports/ReportTableColumn.rb +3 -3
  393. data/lib/reports/ReportTableLegend.rb +1 -1
  394. data/lib/reports/ReportTableLine.rb +10 -2
  395. data/lib/reports/ResourceListRE.rb +5 -1
  396. data/lib/reports/TableReport.rb +237 -287
  397. data/lib/reports/TaskListRE.rb +5 -1
  398. data/lib/reports/TextReport.rb +7 -4
  399. data/lib/reports/TimeSheetReport.rb +233 -0
  400. data/lib/reports/TjpExportRE.rb +2 -2
  401. data/lib/taskjuggler3.rb +27 -11
  402. data/lib/tj3client.rb +110 -0
  403. data/lib/tj3man.rb +4 -4
  404. data/manual/Getting_Started +0 -50
  405. data/manual/How_To_Contribute +6 -13
  406. data/manual/Installation +102 -28
  407. data/manual/Intro +11 -1
  408. data/manual/Reporting_Bugs +23 -7
  409. data/manual/Rich_Text_Attributes +59 -6
  410. data/manual/TaskJuggler_2x_Migration +27 -0
  411. data/manual/The_TaskJuggler_Syntax +104 -0
  412. data/manual/Tutorial +10 -9
  413. data/prj_cfg.rb +8 -2
  414. data/tasks/csts.rake +1 -1
  415. data/tasks/manual.rake +5 -3
  416. data/test/MessageChecker.rb +1 -1
  417. data/test/TestSuite/HTML-Reports/Alerts.html +172 -0
  418. data/test/TestSuite/HTML-Reports/Alerts.tjp +77 -0
  419. data/test/TestSuite/HTML-Reports/CellText.html +758 -0
  420. data/test/TestSuite/HTML-Reports/CellText.tjp +75 -0
  421. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
  422. data/test/TestSuite/HTML-Reports/ColumnPeriods.tjp +44 -0
  423. data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
  424. data/test/TestSuite/HTML-Reports/IsOngoing.tjp +34 -0
  425. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +80 -0
  426. data/test/TestSuite/HTML-Reports/LogicalFunctions.tjp +20 -0
  427. data/test/TestSuite/HTML-Reports/Query.html +31 -0
  428. data/test/TestSuite/HTML-Reports/Query.tjp +28 -0
  429. data/test/TestSuite/HTML-Reports/Sorting.tjp +68 -0
  430. data/test/TestSuite/HTML-Reports/TimeSheet.tjp +69 -0
  431. data/test/TestSuite/HTML-Reports/UDAQuery.tjp +27 -0
  432. data/test/TestSuite/HTML-Reports/css/tjmanual.css +52 -0
  433. data/test/TestSuite/HTML-Reports/css/tjreport.css +195 -0
  434. data/test/TestSuite/HTML-Reports/depArrows.html +842 -0
  435. data/test/TestSuite/HTML-Reports/icons/details.png +0 -0
  436. data/test/TestSuite/HTML-Reports/icons/flag-green.png +0 -0
  437. data/test/TestSuite/HTML-Reports/icons/flag-red.png +0 -0
  438. data/test/TestSuite/HTML-Reports/icons/flag-yellow.png +0 -0
  439. data/test/TestSuite/HTML-Reports/icons/resource.png +0 -0
  440. data/test/TestSuite/HTML-Reports/icons/resourcegroup.png +0 -0
  441. data/test/TestSuite/HTML-Reports/icons/task.png +0 -0
  442. data/test/TestSuite/HTML-Reports/icons/taskgroup.png +0 -0
  443. data/test/TestSuite/HTML-Reports/reference.tjp +7 -8
  444. data/test/TestSuite/HTML-Reports/scripts/scripts/wz_tooltip.js +1301 -0
  445. data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +1301 -0
  446. data/test/TestSuite/Scheduler/Correct/Mandatory.tjp +34 -0
  447. data/test/TestSuite/Syntax/Correct/Celltext.tjp +2 -1
  448. data/test/TestSuite/Syntax/Correct/Journal.tjp +2 -2
  449. data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +2 -1
  450. data/test/TestSuite/Syntax/Correct/LogicalFunction.tjp +20 -0
  451. data/test/TestSuite/Syntax/Correct/Query.tjp +18 -0
  452. data/test/TestSuite/Syntax/Correct/StatusSheet.tjp +45 -0
  453. data/test/TestSuite/Syntax/Correct/TimeSheet.tjp +49 -0
  454. data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
  455. data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
  456. data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
  457. data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
  458. data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
  459. data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
  460. data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
  461. data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
  462. data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
  463. data/test/TestSuite/Syntax/Correct/tutorial.tjp +113 -14
  464. data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +28 -0
  465. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +12 -0
  466. data/test/all.rb +2 -2
  467. data/test/test_BatchProcessor.rb +42 -13
  468. data/test/test_CSV-Reports.rb +1 -1
  469. data/test/test_Journal.rb +176 -0
  470. data/test/test_Limits.rb +1 -1
  471. data/test/test_LogicalExpression.rb +14 -5
  472. data/test/test_MacroTable.rb +1 -1
  473. data/test/test_Project.rb +1 -1
  474. data/test/test_PropertySet.rb +1 -1
  475. data/test/test_Query.rb +1 -1
  476. data/test/test_RealFormat.rb +1 -1
  477. data/test/test_RichText.rb +30 -20
  478. data/test/test_Scheduler.rb +1 -1
  479. data/test/test_ShiftAssignments.rb +2 -2
  480. data/test/test_Syntax.rb +1 -1
  481. data/test/test_TextScanner.rb +1 -1
  482. data/test/test_TjTime.rb +1 -1
  483. data/test/test_TjpExample.rb +1 -1
  484. data/test/test_UTF8String.rb +1 -1
  485. data/test/test_WorkingHours.rb +1 -1
  486. data/test/test_deep_copy.rb +2 -2
  487. metadata +610 -532
  488. data/doc/files/lib/ms_test_rb.html +0 -90
  489. data/examples/ContactList.html +0 -1467
  490. data/examples/Deliveries.html +0 -485
  491. data/examples/Development.html +0 -2525
  492. data/examples/Overview.html +0 -747
  493. data/examples/Resource Graph.html +0 -616
  494. data/lib/ms_test.rb +0 -27
  495. data/test/TestSuite/HTML-Reports/reference-export.html +0 -187
@@ -103,9 +103,9 @@ a comment.
103
103
 
104
104
  <div class="name-list">
105
105
 
106
- <a href="#M000781">new</a>&nbsp;&nbsp;
106
+ <a href="#M000334">new</a>&nbsp;&nbsp;
107
107
 
108
- <a href="#M000782">to_s</a>&nbsp;&nbsp;
108
+ <a href="#M000335">to_s</a>&nbsp;&nbsp;
109
109
 
110
110
  </div>
111
111
  </div>
@@ -126,12 +126,12 @@ a comment.
126
126
  <h3 class="section-bar">Public Class methods</h3>
127
127
 
128
128
 
129
- <div id="method-M000781" class="method-detail">
130
- <a name="M000781"></a>
129
+ <div id="method-M000334" class="method-detail">
130
+ <a name="M000334"></a>
131
131
 
132
132
  <div class="method-heading">
133
133
 
134
- <a href="#M000781" class="method-signature">
134
+ <a href="#M000334" class="method-signature">
135
135
 
136
136
  <span class="method-name">new</span><span class="method-args">(text = '')</span>
137
137
 
@@ -142,14 +142,14 @@ a comment.
142
142
  <div class="method-description">
143
143
 
144
144
  <p><a class="source-toggle" href="#"
145
- onclick="toggleCode('M000781-source');return false;">[Source]</a></p>
146
- <div class="method-source-code" id="M000781-source">
145
+ onclick="toggleCode('M000334-source');return false;">[Source]</a></p>
146
+ <div class="method-source-code" id="M000334-source">
147
147
  <pre>
148
- <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 156</span>
149
- 156: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">text</span> = <span class="ruby-value str">''</span>)
150
- 157: <span class="ruby-keyword kw">super</span>(<span class="ruby-keyword kw">nil</span>, {})
151
- 158: <span class="ruby-ivar">@text</span> = <span class="ruby-identifier">text</span>
152
- 159: <span class="ruby-keyword kw">end</span>
148
+ <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 161</span>
149
+ 161: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">text</span> = <span class="ruby-value str">''</span>)
150
+ 162: <span class="ruby-keyword kw">super</span>(<span class="ruby-keyword kw">nil</span>, {})
151
+ 163: <span class="ruby-ivar">@text</span> = <span class="ruby-identifier">text</span>
152
+ 164: <span class="ruby-keyword kw">end</span>
153
153
  </pre>
154
154
  </div>
155
155
 
@@ -160,12 +160,12 @@ a comment.
160
160
  <h3 class="section-bar">Public Instance methods</h3>
161
161
 
162
162
 
163
- <div id="method-M000782" class="method-detail">
164
- <a name="M000782"></a>
163
+ <div id="method-M000335" class="method-detail">
164
+ <a name="M000335"></a>
165
165
 
166
166
  <div class="method-heading">
167
167
 
168
- <a href="#M000782" class="method-signature">
168
+ <a href="#M000335" class="method-signature">
169
169
 
170
170
  <span class="method-name">to_s</span><span class="method-args">(indent)</span>
171
171
 
@@ -176,13 +176,13 @@ a comment.
176
176
  <div class="method-description">
177
177
 
178
178
  <p><a class="source-toggle" href="#"
179
- onclick="toggleCode('M000782-source');return false;">[Source]</a></p>
180
- <div class="method-source-code" id="M000782-source">
179
+ onclick="toggleCode('M000335-source');return false;">[Source]</a></p>
180
+ <div class="method-source-code" id="M000335-source">
181
181
  <pre>
182
- <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 161</span>
183
- 161: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">indent</span>)
184
- 162: <span class="ruby-value str">'&lt;!-- '</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@text</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'--&gt;'</span>
185
- 163: <span class="ruby-keyword kw">end</span>
182
+ <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 166</span>
183
+ 166: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">indent</span>)
184
+ 167: <span class="ruby-value str">'&lt;!-- '</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@text</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'--&gt;'</span>
185
+ 168: <span class="ruby-keyword kw">end</span>
186
186
  </pre>
187
187
  </div>
188
188
 
@@ -106,13 +106,13 @@ lots of attributes.
106
106
 
107
107
  <div class="name-list">
108
108
 
109
- <a href="#M000769">&lt;&lt;</a>&nbsp;&nbsp;
109
+ <a href="#M001045">&lt;&lt;</a>&nbsp;&nbsp;
110
110
 
111
- <a href="#M000768">new</a>&nbsp;&nbsp;
111
+ <a href="#M001044">new</a>&nbsp;&nbsp;
112
112
 
113
- <a href="#M000770">to_s</a>&nbsp;&nbsp;
113
+ <a href="#M001046">to_s</a>&nbsp;&nbsp;
114
114
 
115
- <a href="#M000771">write</a>&nbsp;&nbsp;
115
+ <a href="#M001047">write</a>&nbsp;&nbsp;
116
116
 
117
117
  </div>
118
118
  </div>
@@ -133,12 +133,12 @@ lots of attributes.
133
133
  <h3 class="section-bar">Public Class methods</h3>
134
134
 
135
135
 
136
- <div id="method-M000768" class="method-detail">
137
- <a name="M000768"></a>
136
+ <div id="method-M001044" class="method-detail">
137
+ <a name="M001044"></a>
138
138
 
139
139
  <div class="method-heading">
140
140
 
141
- <a href="#M000768" class="method-signature">
141
+ <a href="#M001044" class="method-signature">
142
142
 
143
143
  <span class="method-name">new</span><span class="method-args">()</span>
144
144
 
@@ -153,8 +153,8 @@ Create an empty XML document.
153
153
  </p>
154
154
 
155
155
  <p><a class="source-toggle" href="#"
156
- onclick="toggleCode('M000768-source');return false;">[Source]</a></p>
157
- <div class="method-source-code" id="M000768-source">
156
+ onclick="toggleCode('M001044-source');return false;">[Source]</a></p>
157
+ <div class="method-source-code" id="M001044-source">
158
158
  <pre>
159
159
  <span class="ruby-comment cmt"># File lib/XMLDocument.rb, line 24</span>
160
160
  24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
@@ -170,12 +170,12 @@ Create an empty XML document.
170
170
  <h3 class="section-bar">Public Instance methods</h3>
171
171
 
172
172
 
173
- <div id="method-M000769" class="method-detail">
174
- <a name="M000769"></a>
173
+ <div id="method-M001045" class="method-detail">
174
+ <a name="M001045"></a>
175
175
 
176
176
  <div class="method-heading">
177
177
 
178
- <a href="#M000769" class="method-signature">
178
+ <a href="#M001045" class="method-signature">
179
179
 
180
180
  <span class="method-name">&lt;&lt;</span><span class="method-args">(element)</span>
181
181
 
@@ -190,8 +190,8 @@ Add a top-level <a href="XMLElement.html">XMLElement</a>.
190
190
  </p>
191
191
 
192
192
  <p><a class="source-toggle" href="#"
193
- onclick="toggleCode('M000769-source');return false;">[Source]</a></p>
194
- <div class="method-source-code" id="M000769-source">
193
+ onclick="toggleCode('M001045-source');return false;">[Source]</a></p>
194
+ <div class="method-source-code" id="M001045-source">
195
195
  <pre>
196
196
  <span class="ruby-comment cmt"># File lib/XMLDocument.rb, line 29</span>
197
197
  29: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;&lt;</span>(<span class="ruby-identifier">element</span>)
@@ -204,12 +204,12 @@ Add a top-level <a href="XMLElement.html">XMLElement</a>.
204
204
  </div>
205
205
 
206
206
 
207
- <div id="method-M000770" class="method-detail">
208
- <a name="M000770"></a>
207
+ <div id="method-M001046" class="method-detail">
208
+ <a name="M001046"></a>
209
209
 
210
210
  <div class="method-heading">
211
211
 
212
- <a href="#M000770" class="method-signature">
212
+ <a href="#M001046" class="method-signature">
213
213
 
214
214
  <span class="method-name">to_s</span><span class="method-args">()</span>
215
215
 
@@ -225,8 +225,8 @@ href="../String.html">String</a>.
225
225
  </p>
226
226
 
227
227
  <p><a class="source-toggle" href="#"
228
- onclick="toggleCode('M000770-source');return false;">[Source]</a></p>
229
- <div class="method-source-code" id="M000770-source">
228
+ onclick="toggleCode('M001046-source');return false;">[Source]</a></p>
229
+ <div class="method-source-code" id="M001046-source">
230
230
  <pre>
231
231
  <span class="ruby-comment cmt"># File lib/XMLDocument.rb, line 34</span>
232
232
  34: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
@@ -244,12 +244,12 @@ href="../String.html">String</a>.
244
244
  </div>
245
245
 
246
246
 
247
- <div id="method-M000771" class="method-detail">
248
- <a name="M000771"></a>
247
+ <div id="method-M001047" class="method-detail">
248
+ <a name="M001047"></a>
249
249
 
250
250
  <div class="method-heading">
251
251
 
252
- <a href="#M000771" class="method-signature">
252
+ <a href="#M001047" class="method-signature">
253
253
 
254
254
  <span class="method-name">write</span><span class="method-args">(filename)</span>
255
255
 
@@ -264,16 +264,17 @@ Write the <a href="XMLDocument.html">XMLDocument</a> to the specified file.
264
264
  </p>
265
265
 
266
266
  <p><a class="source-toggle" href="#"
267
- onclick="toggleCode('M000771-source');return false;">[Source]</a></p>
268
- <div class="method-source-code" id="M000771-source">
267
+ onclick="toggleCode('M001047-source');return false;">[Source]</a></p>
268
+ <div class="method-source-code" id="M001047-source">
269
269
  <pre>
270
270
  <span class="ruby-comment cmt"># File lib/XMLDocument.rb, line 44</span>
271
271
  44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">filename</span>)
272
- 45: <span class="ruby-identifier">f</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-value str">'w'</span>)
272
+ 45: <span class="ruby-identifier">f</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>.<span class="ruby-identifier">untaint</span>, <span class="ruby-value str">'w'</span>)
273
273
  46: <span class="ruby-ivar">@elements</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">element</span><span class="ruby-operator">|</span>
274
274
  47: <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">element</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-value">0</span>)
275
275
  48: <span class="ruby-keyword kw">end</span>
276
- 49: <span class="ruby-keyword kw">end</span>
276
+ 49: <span class="ruby-identifier">f</span>.<span class="ruby-identifier">close</span>
277
+ 50: <span class="ruby-keyword kw">end</span>
277
278
  </pre>
278
279
  </div>
279
280
 
@@ -103,13 +103,15 @@ trees can be constructed with the class constructor and converted into XML.
103
103
 
104
104
  <div class="name-list">
105
105
 
106
- <a href="#M000775">&lt;&lt;</a>&nbsp;&nbsp;
106
+ <a href="#M000327">&lt;&lt;</a>&nbsp;&nbsp;
107
107
 
108
- <a href="#M000777">indentation</a>&nbsp;&nbsp;
108
+ <a href="#M000328">[]=</a>&nbsp;&nbsp;
109
109
 
110
- <a href="#M000774">new</a>&nbsp;&nbsp;
110
+ <a href="#M000330">indentation</a>&nbsp;&nbsp;
111
111
 
112
- <a href="#M000776">to_s</a>&nbsp;&nbsp;
112
+ <a href="#M000326">new</a>&nbsp;&nbsp;
113
+
114
+ <a href="#M000329">to_s</a>&nbsp;&nbsp;
113
115
 
114
116
  </div>
115
117
  </div>
@@ -148,12 +150,12 @@ trees can be constructed with the class constructor and converted into XML.
148
150
  <h3 class="section-bar">Public Class methods</h3>
149
151
 
150
152
 
151
- <div id="method-M000774" class="method-detail">
152
- <a name="M000774"></a>
153
+ <div id="method-M000326" class="method-detail">
154
+ <a name="M000326"></a>
153
155
 
154
156
  <div class="method-heading">
155
157
 
156
- <a href="#M000774" class="method-signature">
158
+ <a href="#M000326" class="method-signature">
157
159
 
158
160
  <span class="method-name">new</span><span class="method-args">(name, attributes = {})</span>
159
161
 
@@ -169,8 +171,8 @@ href="XMLElement.html">XMLElement</a> tree.
169
171
  </p>
170
172
 
171
173
  <p><a class="source-toggle" href="#"
172
- onclick="toggleCode('M000774-source');return false;">[Source]</a></p>
173
- <div class="method-source-code" id="M000774-source">
174
+ onclick="toggleCode('M000326-source');return false;">[Source]</a></p>
175
+ <div class="method-source-code" id="M000326-source">
174
176
  <pre>
175
177
  <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 24</span>
176
178
  24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">attributes</span> = {})
@@ -199,12 +201,12 @@ href="XMLElement.html">XMLElement</a> tree.
199
201
  <h3 class="section-bar">Public Instance methods</h3>
200
202
 
201
203
 
202
- <div id="method-M000775" class="method-detail">
203
- <a name="M000775"></a>
204
+ <div id="method-M000327" class="method-detail">
205
+ <a name="M000327"></a>
204
206
 
205
207
  <div class="method-heading">
206
208
 
207
- <a href="#M000775" class="method-signature">
209
+ <a href="#M000327" class="method-signature">
208
210
 
209
211
  <span class="method-name">&lt;&lt;</span><span class="method-args">(arg)</span>
210
212
 
@@ -219,8 +221,8 @@ Add a new child or a set of new childs to the element.
219
221
  </p>
220
222
 
221
223
  <p><a class="source-toggle" href="#"
222
- onclick="toggleCode('M000775-source');return false;">[Source]</a></p>
223
- <div class="method-source-code" id="M000775-source">
224
+ onclick="toggleCode('M000327-source');return false;">[Source]</a></p>
225
+ <div class="method-source-code" id="M000327-source">
224
226
  <pre>
225
227
  <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 42</span>
226
228
  42: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;&lt;</span>(<span class="ruby-identifier">arg</span>)
@@ -252,12 +254,46 @@ Add a new child or a set of new childs to the element.
252
254
  </div>
253
255
 
254
256
 
255
- <div id="method-M000776" class="method-detail">
256
- <a name="M000776"></a>
257
+ <div id="method-M000328" class="method-detail">
258
+ <a name="M000328"></a>
259
+
260
+ <div class="method-heading">
261
+
262
+ <a href="#M000328" class="method-signature">
263
+
264
+ <span class="method-name">[]=</span><span class="method-args">(attribute, value)</span>
265
+
266
+ </a>
267
+
268
+ </div>
269
+
270
+ <div class="method-description">
271
+
272
+ <p>
273
+ Add or change <em>attribute</em> to <em>value</em>.
274
+ </p>
275
+
276
+ <p><a class="source-toggle" href="#"
277
+ onclick="toggleCode('M000328-source');return false;">[Source]</a></p>
278
+ <div class="method-source-code" id="M000328-source">
279
+ <pre>
280
+ <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 66</span>
281
+ 66: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">value</span>)
282
+ 67: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attribute</span>] = <span class="ruby-identifier">value</span>
283
+ 68: <span class="ruby-keyword kw">end</span>
284
+ </pre>
285
+ </div>
286
+
287
+ </div>
288
+ </div>
289
+
290
+
291
+ <div id="method-M000329" class="method-detail">
292
+ <a name="M000329"></a>
257
293
 
258
294
  <div class="method-heading">
259
295
 
260
- <a href="#M000776" class="method-signature">
296
+ <a href="#M000329" class="method-signature">
261
297
 
262
298
  <span class="method-name">to_s</span><span class="method-args">(indent = 0)</span>
263
299
 
@@ -272,31 +308,31 @@ Return the element and all sub elements as properly formatted XML.
272
308
  </p>
273
309
 
274
310
  <p><a class="source-toggle" href="#"
275
- onclick="toggleCode('M000776-source');return false;">[Source]</a></p>
276
- <div class="method-source-code" id="M000776-source">
311
+ onclick="toggleCode('M000329-source');return false;">[Source]</a></p>
312
+ <div class="method-source-code" id="M000329-source">
277
313
  <pre>
278
- <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 66</span>
279
- 66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">indent</span> = <span class="ruby-value">0</span>)
280
- 67: <span class="ruby-identifier">out</span> = <span class="ruby-value str">'&lt;'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@name</span>
281
- 68: <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrName</span><span class="ruby-operator">|</span>
282
- 69: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{attrName}=\&quot;#{quoteAttr(@attributes[attrName])}\&quot;&quot;</span>
283
- 70: <span class="ruby-keyword kw">end</span>
284
- 71: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@mayNotBeEmpty</span>
285
- 72: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'/&gt;'</span>
286
- 73: <span class="ruby-keyword kw">else</span>
287
- 74: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&gt;'</span>
288
- 75: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">child</span><span class="ruby-operator">|</span>
289
- 76: <span class="ruby-comment cmt"># We only insert newlines for multiple childs and after a tag has been</span>
290
- 77: <span class="ruby-comment cmt"># closed.</span>
291
- 78: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">child</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">XMLText</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">out</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?&gt;</span>
292
- 79: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">indentation</span>(<span class="ruby-identifier">indent</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)
293
- 80: <span class="ruby-keyword kw">end</span>
294
- 81: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">child</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">indent</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)
295
- 82: <span class="ruby-keyword kw">end</span>
296
- 83: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">indentation</span>(<span class="ruby-identifier">indent</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">out</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?&gt;</span>
297
- 84: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&lt;/'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'&gt;'</span>
298
- 85: <span class="ruby-keyword kw">end</span>
299
- 86: <span class="ruby-keyword kw">end</span>
314
+ <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 71</span>
315
+ 71: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">indent</span> = <span class="ruby-value">0</span>)
316
+ 72: <span class="ruby-identifier">out</span> = <span class="ruby-value str">'&lt;'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@name</span>
317
+ 73: <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrName</span><span class="ruby-operator">|</span>
318
+ 74: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{attrName}=\&quot;#{quoteAttr(@attributes[attrName])}\&quot;&quot;</span>
319
+ 75: <span class="ruby-keyword kw">end</span>
320
+ 76: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@mayNotBeEmpty</span>
321
+ 77: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'/&gt;'</span>
322
+ 78: <span class="ruby-keyword kw">else</span>
323
+ 79: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&gt;'</span>
324
+ 80: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">child</span><span class="ruby-operator">|</span>
325
+ 81: <span class="ruby-comment cmt"># We only insert newlines for multiple childs and after a tag has been</span>
326
+ 82: <span class="ruby-comment cmt"># closed.</span>
327
+ 83: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">child</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">XMLText</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">out</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?&gt;</span>
328
+ 84: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">indentation</span>(<span class="ruby-identifier">indent</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)
329
+ 85: <span class="ruby-keyword kw">end</span>
330
+ 86: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">child</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">indent</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)
331
+ 87: <span class="ruby-keyword kw">end</span>
332
+ 88: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">indentation</span>(<span class="ruby-identifier">indent</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">out</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?&gt;</span>
333
+ 89: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'&lt;/'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'&gt;'</span>
334
+ 90: <span class="ruby-keyword kw">end</span>
335
+ 91: <span class="ruby-keyword kw">end</span>
300
336
  </pre>
301
337
  </div>
302
338
 
@@ -307,12 +343,12 @@ Return the element and all sub elements as properly formatted XML.
307
343
  <h3 class="section-bar">Protected Instance methods</h3>
308
344
 
309
345
 
310
- <div id="method-M000777" class="method-detail">
311
- <a name="M000777"></a>
346
+ <div id="method-M000330" class="method-detail">
347
+ <a name="M000330"></a>
312
348
 
313
349
  <div class="method-heading">
314
350
 
315
- <a href="#M000777" class="method-signature">
351
+ <a href="#M000330" class="method-signature">
316
352
 
317
353
  <span class="method-name">indentation</span><span class="method-args">(indent)</span>
318
354
 
@@ -323,13 +359,13 @@ Return the element and all sub elements as properly formatted XML.
323
359
  <div class="method-description">
324
360
 
325
361
  <p><a class="source-toggle" href="#"
326
- onclick="toggleCode('M000777-source');return false;">[Source]</a></p>
327
- <div class="method-source-code" id="M000777-source">
362
+ onclick="toggleCode('M000330-source');return false;">[Source]</a></p>
363
+ <div class="method-source-code" id="M000330-source">
328
364
  <pre>
329
- <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 90</span>
330
- 90: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indentation</span>(<span class="ruby-identifier">indent</span>)
331
- 91: <span class="ruby-value str">' '</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">indent</span>
332
- 92: <span class="ruby-keyword kw">end</span>
365
+ <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 95</span>
366
+ 95: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indentation</span>(<span class="ruby-identifier">indent</span>)
367
+ 96: <span class="ruby-value str">' '</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">indent</span>
368
+ 97: <span class="ruby-keyword kw">end</span>
333
369
  </pre>
334
370
  </div>
335
371
 
@@ -106,7 +106,7 @@ the text to the <a href="XMLText.html">XMLText</a>.
106
106
 
107
107
  <div class="name-list">
108
108
 
109
- <a href="#M000780">new</a>&nbsp;&nbsp;
109
+ <a href="#M000333">new</a>&nbsp;&nbsp;
110
110
 
111
111
  </div>
112
112
  </div>
@@ -127,12 +127,12 @@ the text to the <a href="XMLText.html">XMLText</a>.
127
127
  <h3 class="section-bar">Public Class methods</h3>
128
128
 
129
129
 
130
- <div id="method-M000780" class="method-detail">
131
- <a name="M000780"></a>
130
+ <div id="method-M000333" class="method-detail">
131
+ <a name="M000333"></a>
132
132
 
133
133
  <div class="method-heading">
134
134
 
135
- <a href="#M000780" class="method-signature">
135
+ <a href="#M000333" class="method-signature">
136
136
 
137
137
  <span class="method-name">new</span><span class="method-args">(text, name, attributes = {})</span>
138
138
 
@@ -143,14 +143,14 @@ the text to the <a href="XMLText.html">XMLText</a>.
143
143
  <div class="method-description">
144
144
 
145
145
  <p><a class="source-toggle" href="#"
146
- onclick="toggleCode('M000780-source');return false;">[Source]</a></p>
147
- <div class="method-source-code" id="M000780-source">
146
+ onclick="toggleCode('M000333-source');return false;">[Source]</a></p>
147
+ <div class="method-source-code" id="M000333-source">
148
148
  <pre>
149
- <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 146</span>
150
- 146: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">attributes</span> = {})
151
- 147: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">attributes</span>)
152
- 148: <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>)
153
- 149: <span class="ruby-keyword kw">end</span>
149
+ <span class="ruby-comment cmt"># File lib/XMLElement.rb, line 151</span>
150
+ 151: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">attributes</span> = {})
151
+ 152: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">attributes</span>)
152
+ 153: <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>)
153
+ 154: <span class="ruby-keyword kw">end</span>
154
154
  </pre>
155
155
  </div>
156
156