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
@@ -94,19 +94,21 @@ run has been completed. It is possible to make a <a
94
94
  href="Query.html">Query</a> before the scheduling run has been completed,
95
95
  but it only produces good results for static attributes. And for such
96
96
  queries, the <a
97
- href="PropertyTreeNode.html#M000677">PropertyTreeNode.get</a> and []
98
- functions are a lot more efficient. # When constructing a <a
99
- href="Query.html">Query</a>, a set of variables need to be set that is
100
- sufficient enough to identify a unique attribute. Some attribute are
101
- computed dynamically and further variables such as a start and end time
102
- will be incorporated into the result computation.
97
+ href="PropertyTreeNode.html#M000611">PropertyTreeNode.get</a> and []
98
+ functions are a lot more efficient.
103
99
  </p>
104
100
  <p>
105
- The result is returned as <a href="../String.html">String</a>
106
- (Query#result), in numerical form (Query#numericalResult) if available as
107
- number, and as an entity that can be used for sorting
108
- (Query#sortableResult). To get the result, <a
109
- href="Query.html#M000318">Query#process</a> needs to be called. In case an
101
+ When constructing a <a href="Query.html">Query</a>, a set of variables need
102
+ to be set that is sufficient enough to identify a unique attribute. Some
103
+ attribute are computed dynamically and further variables such as a start
104
+ and end time will be incorporated into the result computation.
105
+ </p>
106
+ <p>
107
+ The result is returned as <a href="../String.html">String</a> (<a
108
+ href="Query.html#M000710">Query#result</a>), in numerical form
109
+ (Query#numericalResult) if available as number, and as an entity that can
110
+ be used for sorting (Query#sortableResult). To get the result, <a
111
+ href="Query.html#M000705">Query#process</a> needs to be called. In case an
110
112
  error occured, Query#ok is set to false and Query#errorMessage contains an
111
113
  error message.
112
114
  </p>
@@ -121,15 +123,27 @@ error message.
121
123
 
122
124
  <div class="name-list">
123
125
 
124
- <a href="#M000316">new</a>&nbsp;&nbsp;
126
+ <a href="#M000704">end</a>&nbsp;&nbsp;
127
+
128
+ <a href="#M000702">new</a>&nbsp;&nbsp;
129
+
130
+ <a href="#M000705">process</a>&nbsp;&nbsp;
131
+
132
+ <a href="#M000710">result</a>&nbsp;&nbsp;
133
+
134
+ <a href="#M000711">scaleDuration</a>&nbsp;&nbsp;
125
135
 
126
- <a href="#M000318">process</a>&nbsp;&nbsp;
136
+ <a href="#M000712">scaleLoad</a>&nbsp;&nbsp;
127
137
 
128
- <a href="#M000317">reset</a>&nbsp;&nbsp;
138
+ <a href="#M000703">start=</a>&nbsp;&nbsp;
129
139
 
130
- <a href="#M000319">scaleDuration</a>&nbsp;&nbsp;
140
+ <a href="#M000707">to_num</a>&nbsp;&nbsp;
131
141
 
132
- <a href="#M000320">scaleLoad</a>&nbsp;&nbsp;
142
+ <a href="#M000709">to_rti</a>&nbsp;&nbsp;
143
+
144
+ <a href="#M000706">to_s</a>&nbsp;&nbsp;
145
+
146
+ <a href="#M000708">to_sort</a>&nbsp;&nbsp;
133
147
 
134
148
  </div>
135
149
  </div>
@@ -175,7 +189,7 @@ error message.
175
189
  <tr class="top-aligned-row context-row">
176
190
  <td class="context-item-name">end</td>
177
191
 
178
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
192
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
179
193
 
180
194
  <td class="context-item-desc"></td>
181
195
  </tr>
@@ -213,9 +227,9 @@ error message.
213
227
  </tr>
214
228
 
215
229
  <tr class="top-aligned-row context-row">
216
- <td class="context-item-name">numericalResult</td>
230
+ <td class="context-item-name">numerical</td>
217
231
 
218
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
232
+ <td class="context-item-value">&nbsp;[W]&nbsp;</td>
219
233
 
220
234
  <td class="context-item-desc"></td>
221
235
  </tr>
@@ -261,7 +275,7 @@ error message.
261
275
  </tr>
262
276
 
263
277
  <tr class="top-aligned-row context-row">
264
- <td class="context-item-name">result</td>
278
+ <td class="context-item-name">revenueAccount</td>
265
279
 
266
280
  <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
267
281
 
@@ -269,9 +283,9 @@ error message.
269
283
  </tr>
270
284
 
271
285
  <tr class="top-aligned-row context-row">
272
- <td class="context-item-name">revenueAccount</td>
286
+ <td class="context-item-name">rti</td>
273
287
 
274
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
288
+ <td class="context-item-value">&nbsp;[W]&nbsp;</td>
275
289
 
276
290
  <td class="context-item-desc"></td>
277
291
  </tr>
@@ -309,9 +323,9 @@ error message.
309
323
  </tr>
310
324
 
311
325
  <tr class="top-aligned-row context-row">
312
- <td class="context-item-name">sortableResult</td>
326
+ <td class="context-item-name">sortable</td>
313
327
 
314
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
328
+ <td class="context-item-value">&nbsp;[W]&nbsp;</td>
315
329
 
316
330
  <td class="context-item-desc"></td>
317
331
  </tr>
@@ -319,7 +333,7 @@ error message.
319
333
  <tr class="top-aligned-row context-row">
320
334
  <td class="context-item-name">start</td>
321
335
 
322
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
336
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
323
337
 
324
338
  <td class="context-item-desc"></td>
325
339
  </tr>
@@ -332,6 +346,22 @@ error message.
332
346
  <td class="context-item-desc"></td>
333
347
  </tr>
334
348
 
349
+ <tr class="top-aligned-row context-row">
350
+ <td class="context-item-name">string</td>
351
+
352
+ <td class="context-item-value">&nbsp;[W]&nbsp;</td>
353
+
354
+ <td class="context-item-desc"></td>
355
+ </tr>
356
+
357
+ <tr class="top-aligned-row context-row">
358
+ <td class="context-item-name">timeFormat</td>
359
+
360
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
361
+
362
+ <td class="context-item-desc"></td>
363
+ </tr>
364
+
335
365
  </table>
336
366
  </div>
337
367
  </div>
@@ -344,12 +374,12 @@ error message.
344
374
  <h3 class="section-bar">Public Class methods</h3>
345
375
 
346
376
 
347
- <div id="method-M000316" class="method-detail">
348
- <a name="M000316"></a>
377
+ <div id="method-M000702" class="method-detail">
378
+ <a name="M000702"></a>
349
379
 
350
380
  <div class="method-heading">
351
381
 
352
- <a href="#M000316" class="method-signature">
382
+ <a href="#M000702" class="method-signature">
353
383
 
354
384
  <span class="method-name">new</span><span class="method-args">(parameters = { })</span>
355
385
 
@@ -365,20 +395,22 @@ need to be sufficent to uniquely identify an attribute.
365
395
  </p>
366
396
 
367
397
  <p><a class="source-toggle" href="#"
368
- onclick="toggleCode('M000316-source');return false;">[Source]</a></p>
369
- <div class="method-source-code" id="M000316-source">
398
+ onclick="toggleCode('M000702-source');return false;">[Source]</a></p>
399
+ <div class="method-source-code" id="M000702-source">
370
400
  <pre>
371
- <span class="ruby-comment cmt"># File lib/Query.rb, line 43</span>
372
- 43: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">parameters</span> = { })
373
- 44: <span class="ruby-identifier">ps</span> = <span class="ruby-node">%w( project propertyType propertyId property scopePropertyId
374
- 45: scopeProperty attributeId scenarioIdx start end startIdx endIdx
375
- 46: loadUnit numberFormat currencyFormat costAccount revenueAccount)</span>
376
- 47: <span class="ruby-identifier">ps</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
377
- 48: <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">p</span>, <span class="ruby-identifier">parameters</span>[<span class="ruby-identifier">p</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">parameters</span>[<span class="ruby-identifier">p</span>] <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>)
378
- 49: <span class="ruby-keyword kw">end</span>
379
- 50:
380
- 51: <span class="ruby-identifier">reset</span>
381
- 52: <span class="ruby-keyword kw">end</span>
401
+ <span class="ruby-comment cmt"># File lib/Query.rb, line 47</span>
402
+ 47: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">parameters</span> = { })
403
+ 48: <span class="ruby-identifier">ps</span> = <span class="ruby-node">%w( project propertyType propertyId property scopePropertyId
404
+ 49: scopeProperty attributeId scenario scenarioIdx
405
+ 50: start end startIdx endIdx
406
+ 51: loadUnit numberFormat currencyFormat timeFormat
407
+ 52: costAccount revenueAccount)</span>
408
+ 53: <span class="ruby-identifier">ps</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
409
+ 54: <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">p</span>, <span class="ruby-identifier">parameters</span>[<span class="ruby-identifier">p</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">parameters</span>[<span class="ruby-identifier">p</span>] <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>)
410
+ 55: <span class="ruby-keyword kw">end</span>
411
+ 56:
412
+ 57: <span class="ruby-identifier">reset</span>
413
+ 58: <span class="ruby-keyword kw">end</span>
382
414
  </pre>
383
415
  </div>
384
416
 
@@ -389,12 +421,47 @@ need to be sufficent to uniquely identify an attribute.
389
421
  <h3 class="section-bar">Public Instance methods</h3>
390
422
 
391
423
 
392
- <div id="method-M000318" class="method-detail">
393
- <a name="M000318"></a>
424
+ <div id="method-M000704" class="method-detail">
425
+ <a name="M000704"></a>
394
426
 
395
427
  <div class="method-heading">
396
428
 
397
- <a href="#M000318" class="method-signature">
429
+ <a href="#M000704" class="method-signature">
430
+
431
+ <span class="method-name">end</span><span class="method-args">(=(date))</span>
432
+
433
+ </a>
434
+
435
+ </div>
436
+
437
+ <div class="method-description">
438
+
439
+ <p>
440
+ Reset the @endIdx when an end date is set.
441
+ </p>
442
+
443
+ <p><a class="source-toggle" href="#"
444
+ onclick="toggleCode('M000704-source');return false;">[Source]</a></p>
445
+ <div class="method-source-code" id="M000704-source">
446
+ <pre>
447
+ <span class="ruby-comment cmt"># File lib/Query.rb, line 67</span>
448
+ 67: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">end</span>=(<span class="ruby-identifier">date</span>)
449
+ 68: <span class="ruby-ivar">@end</span> = <span class="ruby-identifier">date</span>
450
+ 69: <span class="ruby-ivar">@endIdx</span> = <span class="ruby-keyword kw">nil</span>
451
+ 70: <span class="ruby-keyword kw">end</span>
452
+ </pre>
453
+ </div>
454
+
455
+ </div>
456
+ </div>
457
+
458
+
459
+ <div id="method-M000705" class="method-detail">
460
+ <a name="M000705"></a>
461
+
462
+ <div class="method-heading">
463
+
464
+ <a href="#M000705" class="method-signature">
398
465
 
399
466
  <span class="method-name">process</span><span class="method-args">()</span>
400
467
 
@@ -407,64 +474,82 @@ need to be sufficent to uniquely identify an attribute.
407
474
  <p>
408
475
  This method tries to resolve the query and return a result. In case it
409
476
  finds an attribute that matches the query, it returns true; false
410
- otherwise. The actual result data is put into the <a
411
- href="Query.html">Query</a> object.
477
+ otherwise. The actual result data is stored in the <a
478
+ href="Query.html">Query</a> object. It can then be retrieved by the caller
479
+ with the methods <a href="Query.html#M000706">to_s</a>(), <a
480
+ href="Query.html#M000707">to_num</a>(), <a
481
+ href="Query.html#M000708">to_sort</a>() and result().
412
482
  </p>
413
483
 
414
484
  <p><a class="source-toggle" href="#"
415
- onclick="toggleCode('M000318-source');return false;">[Source]</a></p>
416
- <div class="method-source-code" id="M000318-source">
485
+ onclick="toggleCode('M000705-source');return false;">[Source]</a></p>
486
+ <div class="method-source-code" id="M000705-source">
417
487
  <pre>
418
- <span class="ruby-comment cmt"># File lib/Query.rb, line 68</span>
419
- 68: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process</span>
420
- 69: <span class="ruby-keyword kw">begin</span>
421
- 70: <span class="ruby-comment cmt"># Resolve property reference from property ID.</span>
422
- 71: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@property</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertyId</span>.<span class="ruby-identifier">nil?</span>
423
- 72: <span class="ruby-ivar">@property</span> = <span class="ruby-identifier">resolvePropertyId</span>(<span class="ruby-ivar">@propertyType</span>, <span class="ruby-ivar">@propertyId</span>)
424
- 73: <span class="ruby-keyword kw">end</span>
425
- 74: <span class="ruby-comment cmt"># Same for the scope property.</span>
426
- 75: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@scopeProperty</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@scopePropertyId</span>.<span class="ruby-identifier">nil?</span>
427
- 76: <span class="ruby-ivar">@scopeProperty</span> = <span class="ruby-identifier">resolvePropertyId</span>(<span class="ruby-ivar">@scopePropertyType</span>,
428
- 77: <span class="ruby-ivar">@scopePropertyId</span>)
429
- 78: <span class="ruby-keyword kw">end</span>
430
- 79: <span class="ruby-comment cmt"># Make sure the have a reference to the project.</span>
431
- 80: <span class="ruby-ivar">@project</span> = <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">project</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@project</span>
432
- 81:
433
- 82: <span class="ruby-ivar">@startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-ivar">@start</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@startIdx</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@start</span>
434
- 83: <span class="ruby-ivar">@endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-ivar">@end</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@endIdx</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@end</span>
488
+ <span class="ruby-comment cmt"># File lib/Query.rb, line 77</span>
489
+ 77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process</span>
490
+ 78: <span class="ruby-identifier">reset</span>
491
+ 79: <span class="ruby-keyword kw">begin</span>
492
+ 80: <span class="ruby-comment cmt"># Resolve property reference from property ID.</span>
493
+ 81: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertyId</span>.<span class="ruby-identifier">nil?</span>
494
+ 82: <span class="ruby-ivar">@property</span> = <span class="ruby-identifier">resolvePropertyId</span>(<span class="ruby-ivar">@propertyType</span>, <span class="ruby-ivar">@propertyId</span>)
495
+ 83: <span class="ruby-keyword kw">end</span>
435
496
  84:
436
- 85: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">hasQuery?</span>(<span class="ruby-ivar">@attributeId</span>, <span class="ruby-ivar">@scenarioIdx</span>)
437
- 86: <span class="ruby-comment cmt"># Call the property query function to get the result.</span>
438
- 87: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioIdx</span>
439
- 88: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value str">'query_'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@attributeId</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-keyword kw">self</span>)
440
- 89: <span class="ruby-keyword kw">else</span>
441
- 90: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value str">'query_'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@attributeId</span>, <span class="ruby-keyword kw">self</span>)
442
- 91: <span class="ruby-keyword kw">end</span>
443
- 92: <span class="ruby-keyword kw">else</span>
444
- 93: <span class="ruby-comment cmt"># There is no query function. We simply use the property attribute</span>
445
- 94: <span class="ruby-comment cmt"># value.</span>
446
- 95: <span class="ruby-ivar">@sortableResult</span> =
447
- 96: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioIdx</span>
448
- 97: <span class="ruby-ivar">@property</span>[<span class="ruby-ivar">@attributeId</span>, <span class="ruby-ivar">@scenarioIdx</span>]
449
- 98: <span class="ruby-keyword kw">else</span>
450
- 99: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@attributeId</span>)
451
- 100: <span class="ruby-keyword kw">end</span>
452
- 101: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@sortableResult</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
453
- 102: <span class="ruby-comment cmt"># This ugly special case is needed for custom attributes of type</span>
454
- 103: <span class="ruby-comment cmt"># reference.</span>
455
- 104: <span class="ruby-ivar">@sortableResult</span> = <span class="ruby-ivar">@sortableResult</span>[<span class="ruby-value">0</span>]
456
- 105: <span class="ruby-keyword kw">end</span>
457
- 106: <span class="ruby-ivar">@result</span> = <span class="ruby-ivar">@sortableResult</span>.<span class="ruby-identifier">to_s</span>
458
- 107: <span class="ruby-ivar">@numericalResult</span> = <span class="ruby-ivar">@result</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@result</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>) <span class="ruby-keyword kw">or</span>
459
- 108: <span class="ruby-ivar">@result</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Float</span>)
460
- 109: <span class="ruby-keyword kw">end</span>
461
- 110: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span>
462
- 111: <span class="ruby-ivar">@errorMessage</span> = <span class="ruby-identifier">$!</span>
463
- 112: <span class="ruby-ivar">@result</span> = <span class="ruby-value str">''</span>
464
- 113: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">false</span>
465
- 114: <span class="ruby-keyword kw">end</span>
466
- 115: <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">true</span>
467
- 116: <span class="ruby-keyword kw">end</span>
497
+ 85: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@property</span>
498
+ 86: <span class="ruby-comment cmt"># No property was provided. We are looking for a project attribute.</span>
499
+ 87: <span class="ruby-identifier">supportedAttrs</span> = <span class="ruby-node">%w( copyright currency end name now projectid
500
+ 88: start version )</span>
501
+ 89: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">supportedAttrs</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@attributeId</span>)
502
+ 90: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
503
+ 91: <span class="ruby-node">&quot;Unsupported project attribute '#{@attributeId}'&quot;</span>
504
+ 92: <span class="ruby-keyword kw">end</span>
505
+ 93: <span class="ruby-identifier">attr</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-ivar">@attributeId</span>]
506
+ 94: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
507
+ 95: <span class="ruby-ivar">@sortable</span> = <span class="ruby-ivar">@numerical</span> = <span class="ruby-identifier">attr</span>
508
+ 96: <span class="ruby-ivar">@string</span> = <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-ivar">@timeFormat</span>)
509
+ 97: <span class="ruby-keyword kw">else</span>
510
+ 98: <span class="ruby-ivar">@sortable</span> = <span class="ruby-ivar">@string</span> = <span class="ruby-identifier">attr</span>
511
+ 99: <span class="ruby-keyword kw">end</span>
512
+ 100: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">true</span>
513
+ 101: <span class="ruby-keyword kw">end</span>
514
+ 102:
515
+ 103: <span class="ruby-comment cmt"># Same for the scope property.</span>
516
+ 104: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@scopeProperty</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@scopePropertyId</span>.<span class="ruby-identifier">nil?</span>
517
+ 105: <span class="ruby-ivar">@scopeProperty</span> = <span class="ruby-identifier">resolvePropertyId</span>(<span class="ruby-ivar">@scopePropertyType</span>,
518
+ 106: <span class="ruby-ivar">@scopePropertyId</span>)
519
+ 107: <span class="ruby-keyword kw">end</span>
520
+ 108: <span class="ruby-comment cmt"># Make sure the have a reference to the project.</span>
521
+ 109: <span class="ruby-ivar">@project</span> = <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">project</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@project</span>
522
+ 110:
523
+ 111: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenario</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@scenarioIdx</span>
524
+ 112: <span class="ruby-ivar">@scenarioIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-ivar">@scenario</span>)
525
+ 113: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@scenarioIdx</span>
526
+ 114: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Query cannot resolve scenario '#{@scenario}'&quot;</span>
527
+ 115: <span class="ruby-keyword kw">end</span>
528
+ 116: <span class="ruby-keyword kw">end</span>
529
+ 117: <span class="ruby-ivar">@startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-ivar">@start</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@startIdx</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@start</span>
530
+ 118: <span class="ruby-ivar">@endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-ivar">@end</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@endIdx</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@end</span>
531
+ 119:
532
+ 120: <span class="ruby-identifier">queryMethodName</span> = <span class="ruby-value str">'query_'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@attributeId</span>
533
+ 121: <span class="ruby-comment cmt"># First we check for non-scenario-specific query functions.</span>
534
+ 122: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">queryMethodName</span>)
535
+ 123: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">queryMethodName</span>, <span class="ruby-keyword kw">self</span>)
536
+ 124: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@scenarioIdx</span> <span class="ruby-operator">&amp;&amp;</span>
537
+ 125: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">data</span>[<span class="ruby-ivar">@scenarioIdx</span>].<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">queryMethodName</span>)
538
+ 126: <span class="ruby-comment cmt"># Then we check for scenario-specific ones via the @data member.</span>
539
+ 127: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">queryMethodName</span>, <span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-keyword kw">self</span>)
540
+ 128: <span class="ruby-keyword kw">else</span>
541
+ 129: <span class="ruby-comment cmt"># The result is a BaseAttribute</span>
542
+ 130: <span class="ruby-keyword kw">unless</span> (<span class="ruby-ivar">@attr</span> = <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">getAttribute</span>(<span class="ruby-ivar">@attributeId</span>, <span class="ruby-ivar">@scenarioIdx</span>))
543
+ 131: <span class="ruby-identifier">errorMessage</span> = <span class="ruby-node">&quot;Unknown attribute #{@attributeId} queried&quot;</span>
544
+ 132: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">false</span>
545
+ 133: <span class="ruby-keyword kw">end</span>
546
+ 134: <span class="ruby-keyword kw">end</span>
547
+ 135: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span>
548
+ 136: <span class="ruby-ivar">@errorMessage</span> = <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">message</span>
549
+ 137: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">false</span>
550
+ 138: <span class="ruby-keyword kw">end</span>
551
+ 139: <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">true</span>
552
+ 140: <span class="ruby-keyword kw">end</span>
468
553
  </pre>
469
554
  </div>
470
555
 
@@ -472,14 +557,14 @@ href="Query.html">Query</a> object.
472
557
  </div>
473
558
 
474
559
 
475
- <div id="method-M000317" class="method-detail">
476
- <a name="M000317"></a>
560
+ <div id="method-M000710" class="method-detail">
561
+ <a name="M000710"></a>
477
562
 
478
563
  <div class="method-heading">
479
564
 
480
- <a href="#M000317" class="method-signature">
565
+ <a href="#M000710" class="method-signature">
481
566
 
482
- <span class="method-name">reset</span><span class="method-args">()</span>
567
+ <span class="method-name">result</span><span class="method-args">()</span>
483
568
 
484
569
  </a>
485
570
 
@@ -488,23 +573,27 @@ href="Query.html">Query</a> object.
488
573
  <div class="method-description">
489
574
 
490
575
  <p>
491
- Queries object can be reused. Calling this function will clear the query
492
- result data.
576
+ Return the result in the orginal form. It may be nil.
493
577
  </p>
494
578
 
495
579
  <p><a class="source-toggle" href="#"
496
- onclick="toggleCode('M000317-source');return false;">[Source]</a></p>
497
- <div class="method-source-code" id="M000317-source">
580
+ onclick="toggleCode('M000710-source');return false;">[Source]</a></p>
581
+ <div class="method-source-code" id="M000710-source">
498
582
  <pre>
499
- <span class="ruby-comment cmt"># File lib/Query.rb, line 56</span>
500
- 56: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
501
- 57: <span class="ruby-ivar">@result</span> = <span class="ruby-keyword kw">nil</span>
502
- 58: <span class="ruby-ivar">@numericalResult</span> = <span class="ruby-keyword kw">nil</span>
503
- 59: <span class="ruby-ivar">@sortableResult</span> = <span class="ruby-keyword kw">nil</span>
504
- 60: <span class="ruby-ivar">@loadUnit</span> = <span class="ruby-identifier">:days</span>
505
- 61: <span class="ruby-ivar">@ok</span> = <span class="ruby-keyword kw">nil</span>
506
- 62: <span class="ruby-ivar">@errorMessage</span> = <span class="ruby-keyword kw">nil</span>
507
- 63: <span class="ruby-keyword kw">end</span>
583
+ <span class="ruby-comment cmt"># File lib/Query.rb, line 165</span>
584
+ 165: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">result</span>
585
+ 166: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attr</span>
586
+ 167: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">value</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">ReferenceAttribute</span>)
587
+ 168: <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">value</span>[<span class="ruby-value">0</span>]
588
+ 169: <span class="ruby-keyword kw">else</span>
589
+ 170: <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">value</span>
590
+ 171: <span class="ruby-keyword kw">end</span>
591
+ 172: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@numerical</span>
592
+ 173: <span class="ruby-ivar">@numerical</span>
593
+ 174: <span class="ruby-keyword kw">else</span>
594
+ 175: <span class="ruby-ivar">@string</span>
595
+ 176: <span class="ruby-keyword kw">end</span>
596
+ 177: <span class="ruby-keyword kw">end</span>
508
597
  </pre>
509
598
  </div>
510
599
 
@@ -512,12 +601,12 @@ result data.
512
601
  </div>
513
602
 
514
603
 
515
- <div id="method-M000319" class="method-detail">
516
- <a name="M000319"></a>
604
+ <div id="method-M000711" class="method-detail">
605
+ <a name="M000711"></a>
517
606
 
518
607
  <div class="method-heading">
519
608
 
520
- <a href="#M000319" class="method-signature">
609
+ <a href="#M000711" class="method-signature">
521
610
 
522
611
  <span class="method-name">scaleDuration</span><span class="method-args">(value)</span>
523
612
 
@@ -528,19 +617,19 @@ result data.
528
617
  <div class="method-description">
529
618
 
530
619
  <p>
531
- Convert a duration to the format specified by @loadUnit. <em>work</em> is
532
- the effort in man days. The return value is the converted value with
620
+ Convert a duration to the format specified by @loadUnit. <em>value</em> is
621
+ the duration effort in days. The return value is the converted value with
533
622
  optional unit as a <a href="../String.html">String</a>.
534
623
  </p>
535
624
 
536
625
  <p><a class="source-toggle" href="#"
537
- onclick="toggleCode('M000319-source');return false;">[Source]</a></p>
538
- <div class="method-source-code" id="M000319-source">
626
+ onclick="toggleCode('M000711-source');return false;">[Source]</a></p>
627
+ <div class="method-source-code" id="M000711-source">
539
628
  <pre>
540
- <span class="ruby-comment cmt"># File lib/Query.rb, line 121</span>
541
- 121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scaleDuration</span>(<span class="ruby-identifier">value</span>)
542
- 122: <span class="ruby-identifier">scaleValue</span>(<span class="ruby-identifier">value</span>, [ <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span>, <span class="ruby-value">24</span>, <span class="ruby-value">1</span>, <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-value">7</span>, <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-value">30.42</span>, <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-value">365</span> ])
543
- 123: <span class="ruby-keyword kw">end</span>
629
+ <span class="ruby-comment cmt"># File lib/Query.rb, line 182</span>
630
+ 182: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scaleDuration</span>(<span class="ruby-identifier">value</span>)
631
+ 183: <span class="ruby-identifier">scaleValue</span>(<span class="ruby-identifier">value</span>, [ <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span>, <span class="ruby-value">24</span>, <span class="ruby-value">1</span>, <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-value">7</span>, <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-value">30.42</span>, <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-value">365</span> ])
632
+ 184: <span class="ruby-keyword kw">end</span>
544
633
  </pre>
545
634
  </div>
546
635
 
@@ -548,12 +637,12 @@ optional unit as a <a href="../String.html">String</a>.
548
637
  </div>
549
638
 
550
639
 
551
- <div id="method-M000320" class="method-detail">
552
- <a name="M000320"></a>
640
+ <div id="method-M000712" class="method-detail">
641
+ <a name="M000712"></a>
553
642
 
554
643
  <div class="method-heading">
555
644
 
556
- <a href="#M000320" class="method-signature">
645
+ <a href="#M000712" class="method-signature">
557
646
 
558
647
  <span class="method-name">scaleLoad</span><span class="method-args">(value)</span>
559
648
 
@@ -570,18 +659,194 @@ value with optional unit as a <a href="../String.html">String</a>.
570
659
  </p>
571
660
 
572
661
  <p><a class="source-toggle" href="#"
573
- onclick="toggleCode('M000320-source');return false;">[Source]</a></p>
574
- <div class="method-source-code" id="M000320-source">
662
+ onclick="toggleCode('M000712-source');return false;">[Source]</a></p>
663
+ <div class="method-source-code" id="M000712-source">
664
+ <pre>
665
+ <span class="ruby-comment cmt"># File lib/Query.rb, line 189</span>
666
+ 189: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scaleLoad</span>(<span class="ruby-identifier">value</span>)
667
+ 190: <span class="ruby-identifier">scaleValue</span>(<span class="ruby-identifier">value</span>, [ <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dailyWorkingHours</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span>,
668
+ 191: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dailyWorkingHours</span>,
669
+ 192: <span class="ruby-value">1.0</span>,
670
+ 193: <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">weeklyWorkingDays</span>,
671
+ 194: <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">monthlyWorkingDays</span>,
672
+ 195: <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">yearlyWorkingDays</span> ])
673
+ 196: <span class="ruby-keyword kw">end</span>
674
+ </pre>
675
+ </div>
676
+
677
+ </div>
678
+ </div>
679
+
680
+
681
+ <div id="method-M000703" class="method-detail">
682
+ <a name="M000703"></a>
683
+
684
+ <div class="method-heading">
685
+
686
+ <a href="#M000703" class="method-signature">
687
+
688
+ <span class="method-name">start=</span><span class="method-args">(date)</span>
689
+
690
+ </a>
691
+
692
+ </div>
693
+
694
+ <div class="method-description">
695
+
696
+ <p>
697
+ Reset the @startIdx when a start date is set.
698
+ </p>
699
+
700
+ <p><a class="source-toggle" href="#"
701
+ onclick="toggleCode('M000703-source');return false;">[Source]</a></p>
702
+ <div class="method-source-code" id="M000703-source">
703
+ <pre>
704
+ <span class="ruby-comment cmt"># File lib/Query.rb, line 61</span>
705
+ 61: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start=</span>(<span class="ruby-identifier">date</span>)
706
+ 62: <span class="ruby-ivar">@start</span> = <span class="ruby-identifier">date</span>
707
+ 63: <span class="ruby-ivar">@startIdx</span> = <span class="ruby-keyword kw">nil</span>
708
+ 64: <span class="ruby-keyword kw">end</span>
709
+ </pre>
710
+ </div>
711
+
712
+ </div>
713
+ </div>
714
+
715
+
716
+ <div id="method-M000707" class="method-detail">
717
+ <a name="M000707"></a>
718
+
719
+ <div class="method-heading">
720
+
721
+ <a href="#M000707" class="method-signature">
722
+
723
+ <span class="method-name">to_num</span><span class="method-args">()</span>
724
+
725
+ </a>
726
+
727
+ </div>
728
+
729
+ <div class="method-description">
730
+
731
+ <p>
732
+ Return the result of the <a href="Query.html">Query</a> as Fixnum or Float.
733
+ The result may be nil.
734
+ </p>
735
+
736
+ <p><a class="source-toggle" href="#"
737
+ onclick="toggleCode('M000707-source');return false;">[Source]</a></p>
738
+ <div class="method-source-code" id="M000707-source">
739
+ <pre>
740
+ <span class="ruby-comment cmt"># File lib/Query.rb, line 149</span>
741
+ 149: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_num</span>
742
+ 150: <span class="ruby-ivar">@attr</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">to_num</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@numerical</span>
743
+ 151: <span class="ruby-keyword kw">end</span>
744
+ </pre>
745
+ </div>
746
+
747
+ </div>
748
+ </div>
749
+
750
+
751
+ <div id="method-M000709" class="method-detail">
752
+ <a name="M000709"></a>
753
+
754
+ <div class="method-heading">
755
+
756
+ <a href="#M000709" class="method-signature">
757
+
758
+ <span class="method-name">to_rti</span><span class="method-args">()</span>
759
+
760
+ </a>
761
+
762
+ </div>
763
+
764
+ <div class="method-description">
765
+
766
+ <p>
767
+ Return the result as <a
768
+ href="RichTextIntermediate.html">RichTextIntermediate</a> object. The
769
+ result may be nil.
770
+ </p>
771
+
772
+ <p><a class="source-toggle" href="#"
773
+ onclick="toggleCode('M000709-source');return false;">[Source]</a></p>
774
+ <div class="method-source-code" id="M000709-source">
775
+ <pre>
776
+ <span class="ruby-comment cmt"># File lib/Query.rb, line 160</span>
777
+ 160: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_rti</span>
778
+ 161: <span class="ruby-ivar">@attr</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">to_rti</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-operator">:</span> <span class="ruby-ivar">@rti</span>
779
+ 162: <span class="ruby-keyword kw">end</span>
780
+ </pre>
781
+ </div>
782
+
783
+ </div>
784
+ </div>
785
+
786
+
787
+ <div id="method-M000706" class="method-detail">
788
+ <a name="M000706"></a>
789
+
790
+ <div class="method-heading">
791
+
792
+ <a href="#M000706" class="method-signature">
793
+
794
+ <span class="method-name">to_s</span><span class="method-args">()</span>
795
+
796
+ </a>
797
+
798
+ </div>
799
+
800
+ <div class="method-description">
801
+
802
+ <p>
803
+ Return the result of the <a href="Query.html">Query</a> as <a
804
+ href="../String.html">String</a>. The result may be nil.
805
+ </p>
806
+
807
+ <p><a class="source-toggle" href="#"
808
+ onclick="toggleCode('M000706-source');return false;">[Source]</a></p>
809
+ <div class="method-source-code" id="M000706-source">
810
+ <pre>
811
+ <span class="ruby-comment cmt"># File lib/Query.rb, line 143</span>
812
+ 143: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
813
+ 144: <span class="ruby-ivar">@attr</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-operator">:</span> (<span class="ruby-ivar">@string</span> <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>)
814
+ 145: <span class="ruby-keyword kw">end</span>
815
+ </pre>
816
+ </div>
817
+
818
+ </div>
819
+ </div>
820
+
821
+
822
+ <div id="method-M000708" class="method-detail">
823
+ <a name="M000708"></a>
824
+
825
+ <div class="method-heading">
826
+
827
+ <a href="#M000708" class="method-signature">
828
+
829
+ <span class="method-name">to_sort</span><span class="method-args">()</span>
830
+
831
+ </a>
832
+
833
+ </div>
834
+
835
+ <div class="method-description">
836
+
837
+ <p>
838
+ Return the result in the best suited type and format for sorting. The
839
+ result may be nil.
840
+ </p>
841
+
842
+ <p><a class="source-toggle" href="#"
843
+ onclick="toggleCode('M000708-source');return false;">[Source]</a></p>
844
+ <div class="method-source-code" id="M000708-source">
575
845
  <pre>
576
- <span class="ruby-comment cmt"># File lib/Query.rb, line 128</span>
577
- 128: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scaleLoad</span>(<span class="ruby-identifier">value</span>)
578
- 129: <span class="ruby-identifier">scaleValue</span>(<span class="ruby-identifier">value</span>, [ <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dailyWorkingHours</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span>,
579
- 130: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dailyWorkingHours</span>,
580
- 131: <span class="ruby-value">1.0</span>,
581
- 132: <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">weeklyWorkingDays</span>,
582
- 133: <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">monthlyWorkingDays</span>,
583
- 134: <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">yearlyWorkingDays</span> ])
584
- 135: <span class="ruby-keyword kw">end</span>
846
+ <span class="ruby-comment cmt"># File lib/Query.rb, line 155</span>
847
+ 155: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_sort</span>
848
+ 156: <span class="ruby-ivar">@attr</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@attr</span>.<span class="ruby-identifier">to_sort</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@sortable</span>
849
+ 157: <span class="ruby-keyword kw">end</span>
585
850
  </pre>
586
851
  </div>
587
852