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
@@ -0,0 +1,449 @@
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::NavigatorElement [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::NavigatorElement</td>
50
+ </tr>
51
+ <tr class="top-aligned-row">
52
+ <td><strong>In:</strong></td>
53
+ <td>
54
+
55
+
56
+ <a href="../../files/lib/reports/Navigator_rb.html">
57
+
58
+ lib/reports/Navigator.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
+ <a href="../Object.html">
74
+
75
+ Object
76
+
77
+ </a>
78
+
79
+ </td>
80
+ </tr>
81
+
82
+ </table>
83
+ </div>
84
+ <!-- banner header -->
85
+
86
+ <div id="bodyContent">
87
+
88
+ <div id="contextContent">
89
+
90
+ </div>
91
+
92
+
93
+ <div id="method-list">
94
+ <h3 class="section-bar">Methods</h3>
95
+
96
+ <div class="name-list">
97
+
98
+ <a href="#M000407">currentUrl</a>&nbsp;&nbsp;
99
+
100
+ <a href="#M000406">currentUrl=</a>&nbsp;&nbsp;
101
+
102
+ <a href="#M000403">new</a>&nbsp;&nbsp;
103
+
104
+ <a href="#M000408">root</a>&nbsp;&nbsp;
105
+
106
+ <a href="#M000404">to_html</a>&nbsp;&nbsp;
107
+
108
+ <a href="#M000405">to_s</a>&nbsp;&nbsp;
109
+
110
+ </div>
111
+ </div>
112
+
113
+ </div>
114
+
115
+ <!-- if includes -->
116
+
117
+ <div id="section">
118
+
119
+
120
+
121
+ <div id="attribute-list">
122
+ <h3 class="section-bar">Attributes</h3>
123
+
124
+ <div class="name-list">
125
+ <table>
126
+
127
+ <tr class="top-aligned-row context-row">
128
+ <td class="context-item-name">current</td>
129
+
130
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
131
+
132
+ <td class="context-item-desc"></td>
133
+ </tr>
134
+
135
+ <tr class="top-aligned-row context-row">
136
+ <td class="context-item-name">elements</td>
137
+
138
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
139
+
140
+ <td class="context-item-desc"></td>
141
+ </tr>
142
+
143
+ <tr class="top-aligned-row context-row">
144
+ <td class="context-item-name">label</td>
145
+
146
+ <td class="context-item-value">&nbsp;[R]&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">parent</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">url</td>
161
+
162
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
163
+
164
+ <td class="context-item-desc"></td>
165
+ </tr>
166
+
167
+ </table>
168
+ </div>
169
+ </div>
170
+
171
+
172
+ <!-- if method_list -->
173
+
174
+ <div id="methods">
175
+
176
+ <h3 class="section-bar">Public Class methods</h3>
177
+
178
+
179
+ <div id="method-M000403" class="method-detail">
180
+ <a name="M000403"></a>
181
+
182
+ <div class="method-heading">
183
+
184
+ <a href="#M000403" class="method-signature">
185
+
186
+ <span class="method-name">new</span><span class="method-args">(parent, label = nil, url = nil)</span>
187
+
188
+ </a>
189
+
190
+ </div>
191
+
192
+ <div class="method-description">
193
+
194
+ <p><a class="source-toggle" href="#"
195
+ onclick="toggleCode('M000403-source');return false;">[Source]</a></p>
196
+ <div class="method-source-code" id="M000403-source">
197
+ <pre>
198
+ <span class="ruby-comment cmt"># File lib/reports/Navigator.rb, line 22</span>
199
+ 22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">parent</span>, <span class="ruby-identifier">label</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">url</span> = <span class="ruby-keyword kw">nil</span>)
200
+ 23: <span class="ruby-ivar">@parent</span> = <span class="ruby-identifier">parent</span>
201
+ 24: <span class="ruby-ivar">@label</span> = <span class="ruby-identifier">label</span>
202
+ 25: <span class="ruby-ivar">@url</span> = <span class="ruby-identifier">url</span>
203
+ 26: <span class="ruby-ivar">@elements</span> = []
204
+ 27: <span class="ruby-comment cmt"># True if the current report is included in this NavigatorElement or any</span>
205
+ 28: <span class="ruby-comment cmt"># of its sub elements.</span>
206
+ 29: <span class="ruby-ivar">@current</span> = <span class="ruby-keyword kw">false</span>
207
+ 30: <span class="ruby-keyword kw">end</span>
208
+ </pre>
209
+ </div>
210
+
211
+ </div>
212
+ </div>
213
+
214
+
215
+ <h3 class="section-bar">Public Instance methods</h3>
216
+
217
+
218
+ <div id="method-M000407" class="method-detail">
219
+ <a name="M000407"></a>
220
+
221
+ <div class="method-heading">
222
+
223
+ <a href="#M000407" class="method-signature">
224
+
225
+ <span class="method-name">currentUrl</span><span class="method-args">()</span>
226
+
227
+ </a>
228
+
229
+ </div>
230
+
231
+ <div class="method-description">
232
+
233
+ <p>
234
+ Get the URL of the current report from the root node.
235
+ </p>
236
+
237
+ <p><a class="source-toggle" href="#"
238
+ onclick="toggleCode('M000407-source');return false;">[Source]</a></p>
239
+ <div class="method-source-code" id="M000407-source">
240
+ <pre>
241
+ <span class="ruby-comment cmt"># File lib/reports/Navigator.rb, line 95</span>
242
+ 95: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">currentUrl</span>
243
+ 96: <span class="ruby-identifier">root</span>.<span class="ruby-identifier">url</span>
244
+ 97: <span class="ruby-keyword kw">end</span>
245
+ </pre>
246
+ </div>
247
+
248
+ </div>
249
+ </div>
250
+
251
+
252
+ <div id="method-M000406" class="method-detail">
253
+ <a name="M000406"></a>
254
+
255
+ <div class="method-heading">
256
+
257
+ <a href="#M000406" class="method-signature">
258
+
259
+ <span class="method-name">currentUrl=</span><span class="method-args">(url)</span>
260
+
261
+ </a>
262
+
263
+ </div>
264
+
265
+ <div class="method-description">
266
+
267
+ <p>
268
+ Store the URL for the current report. Since the URL entry in the root node
269
+ of the <a href="NavigatorElement.html">NavigatorElement</a> tree is never
270
+ used, we use it to store the current URL there.
271
+ </p>
272
+
273
+ <p><a class="source-toggle" href="#"
274
+ onclick="toggleCode('M000406-source');return false;">[Source]</a></p>
275
+ <div class="method-source-code" id="M000406-source">
276
+ <pre>
277
+ <span class="ruby-comment cmt"># File lib/reports/Navigator.rb, line 90</span>
278
+ 90: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">currentUrl=</span>(<span class="ruby-identifier">url</span>)
279
+ 91: <span class="ruby-identifier">root</span>.<span class="ruby-identifier">url</span> = <span class="ruby-identifier">url</span>
280
+ 92: <span class="ruby-keyword kw">end</span>
281
+ </pre>
282
+ </div>
283
+
284
+ </div>
285
+ </div>
286
+
287
+
288
+ <div id="method-M000408" class="method-detail">
289
+ <a name="M000408"></a>
290
+
291
+ <div class="method-heading">
292
+
293
+ <a href="#M000408" class="method-signature">
294
+
295
+ <span class="method-name">root</span><span class="method-args">()</span>
296
+
297
+ </a>
298
+
299
+ </div>
300
+
301
+ <div class="method-description">
302
+
303
+ <p>
304
+ Traverse the tree all the way to the top and return the root element.
305
+ </p>
306
+
307
+ <p><a class="source-toggle" href="#"
308
+ onclick="toggleCode('M000408-source');return false;">[Source]</a></p>
309
+ <div class="method-source-code" id="M000408-source">
310
+ <pre>
311
+ <span class="ruby-comment cmt"># File lib/reports/Navigator.rb, line 100</span>
312
+ 100: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">root</span>
313
+ 101: <span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>
314
+ 102: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
315
+ 103: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
316
+ 104: <span class="ruby-keyword kw">end</span>
317
+ 105: <span class="ruby-identifier">p</span>
318
+ 106: <span class="ruby-keyword kw">end</span>
319
+ </pre>
320
+ </div>
321
+
322
+ </div>
323
+ </div>
324
+
325
+
326
+ <div id="method-M000404" class="method-detail">
327
+ <a name="M000404"></a>
328
+
329
+ <div class="method-heading">
330
+
331
+ <a href="#M000404" class="method-signature">
332
+
333
+ <span class="method-name">to_html</span><span class="method-args">()</span>
334
+
335
+ </a>
336
+
337
+ </div>
338
+
339
+ <div class="method-description">
340
+
341
+ <p><a class="source-toggle" href="#"
342
+ onclick="toggleCode('M000404-source');return false;">[Source]</a></p>
343
+ <div class="method-source-code" id="M000404-source">
344
+ <pre>
345
+ <span class="ruby-comment cmt"># File lib/reports/Navigator.rb, line 32</span>
346
+ 32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
347
+ 33: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
348
+ 34: <span class="ruby-identifier">html</span> = (<span class="ruby-identifier">div</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>))
349
+ 35:
350
+ 36: <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>
351
+ 37: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">label</span>
352
+ 38:
353
+ 39: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
354
+ 40: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
355
+ 41: <span class="ruby-keyword kw">else</span>
356
+ 42: <span class="ruby-identifier">div</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>)
357
+ 43: <span class="ruby-keyword kw">end</span>
358
+ 44:
359
+ 45: <span class="ruby-identifier">url</span> = <span class="ruby-identifier">element</span>.<span class="ruby-identifier">url</span>
360
+ 46: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">url</span>
361
+ 47: <span class="ruby-identifier">nEl</span> = <span class="ruby-identifier">element</span>
362
+ 48: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">nEl</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value">0</span>]
363
+ 49: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">nEl</span>.<span class="ruby-identifier">current</span>
364
+ 50:
365
+ 51: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">nEl</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">url</span>
366
+ 52: <span class="ruby-identifier">url</span> = <span class="ruby-identifier">nEl</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">url</span>
367
+ 53: <span class="ruby-keyword kw">break</span>
368
+ 54: <span class="ruby-keyword kw">end</span>
369
+ 55: <span class="ruby-identifier">nEl</span> = <span class="ruby-identifier">nEl</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value">0</span>]
370
+ 56: <span class="ruby-keyword kw">end</span>
371
+ 57: <span class="ruby-keyword kw">end</span>
372
+ 58: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">url</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">url</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">currentUrl</span>
373
+ 59: <span class="ruby-identifier">div</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">span</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'span'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'navbar_other'</span>))
374
+ 60: <span class="ruby-identifier">span</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">a</span> = <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-identifier">url</span>))
375
+ 61: <span class="ruby-identifier">a</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">element</span>.<span class="ruby-identifier">label</span>)
376
+ 62: <span class="ruby-keyword kw">else</span>
377
+ 63: <span class="ruby-identifier">div</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">span</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'span'</span>,
378
+ 64: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'navbar_current'</span>))
379
+ 65: <span class="ruby-identifier">span</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">element</span>.<span class="ruby-identifier">label</span>)
380
+ 66: <span class="ruby-keyword kw">end</span>
381
+ 67: <span class="ruby-keyword kw">end</span>
382
+ 68: <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>
383
+ 69: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">element</span>.<span class="ruby-identifier">current</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">element</span>.<span class="ruby-identifier">elements</span>.<span class="ruby-identifier">empty?</span>
384
+ 70: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'hr'</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">first</span>
385
+ 71: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">element</span>.<span class="ruby-identifier">to_html</span>
386
+ 72: <span class="ruby-keyword kw">end</span>
387
+ 73: <span class="ruby-keyword kw">end</span>
388
+ 74: <span class="ruby-identifier">html</span>
389
+ 75: <span class="ruby-keyword kw">end</span>
390
+ </pre>
391
+ </div>
392
+
393
+ </div>
394
+ </div>
395
+
396
+
397
+ <div id="method-M000405" class="method-detail">
398
+ <a name="M000405"></a>
399
+
400
+ <div class="method-heading">
401
+
402
+ <a href="#M000405" class="method-signature">
403
+
404
+ <span class="method-name">to_s</span><span class="method-args">(indent = 0)</span>
405
+
406
+ </a>
407
+
408
+ </div>
409
+
410
+ <div class="method-description">
411
+
412
+ <p>
413
+ Return a text version of the tree. Currently used for debugging only.
414
+ </p>
415
+
416
+ <p><a class="source-toggle" href="#"
417
+ onclick="toggleCode('M000405-source');return false;">[Source]</a></p>
418
+ <div class="method-source-code" id="M000405-source">
419
+ <pre>
420
+ <span class="ruby-comment cmt"># File lib/reports/Navigator.rb, line 78</span>
421
+ 78: <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>)
422
+ 79: <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>
423
+ 80: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;#{' ' * indent}#{element.current ? '&lt;' : ''}&quot;</span> <span class="ruby-operator">+</span>
424
+ 81: <span class="ruby-node">&quot;#{element.label}#{element.current ? '&gt;' : ''}&quot;</span> <span class="ruby-operator">+</span>
425
+ 82: <span class="ruby-node">&quot; -&gt; #{element.url}&quot;</span>
426
+ 83: <span class="ruby-identifier">element</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>)
427
+ 84: <span class="ruby-keyword kw">end</span>
428
+ 85: <span class="ruby-keyword kw">end</span>
429
+ </pre>
430
+ </div>
431
+
432
+ </div>
433
+ </div>
434
+
435
+
436
+
437
+ </div>
438
+
439
+
440
+
441
+
442
+ </div>
443
+
444
+ <div id="validator-badges">
445
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
446
+ </div>
447
+
448
+ </body>
449
+ </html>
@@ -109,13 +109,13 @@ working hours can share the cache.
109
109
 
110
110
  <div class="name-list">
111
111
 
112
- <a href="#M000396">get</a>&nbsp;&nbsp;
112
+ <a href="#M000302">get</a>&nbsp;&nbsp;
113
113
 
114
- <a href="#M000393">new</a>&nbsp;&nbsp;
114
+ <a href="#M000299">new</a>&nbsp;&nbsp;
115
115
 
116
- <a href="#M000394">register</a>&nbsp;&nbsp;
116
+ <a href="#M000300">register</a>&nbsp;&nbsp;
117
117
 
118
- <a href="#M000395">set</a>&nbsp;&nbsp;
118
+ <a href="#M000301">set</a>&nbsp;&nbsp;
119
119
 
120
120
  </div>
121
121
  </div>
@@ -136,12 +136,12 @@ working hours can share the cache.
136
136
  <h3 class="section-bar">Public Class methods</h3>
137
137
 
138
138
 
139
- <div id="method-M000393" class="method-detail">
140
- <a name="M000393"></a>
139
+ <div id="method-M000299" class="method-detail">
140
+ <a name="M000299"></a>
141
141
 
142
142
  <div class="method-heading">
143
143
 
144
- <a href="#M000393" class="method-signature">
144
+ <a href="#M000299" class="method-signature">
145
145
 
146
146
  <span class="method-name">new</span><span class="method-args">()</span>
147
147
 
@@ -157,8 +157,8 @@ should be only one for the application.
157
157
  </p>
158
158
 
159
159
  <p><a class="source-toggle" href="#"
160
- onclick="toggleCode('M000393-source');return false;">[Source]</a></p>
161
- <div class="method-source-code" id="M000393-source">
160
+ onclick="toggleCode('M000299-source');return false;">[Source]</a></p>
161
+ <div class="method-source-code" id="M000299-source">
162
162
  <pre>
163
163
  <span class="ruby-comment cmt"># File lib/WorkingHours.rb, line 28</span>
164
164
  28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
@@ -182,12 +182,12 @@ should be only one for the application.
182
182
  <h3 class="section-bar">Public Instance methods</h3>
183
183
 
184
184
 
185
- <div id="method-M000396" class="method-detail">
186
- <a name="M000396"></a>
185
+ <div id="method-M000302" class="method-detail">
186
+ <a name="M000302"></a>
187
187
 
188
188
  <div class="method-heading">
189
189
 
190
- <a href="#M000396" class="method-signature">
190
+ <a href="#M000302" class="method-signature">
191
191
 
192
192
  <span class="method-name">get</span><span class="method-args">(cache, date)</span>
193
193
 
@@ -202,8 +202,8 @@ Get the value for a given <tt>cache</tt> and <tt>date</tt>.
202
202
  </p>
203
203
 
204
204
  <p><a class="source-toggle" href="#"
205
- onclick="toggleCode('M000396-source');return false;">[Source]</a></p>
206
- <div class="method-source-code" id="M000396-source">
205
+ onclick="toggleCode('M000302-source');return false;">[Source]</a></p>
206
+ <div class="method-source-code" id="M000302-source">
207
207
  <pre>
208
208
  <span class="ruby-comment cmt"># File lib/WorkingHours.rb, line 66</span>
209
209
  66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">cache</span>, <span class="ruby-identifier">date</span>)
@@ -216,12 +216,12 @@ Get the value for a given <tt>cache</tt> and <tt>date</tt>.
216
216
  </div>
217
217
 
218
218
 
219
- <div id="method-M000394" class="method-detail">
220
- <a name="M000394"></a>
219
+ <div id="method-M000300" class="method-detail">
220
+ <a name="M000300"></a>
221
221
 
222
222
  <div class="method-heading">
223
223
 
224
- <a href="#M000394" class="method-signature">
224
+ <a href="#M000300" class="method-signature">
225
225
 
226
226
  <span class="method-name">register</span><span class="method-args">(wh)</span>
227
227
 
@@ -241,8 +241,8 @@ OnShiftCache::get calls.
241
241
  </p>
242
242
 
243
243
  <p><a class="source-toggle" href="#"
244
- onclick="toggleCode('M000394-source');return false;">[Source]</a></p>
245
- <div class="method-source-code" id="M000394-source">
244
+ onclick="toggleCode('M000300-source');return false;">[Source]</a></p>
245
+ <div class="method-source-code" id="M000300-source">
246
246
  <pre>
247
247
  <span class="ruby-comment cmt"># File lib/WorkingHours.rb, line 45</span>
248
248
  45: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">register</span>(<span class="ruby-identifier">wh</span>)
@@ -266,12 +266,12 @@ OnShiftCache::get calls.
266
266
  </div>
267
267
 
268
268
 
269
- <div id="method-M000395" class="method-detail">
270
- <a name="M000395"></a>
269
+ <div id="method-M000301" class="method-detail">
270
+ <a name="M000301"></a>
271
271
 
272
272
  <div class="method-heading">
273
273
 
274
- <a href="#M000395" class="method-signature">
274
+ <a href="#M000301" class="method-signature">
275
275
 
276
276
  <span class="method-name">set</span><span class="method-args">(cache, date, value)</span>
277
277
 
@@ -286,8 +286,8 @@ Set the <tt>value</tt> for a given <tt>cache</tt> and <tt>date</tt>.
286
286
  </p>
287
287
 
288
288
  <p><a class="source-toggle" href="#"
289
- onclick="toggleCode('M000395-source');return false;">[Source]</a></p>
290
- <div class="method-source-code" id="M000395-source">
289
+ onclick="toggleCode('M000301-source');return false;">[Source]</a></p>
290
+ <div class="method-source-code" id="M000301-source">
291
291
  <pre>
292
292
  <span class="ruby-comment cmt"># File lib/WorkingHours.rb, line 61</span>
293
293
  61: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">cache</span>, <span class="ruby-identifier">date</span>, <span class="ruby-identifier">value</span>)