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
@@ -95,9 +95,9 @@
95
95
 
96
96
  <div class="name-list">
97
97
 
98
- <a href="#M000325">method_missing</a>&nbsp;&nbsp;
98
+ <a href="#M001128">method_missing</a>&nbsp;&nbsp;
99
99
 
100
- <a href="#M000324">new</a>&nbsp;&nbsp;
100
+ <a href="#M001127">new</a>&nbsp;&nbsp;
101
101
 
102
102
  </div>
103
103
  </div>
@@ -118,12 +118,12 @@
118
118
  <h3 class="section-bar">Public Class methods</h3>
119
119
 
120
120
 
121
- <div id="method-M000324" class="method-detail">
122
- <a name="M000324"></a>
121
+ <div id="method-M001127" class="method-detail">
122
+ <a name="M001127"></a>
123
123
 
124
124
  <div class="method-heading">
125
125
 
126
- <a href="#M000324" class="method-signature">
126
+ <a href="#M001127" class="method-signature">
127
127
 
128
128
  <span class="method-name">new</span><span class="method-args">(project, id, name, parent)</span>
129
129
 
@@ -134,8 +134,8 @@
134
134
  <div class="method-description">
135
135
 
136
136
  <p><a class="source-toggle" href="#"
137
- onclick="toggleCode('M000324-source');return false;">[Source]</a></p>
138
- <div class="method-source-code" id="M000324-source">
137
+ onclick="toggleCode('M001127-source');return false;">[Source]</a></p>
138
+ <div class="method-source-code" id="M001127-source">
139
139
  <pre>
140
140
  <span class="ruby-comment cmt"># File lib/Resource.rb, line 21</span>
141
141
  21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">project</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">parent</span>)
@@ -157,12 +157,12 @@
157
157
  <h3 class="section-bar">Public Instance methods</h3>
158
158
 
159
159
 
160
- <div id="method-M000325" class="method-detail">
161
- <a name="M000325"></a>
160
+ <div id="method-M001128" class="method-detail">
161
+ <a name="M001128"></a>
162
162
 
163
163
  <div class="method-heading">
164
164
 
165
- <a href="#M000325" class="method-signature">
165
+ <a href="#M001128" class="method-signature">
166
166
 
167
167
  <span class="method-name">method_missing</span><span class="method-args">(func, scenarioIdx, *args)</span>
168
168
 
@@ -181,8 +181,8 @@ we try to find it in <a href="ResourceScenario.html">ResourceScenario</a>.
181
181
  </p>
182
182
 
183
183
  <p><a class="source-toggle" href="#"
184
- onclick="toggleCode('M000325-source');return false;">[Source]</a></p>
185
- <div class="method-source-code" id="M000325-source">
184
+ onclick="toggleCode('M001128-source');return false;">[Source]</a></p>
185
+ <div class="method-source-code" id="M001128-source">
186
186
  <pre>
187
187
  <span class="ruby-comment cmt"># File lib/Resource.rb, line 35</span>
188
188
  35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">func</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
@@ -95,13 +95,15 @@
95
95
 
96
96
  <div class="name-list">
97
97
 
98
- <a href="#M000499">new</a>&nbsp;&nbsp;
98
+ <a href="#M000908">new</a>&nbsp;&nbsp;
99
99
 
100
- <a href="#M000500">tjpId</a>&nbsp;&nbsp;
100
+ <a href="#M000909">tjpId</a>&nbsp;&nbsp;
101
101
 
102
- <a href="#M000501">to_s</a>&nbsp;&nbsp;
102
+ <a href="#M000911">to_rti</a>&nbsp;&nbsp;
103
103
 
104
- <a href="#M000502">to_tjp</a>&nbsp;&nbsp;
104
+ <a href="#M000910">to_s</a>&nbsp;&nbsp;
105
+
106
+ <a href="#M000912">to_tjp</a>&nbsp;&nbsp;
105
107
 
106
108
  </div>
107
109
  </div>
@@ -122,12 +124,12 @@
122
124
  <h3 class="section-bar">Public Class methods</h3>
123
125
 
124
126
 
125
- <div id="method-M000499" class="method-detail">
126
- <a name="M000499"></a>
127
+ <div id="method-M000908" class="method-detail">
128
+ <a name="M000908"></a>
127
129
 
128
130
  <div class="method-heading">
129
131
 
130
- <a href="#M000499" class="method-signature">
132
+ <a href="#M000908" class="method-signature">
131
133
 
132
134
  <span class="method-name">new</span><span class="method-args">(property, type)</span>
133
135
 
@@ -138,15 +140,15 @@
138
140
  <div class="method-description">
139
141
 
140
142
  <p><a class="source-toggle" href="#"
141
- onclick="toggleCode('M000499-source');return false;">[Source]</a></p>
142
- <div class="method-source-code" id="M000499-source">
143
+ onclick="toggleCode('M000908-source');return false;">[Source]</a></p>
144
+ <div class="method-source-code" id="M000908-source">
143
145
  <pre>
144
- <span class="ruby-comment cmt"># File lib/Attributes.rb, line 400</span>
145
- 400: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">type</span>)
146
- 401: <span class="ruby-keyword kw">super</span>
147
- 402:
148
- 403: <span class="ruby-ivar">@value</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
149
- 404: <span class="ruby-keyword kw">end</span>
146
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 420</span>
147
+ 420: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">type</span>)
148
+ 421: <span class="ruby-keyword kw">super</span>
149
+ 422:
150
+ 423: <span class="ruby-ivar">@value</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
151
+ 424: <span class="ruby-keyword kw">end</span>
150
152
  </pre>
151
153
  </div>
152
154
 
@@ -154,12 +156,12 @@
154
156
  </div>
155
157
 
156
158
 
157
- <div id="method-M000500" class="method-detail">
158
- <a name="M000500"></a>
159
+ <div id="method-M000909" class="method-detail">
160
+ <a name="M000909"></a>
159
161
 
160
162
  <div class="method-heading">
161
163
 
162
- <a href="#M000500" class="method-signature">
164
+ <a href="#M000909" class="method-signature">
163
165
 
164
166
  <span class="method-name">tjpId</span><span class="method-args">()</span>
165
167
 
@@ -170,13 +172,13 @@
170
172
  <div class="method-description">
171
173
 
172
174
  <p><a class="source-toggle" href="#"
173
- onclick="toggleCode('M000500-source');return false;">[Source]</a></p>
174
- <div class="method-source-code" id="M000500-source">
175
+ onclick="toggleCode('M000909-source');return false;">[Source]</a></p>
176
+ <div class="method-source-code" id="M000909-source">
175
177
  <pre>
176
- <span class="ruby-comment cmt"># File lib/Attributes.rb, line 406</span>
177
- 406: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ResourceListAttribute</span><span class="ruby-operator">::</span><span class="ruby-identifier">tjpId</span>
178
- 407: <span class="ruby-value str">'resourcelist'</span>
179
- 408: <span class="ruby-keyword kw">end</span>
178
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 426</span>
179
+ 426: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ResourceListAttribute</span><span class="ruby-operator">::</span><span class="ruby-identifier">tjpId</span>
180
+ 427: <span class="ruby-value str">'resourcelist'</span>
181
+ 428: <span class="ruby-keyword kw">end</span>
180
182
  </pre>
181
183
  </div>
182
184
 
@@ -187,14 +189,47 @@
187
189
  <h3 class="section-bar">Public Instance methods</h3>
188
190
 
189
191
 
190
- <div id="method-M000501" class="method-detail">
191
- <a name="M000501"></a>
192
+ <div id="method-M000911" class="method-detail">
193
+ <a name="M000911"></a>
194
+
195
+ <div class="method-heading">
196
+
197
+ <a href="#M000911" class="method-signature">
198
+
199
+ <span class="method-name">to_rti</span><span class="method-args">(query = nil)</span>
200
+
201
+ </a>
202
+
203
+ </div>
204
+
205
+ <div class="method-description">
206
+
207
+ <p><a class="source-toggle" href="#"
208
+ onclick="toggleCode('M000911-source');return false;">[Source]</a></p>
209
+ <div class="method-source-code" id="M000911-source">
210
+ <pre>
211
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 436</span>
212
+ 436: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_rti</span>(<span class="ruby-identifier">query</span> = <span class="ruby-keyword kw">nil</span>)
213
+ 437: <span class="ruby-identifier">out</span> = []
214
+ 438: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">name</span> }
215
+ 439: <span class="ruby-identifier">rText</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">out</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>))
216
+ 440: <span class="ruby-identifier">rText</span>.<span class="ruby-identifier">generateIntermediateFormat</span>
217
+ 441: <span class="ruby-keyword kw">end</span>
218
+ </pre>
219
+ </div>
220
+
221
+ </div>
222
+ </div>
223
+
224
+
225
+ <div id="method-M000910" class="method-detail">
226
+ <a name="M000910"></a>
192
227
 
193
228
  <div class="method-heading">
194
229
 
195
- <a href="#M000501" class="method-signature">
230
+ <a href="#M000910" class="method-signature">
196
231
 
197
- <span class="method-name">to_s</span><span class="method-args">()</span>
232
+ <span class="method-name">to_s</span><span class="method-args">(query = nil)</span>
198
233
 
199
234
  </a>
200
235
 
@@ -203,15 +238,15 @@
203
238
  <div class="method-description">
204
239
 
205
240
  <p><a class="source-toggle" href="#"
206
- onclick="toggleCode('M000501-source');return false;">[Source]</a></p>
207
- <div class="method-source-code" id="M000501-source">
241
+ onclick="toggleCode('M000910-source');return false;">[Source]</a></p>
242
+ <div class="method-source-code" id="M000910-source">
208
243
  <pre>
209
- <span class="ruby-comment cmt"># File lib/Attributes.rb, line 410</span>
210
- 410: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
211
- 411: <span class="ruby-identifier">out</span> = []
212
- 412: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">fullId</span> }
213
- 413: <span class="ruby-identifier">out</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;, &quot;</span>)
214
- 414: <span class="ruby-keyword kw">end</span>
244
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 430</span>
245
+ 430: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">query</span> = <span class="ruby-keyword kw">nil</span>)
246
+ 431: <span class="ruby-identifier">out</span> = []
247
+ 432: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">fullId</span> }
248
+ 433: <span class="ruby-identifier">out</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;, &quot;</span>)
249
+ 434: <span class="ruby-keyword kw">end</span>
215
250
  </pre>
216
251
  </div>
217
252
 
@@ -219,12 +254,12 @@
219
254
  </div>
220
255
 
221
256
 
222
- <div id="method-M000502" class="method-detail">
223
- <a name="M000502"></a>
257
+ <div id="method-M000912" class="method-detail">
258
+ <a name="M000912"></a>
224
259
 
225
260
  <div class="method-heading">
226
261
 
227
- <a href="#M000502" class="method-signature">
262
+ <a href="#M000912" class="method-signature">
228
263
 
229
264
  <span class="method-name">to_tjp</span><span class="method-args">()</span>
230
265
 
@@ -235,15 +270,15 @@
235
270
  <div class="method-description">
236
271
 
237
272
  <p><a class="source-toggle" href="#"
238
- onclick="toggleCode('M000502-source');return false;">[Source]</a></p>
239
- <div class="method-source-code" id="M000502-source">
273
+ onclick="toggleCode('M000912-source');return false;">[Source]</a></p>
274
+ <div class="method-source-code" id="M000912-source">
240
275
  <pre>
241
- <span class="ruby-comment cmt"># File lib/Attributes.rb, line 416</span>
242
- 416: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_tjp</span>
243
- 417: <span class="ruby-identifier">out</span> = []
244
- 418: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">fullId</span> }
245
- 419: <span class="ruby-ivar">@type</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot; &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">out</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>)
246
- 420: <span class="ruby-keyword kw">end</span>
276
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 443</span>
277
+ 443: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_tjp</span>
278
+ 444: <span class="ruby-identifier">out</span> = []
279
+ 445: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">fullId</span> }
280
+ 446: <span class="ruby-ivar">@type</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot; &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">out</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>)
281
+ 447: <span class="ruby-keyword kw">end</span>
247
282
  </pre>
248
283
  </div>
249
284
 
@@ -104,9 +104,9 @@ optionally have the assigned tasks nested underneath each resource line.
104
104
 
105
105
  <div class="name-list">
106
106
 
107
- <a href="#M000653">generateIntermediateFormat</a>&nbsp;&nbsp;
107
+ <a href="#M000435">generateIntermediateFormat</a>&nbsp;&nbsp;
108
108
 
109
- <a href="#M000652">new</a>&nbsp;&nbsp;
109
+ <a href="#M000434">new</a>&nbsp;&nbsp;
110
110
 
111
111
  </div>
112
112
  </div>
@@ -127,12 +127,12 @@ optionally have the assigned tasks nested underneath each resource line.
127
127
  <h3 class="section-bar">Public Class methods</h3>
128
128
 
129
129
 
130
- <div id="method-M000652" class="method-detail">
131
- <a name="M000652"></a>
130
+ <div id="method-M000434" class="method-detail">
131
+ <a name="M000434"></a>
132
132
 
133
133
  <div class="method-heading">
134
134
 
135
- <a href="#M000652" class="method-signature">
135
+ <a href="#M000434" class="method-signature">
136
136
 
137
137
  <span class="method-name">new</span><span class="method-args">(report)</span>
138
138
 
@@ -147,8 +147,8 @@ Create a new object and set some default values.
147
147
  </p>
148
148
 
149
149
  <p><a class="source-toggle" href="#"
150
- onclick="toggleCode('M000652-source');return false;">[Source]</a></p>
151
- <div class="method-source-code" id="M000652-source">
150
+ onclick="toggleCode('M000434-source');return false;">[Source]</a></p>
151
+ <div class="method-source-code" id="M000434-source">
152
152
  <pre>
153
153
  <span class="ruby-comment cmt"># File lib/reports/ResourceListRE.rb, line 26</span>
154
154
  26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">report</span>)
@@ -165,12 +165,12 @@ Create a new object and set some default values.
165
165
  <h3 class="section-bar">Public Instance methods</h3>
166
166
 
167
167
 
168
- <div id="method-M000653" class="method-detail">
169
- <a name="M000653"></a>
168
+ <div id="method-M000435" class="method-detail">
169
+ <a name="M000435"></a>
170
170
 
171
171
  <div class="method-heading">
172
172
 
173
- <a href="#M000653" class="method-signature">
173
+ <a href="#M000435" class="method-signature">
174
174
 
175
175
  <span class="method-name">generateIntermediateFormat</span><span class="method-args">()</span>
176
176
 
@@ -185,39 +185,43 @@ Generate the table in the intermediate format.
185
185
  </p>
186
186
 
187
187
  <p><a class="source-toggle" href="#"
188
- onclick="toggleCode('M000653-source');return false;">[Source]</a></p>
189
- <div class="method-source-code" id="M000653-source">
188
+ onclick="toggleCode('M000435-source');return false;">[Source]</a></p>
189
+ <div class="method-source-code" id="M000435-source">
190
190
  <pre>
191
191
  <span class="ruby-comment cmt"># File lib/reports/ResourceListRE.rb, line 32</span>
192
192
  32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateIntermediateFormat</span>
193
- 33: <span class="ruby-identifier">setReportPeriod</span>
193
+ 33: <span class="ruby-keyword kw">super</span>
194
194
  34:
195
- 35: <span class="ruby-comment cmt"># Prepare the resource list.</span>
196
- 36: <span class="ruby-identifier">resourceList</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>.<span class="ruby-identifier">resources</span>)
197
- 37: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">setSorting</span>(<span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'sortResources'</span>))
198
- 38: <span class="ruby-identifier">resourceList</span> = <span class="ruby-identifier">filterResourceList</span>(<span class="ruby-identifier">resourceList</span>, <span class="ruby-keyword kw">nil</span>,
199
- 39: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'hideResource'</span>),
200
- 40: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'rollupResource'</span>))
201
- 41: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">sort!</span>
202
- 42:
203
- 43: <span class="ruby-comment cmt"># Prepare the task list.</span>
204
- 44: <span class="ruby-identifier">taskList</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>.<span class="ruby-identifier">tasks</span>)
205
- 45: <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">setSorting</span>(<span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'sortTasks'</span>))
206
- 46: <span class="ruby-identifier">taskList</span> = <span class="ruby-identifier">filterTaskList</span>(<span class="ruby-identifier">taskList</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'hideTask'</span>),
207
- 47: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'rollupTask'</span>))
208
- 48: <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">sort!</span>
209
- 49:
210
- 50: <span class="ruby-identifier">adjustReportPeriod</span>(<span class="ruby-identifier">taskList</span>, <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'scenarios'</span>),
211
- 51: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'columns'</span>))
212
- 52:
213
- 53: <span class="ruby-comment cmt"># Generate the table header.</span>
214
- 54: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'columns'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">columnDescr</span><span class="ruby-operator">|</span>
215
- 55: <span class="ruby-identifier">generateHeaderCell</span>(<span class="ruby-identifier">columnDescr</span>)
216
- 56: <span class="ruby-keyword kw">end</span>
217
- 57:
218
- 58: <span class="ruby-comment cmt"># Generate the list.</span>
219
- 59: <span class="ruby-identifier">generateResourceList</span>(<span class="ruby-identifier">resourceList</span>, <span class="ruby-identifier">taskList</span>, <span class="ruby-keyword kw">nil</span>)
220
- 60: <span class="ruby-keyword kw">end</span>
195
+ 35: <span class="ruby-identifier">setReportPeriod</span>
196
+ 36:
197
+ 37: <span class="ruby-comment cmt"># Prepare the resource list.</span>
198
+ 38: <span class="ruby-identifier">resourceList</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>.<span class="ruby-identifier">resources</span>)
199
+ 39: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">setSorting</span>(<span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'sortResources'</span>))
200
+ 40: <span class="ruby-identifier">resourceList</span> = <span class="ruby-identifier">filterResourceList</span>(<span class="ruby-identifier">resourceList</span>, <span class="ruby-keyword kw">nil</span>,
201
+ 41: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'hideResource'</span>),
202
+ 42: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'rollupResource'</span>))
203
+ 43: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">query</span> = <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">project</span>.<span class="ruby-identifier">reportContext</span>.<span class="ruby-identifier">query</span>
204
+ 44: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">sort!</span>
205
+ 45:
206
+ 46: <span class="ruby-comment cmt"># Prepare the task list.</span>
207
+ 47: <span class="ruby-identifier">taskList</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>.<span class="ruby-identifier">tasks</span>)
208
+ 48: <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">setSorting</span>(<span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'sortTasks'</span>))
209
+ 49: <span class="ruby-identifier">taskList</span> = <span class="ruby-identifier">filterTaskList</span>(<span class="ruby-identifier">taskList</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'hideTask'</span>),
210
+ 50: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'rollupTask'</span>))
211
+ 51: <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">query</span> = <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">project</span>.<span class="ruby-identifier">reportContext</span>.<span class="ruby-identifier">query</span>
212
+ 52: <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">sort!</span>
213
+ 53:
214
+ 54: <span class="ruby-identifier">adjustReportPeriod</span>(<span class="ruby-identifier">taskList</span>, <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'scenarios'</span>),
215
+ 55: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'columns'</span>))
216
+ 56:
217
+ 57: <span class="ruby-comment cmt"># Generate the table header.</span>
218
+ 58: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'columns'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">columnDescr</span><span class="ruby-operator">|</span>
219
+ 59: <span class="ruby-identifier">generateHeaderCell</span>(<span class="ruby-identifier">columnDescr</span>)
220
+ 60: <span class="ruby-keyword kw">end</span>
221
+ 61:
222
+ 62: <span class="ruby-comment cmt"># Generate the list.</span>
223
+ 63: <span class="ruby-identifier">generateResourceList</span>(<span class="ruby-identifier">resourceList</span>, <span class="ruby-identifier">taskList</span>, <span class="ruby-keyword kw">nil</span>)
224
+ 64: <span class="ruby-keyword kw">end</span>
221
225
  </pre>
222
226
  </div>
223
227
 
@@ -95,47 +95,51 @@
95
95
 
96
96
  <div class="name-list">
97
97
 
98
- <a href="#M000373">allocated?</a>&nbsp;&nbsp;
98
+ <a href="#M000838">allocated?</a>&nbsp;&nbsp;
99
99
 
100
- <a href="#M000358">available?</a>&nbsp;&nbsp;
100
+ <a href="#M000821">available?</a>&nbsp;&nbsp;
101
101
 
102
- <a href="#M000360">book</a>&nbsp;&nbsp;
102
+ <a href="#M000823">book</a>&nbsp;&nbsp;
103
103
 
104
- <a href="#M000361">bookBooking</a>&nbsp;&nbsp;
104
+ <a href="#M000824">bookBooking</a>&nbsp;&nbsp;
105
105
 
106
- <a href="#M000359">booked?</a>&nbsp;&nbsp;
106
+ <a href="#M000822">booked?</a>&nbsp;&nbsp;
107
107
 
108
- <a href="#M000357">calcCriticalness</a>&nbsp;&nbsp;
108
+ <a href="#M000820">calcCriticalness</a>&nbsp;&nbsp;
109
109
 
110
- <a href="#M000375">collectTimeOffIntervals</a>&nbsp;&nbsp;
110
+ <a href="#M000840">collectTimeOffIntervals</a>&nbsp;&nbsp;
111
111
 
112
- <a href="#M000372">cost</a>&nbsp;&nbsp;
112
+ <a href="#M000837">cost</a>&nbsp;&nbsp;
113
113
 
114
- <a href="#M000369">getAllocatedTime</a>&nbsp;&nbsp;
114
+ <a href="#M000833">getAllocatedTime</a>&nbsp;&nbsp;
115
115
 
116
- <a href="#M000368">getAllocatedWork</a>&nbsp;&nbsp;
116
+ <a href="#M000832">getAllocatedWork</a>&nbsp;&nbsp;
117
117
 
118
- <a href="#M000374">getBookings</a>&nbsp;&nbsp;
118
+ <a href="#M000839">getBookings</a>&nbsp;&nbsp;
119
119
 
120
- <a href="#M000370">getEffectiveFreeWork</a>&nbsp;&nbsp;
120
+ <a href="#M000834">getEffectiveFreeTime</a>&nbsp;&nbsp;
121
121
 
122
- <a href="#M000367">getEffectiveWork</a>&nbsp;&nbsp;
122
+ <a href="#M000835">getEffectiveFreeWork</a>&nbsp;&nbsp;
123
123
 
124
- <a href="#M000355">new</a>&nbsp;&nbsp;
124
+ <a href="#M000831">getEffectiveWork</a>&nbsp;&nbsp;
125
125
 
126
- <a href="#M000356">prepareScheduling</a>&nbsp;&nbsp;
126
+ <a href="#M000818">new</a>&nbsp;&nbsp;
127
127
 
128
- <a href="#M000362">query_cost</a>&nbsp;&nbsp;
128
+ <a href="#M000819">prepareScheduling</a>&nbsp;&nbsp;
129
129
 
130
- <a href="#M000363">query_effort</a>&nbsp;&nbsp;
130
+ <a href="#M000825">query_cost</a>&nbsp;&nbsp;
131
131
 
132
- <a href="#M000364">query_freework</a>&nbsp;&nbsp;
132
+ <a href="#M000826">query_effort</a>&nbsp;&nbsp;
133
133
 
134
- <a href="#M000365">query_rate</a>&nbsp;&nbsp;
134
+ <a href="#M000827">query_freetime</a>&nbsp;&nbsp;
135
135
 
136
- <a href="#M000366">query_revenue</a>&nbsp;&nbsp;
136
+ <a href="#M000828">query_freework</a>&nbsp;&nbsp;
137
137
 
138
- <a href="#M000371">turnover</a>&nbsp;&nbsp;
138
+ <a href="#M000829">query_rate</a>&nbsp;&nbsp;
139
+
140
+ <a href="#M000830">query_revenue</a>&nbsp;&nbsp;
141
+
142
+ <a href="#M000836">turnover</a>&nbsp;&nbsp;
139
143
 
140
144
  </div>
141
145
  </div>
@@ -156,12 +160,12 @@
156
160
  <h3 class="section-bar">Public Class methods</h3>
157
161
 
158
162
 
159
- <div id="method-M000355" class="method-detail">
160
- <a name="M000355"></a>
163
+ <div id="method-M000818" class="method-detail">
164
+ <a name="M000818"></a>
161
165
 
162
166
  <div class="method-heading">
163
167
 
164
- <a href="#M000355" class="method-signature">
168
+ <a href="#M000818" class="method-signature">
165
169
 
166
170
  <span class="method-name">new</span><span class="method-args">(resource, scenarioIdx, attributes)</span>
167
171
 
@@ -172,8 +176,8 @@
172
176
  <div class="method-description">
173
177
 
174
178
  <p><a class="source-toggle" href="#"
175
- onclick="toggleCode('M000355-source');return false;">[Source]</a></p>
176
- <div class="method-source-code" id="M000355-source">
179
+ onclick="toggleCode('M000818-source');return false;">[Source]</a></p>
180
+ <div class="method-source-code" id="M000818-source">
177
181
  <pre>
178
182
  <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 20</span>
179
183
  20: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">resource</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">attributes</span>)
@@ -202,12 +206,12 @@
202
206
  <h3 class="section-bar">Public Instance methods</h3>
203
207
 
204
208
 
205
- <div id="method-M000373" class="method-detail">
206
- <a name="M000373"></a>
209
+ <div id="method-M000838" class="method-detail">
210
+ <a name="M000838"></a>
207
211
 
208
212
  <div class="method-heading">
209
213
 
210
- <a href="#M000373" class="method-signature">
214
+ <a href="#M000838" class="method-signature">
211
215
 
212
216
  <span class="method-name">allocated?</span><span class="method-args">(iv, task = nil)</span>
213
217
 
@@ -224,24 +228,24 @@ If task is not nil only allocations to this tasks are respected.
224
228
  </p>
225
229
 
226
230
  <p><a class="source-toggle" href="#"
227
- onclick="toggleCode('M000373-source');return false;">[Source]</a></p>
228
- <div class="method-source-code" id="M000373-source">
231
+ onclick="toggleCode('M000838-source');return false;">[Source]</a></p>
232
+ <div class="method-source-code" id="M000838-source">
229
233
  <pre>
230
- <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 302</span>
231
- 302: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allocated?</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
232
- 303: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
233
- 304:
234
- 305: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">true</span>)
235
- 306: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">true</span>)
236
- 307:
237
- 308: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@firstBookedSlot</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@firstBookedSlot</span> <span class="ruby-operator">&amp;&amp;</span>
238
- 309: <span class="ruby-identifier">startIdx</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@firstBookedSlot</span>
239
- 310: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@lastBookedSlot</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@lastBookedSlot</span> <span class="ruby-operator">&amp;&amp;</span>
240
- 311: <span class="ruby-identifier">endIdx</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@lastBookedSlot</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
241
- 312: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">endIdx</span>
242
- 313:
243
- 314: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">allocatedSub</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>)
244
- 315: <span class="ruby-keyword kw">end</span>
234
+ <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 331</span>
235
+ 331: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allocated?</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
236
+ 332: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
237
+ 333:
238
+ 334: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">true</span>)
239
+ 335: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">true</span>)
240
+ 336:
241
+ 337: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@firstBookedSlot</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@firstBookedSlot</span> <span class="ruby-operator">&amp;&amp;</span>
242
+ 338: <span class="ruby-identifier">startIdx</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@firstBookedSlot</span>
243
+ 339: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@lastBookedSlot</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@lastBookedSlot</span> <span class="ruby-operator">&amp;&amp;</span>
244
+ 340: <span class="ruby-identifier">endIdx</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@lastBookedSlot</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
245
+ 341: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">endIdx</span>
246
+ 342:
247
+ 343: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">allocatedSub</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>)
248
+ 344: <span class="ruby-keyword kw">end</span>
245
249
  </pre>
246
250
  </div>
247
251
 
@@ -249,12 +253,12 @@ If task is not nil only allocations to this tasks are respected.
249
253
  </div>
250
254
 
251
255
 
252
- <div id="method-M000358" class="method-detail">
253
- <a name="M000358"></a>
256
+ <div id="method-M000821" class="method-detail">
257
+ <a name="M000821"></a>
254
258
 
255
259
  <div class="method-heading">
256
260
 
257
- <a href="#M000358" class="method-signature">
261
+ <a href="#M000821" class="method-signature">
258
262
 
259
263
  <span class="method-name">available?</span><span class="method-args">(sbIdx)</span>
260
264
 
@@ -270,8 +274,8 @@ Returns true if the resource is available at the time specified by
270
274
  </p>
271
275
 
272
276
  <p><a class="source-toggle" href="#"
273
- onclick="toggleCode('M000358-source');return false;">[Source]</a></p>
274
- <div class="method-source-code" id="M000358-source">
277
+ onclick="toggleCode('M000821-source');return false;">[Source]</a></p>
278
+ <div class="method-source-code" id="M000821-source">
275
279
  <pre>
276
280
  <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 65</span>
277
281
  65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">available?</span>(<span class="ruby-identifier">sbIdx</span>)
@@ -289,12 +293,12 @@ Returns true if the resource is available at the time specified by
289
293
  </div>
290
294
 
291
295
 
292
- <div id="method-M000360" class="method-detail">
293
- <a name="M000360"></a>
296
+ <div id="method-M000823" class="method-detail">
297
+ <a name="M000823"></a>
294
298
 
295
299
  <div class="method-heading">
296
300
 
297
- <a href="#M000360" class="method-signature">
301
+ <a href="#M000823" class="method-signature">
298
302
 
299
303
  <span class="method-name">book</span><span class="method-args">(sbIdx, task, force = false)</span>
300
304
 
@@ -312,8 +316,8 @@ the slot was available.
312
316
  </p>
313
317
 
314
318
  <p><a class="source-toggle" href="#"
315
- onclick="toggleCode('M000360-source');return false;">[Source]</a></p>
316
- <div class="method-source-code" id="M000360-source">
319
+ onclick="toggleCode('M000823-source');return false;">[Source]</a></p>
320
+ <div class="method-source-code" id="M000823-source">
317
321
  <pre>
318
322
  <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 83</span>
319
323
  83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">book</span>(<span class="ruby-identifier">sbIdx</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">force</span> = <span class="ruby-keyword kw">false</span>)
@@ -349,12 +353,12 @@ the slot was available.
349
353
  </div>
350
354
 
351
355
 
352
- <div id="method-M000361" class="method-detail">
353
- <a name="M000361"></a>
356
+ <div id="method-M000824" class="method-detail">
357
+ <a name="M000824"></a>
354
358
 
355
359
  <div class="method-heading">
356
360
 
357
- <a href="#M000361" class="method-signature">
361
+ <a href="#M000824" class="method-signature">
358
362
 
359
363
  <span class="method-name">bookBooking</span><span class="method-args">(sbIdx, booking)</span>
360
364
 
@@ -365,8 +369,8 @@ the slot was available.
365
369
  <div class="method-description">
366
370
 
367
371
  <p><a class="source-toggle" href="#"
368
- onclick="toggleCode('M000361-source');return false;">[Source]</a></p>
369
- <div class="method-source-code" id="M000361-source">
372
+ onclick="toggleCode('M000824-source');return false;">[Source]</a></p>
373
+ <div class="method-source-code" id="M000824-source">
370
374
  <pre>
371
375
  <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 110</span>
372
376
  110: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">bookBooking</span>(<span class="ruby-identifier">sbIdx</span>, <span class="ruby-identifier">booking</span>)
@@ -406,12 +410,12 @@ the slot was available.
406
410
  </div>
407
411
 
408
412
 
409
- <div id="method-M000359" class="method-detail">
410
- <a name="M000359"></a>
413
+ <div id="method-M000822" class="method-detail">
414
+ <a name="M000822"></a>
411
415
 
412
416
  <div class="method-heading">
413
417
 
414
- <a href="#M000359" class="method-signature">
418
+ <a href="#M000822" class="method-signature">
415
419
 
416
420
  <span class="method-name">booked?</span><span class="method-args">(sbIdx)</span>
417
421
 
@@ -427,8 +431,8 @@ Return true if the resource is booked for a tasks at the time specified by
427
431
  </p>
428
432
 
429
433
  <p><a class="source-toggle" href="#"
430
- onclick="toggleCode('M000359-source');return false;">[Source]</a></p>
431
- <div class="method-source-code" id="M000359-source">
434
+ onclick="toggleCode('M000822-source');return false;">[Source]</a></p>
435
+ <div class="method-source-code" id="M000822-source">
432
436
  <pre>
433
437
  <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 76</span>
434
438
  76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">booked?</span>(<span class="ruby-identifier">sbIdx</span>)
@@ -441,12 +445,12 @@ Return true if the resource is booked for a tasks at the time specified by
441
445
  </div>
442
446
 
443
447
 
444
- <div id="method-M000357" class="method-detail">
445
- <a name="M000357"></a>
448
+ <div id="method-M000820" class="method-detail">
449
+ <a name="M000820"></a>
446
450
 
447
451
  <div class="method-heading">
448
452
 
449
- <a href="#M000357" class="method-signature">
453
+ <a href="#M000820" class="method-signature">
450
454
 
451
455
  <span class="method-name">calcCriticalness</span><span class="method-args">()</span>
452
456
 
@@ -465,8 +469,8 @@ guarantee, though.
465
469
  </p>
466
470
 
467
471
  <p><a class="source-toggle" href="#"
468
- onclick="toggleCode('M000357-source');return false;">[Source]</a></p>
469
- <div class="method-source-code" id="M000357-source">
472
+ onclick="toggleCode('M000820-source');return false;">[Source]</a></p>
473
+ <div class="method-source-code" id="M000820-source">
470
474
  <pre>
471
475
  <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 49</span>
472
476
  49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">calcCriticalness</span>
@@ -489,12 +493,12 @@ guarantee, though.
489
493
  </div>
490
494
 
491
495
 
492
- <div id="method-M000375" class="method-detail">
493
- <a name="M000375"></a>
496
+ <div id="method-M000840" class="method-detail">
497
+ <a name="M000840"></a>
494
498
 
495
499
  <div class="method-heading">
496
500
 
497
- <a href="#M000375" class="method-signature">
501
+ <a href="#M000840" class="method-signature">
498
502
 
499
503
  <span class="method-name">collectTimeOffIntervals</span><span class="method-args">(iv, minDuration)</span>
500
504
 
@@ -512,15 +516,15 @@ href="TjTime.html">TjTime</a> values.
512
516
  </p>
513
517
 
514
518
  <p><a class="source-toggle" href="#"
515
- onclick="toggleCode('M000375-source');return false;">[Source]</a></p>
516
- <div class="method-source-code" id="M000375-source">
519
+ onclick="toggleCode('M000840-source');return false;">[Source]</a></p>
520
+ <div class="method-source-code" id="M000840-source">
517
521
  <pre>
518
- <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 367</span>
519
- 367: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collectTimeOffIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>)
520
- 368: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
521
- 369:
522
- 370: <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">collectTimeOffIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>, [ <span class="ruby-value">1</span>, <span class="ruby-value">2</span> ])
523
- 371: <span class="ruby-keyword kw">end</span>
522
+ <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 396</span>
523
+ 396: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collectTimeOffIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>)
524
+ 397: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
525
+ 398:
526
+ 399: <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">collectTimeOffIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>, [ <span class="ruby-value">1</span>, <span class="ruby-value">2</span> ])
527
+ 400: <span class="ruby-keyword kw">end</span>
524
528
  </pre>
525
529
  </div>
526
530
 
@@ -528,12 +532,12 @@ href="TjTime.html">TjTime</a> values.
528
532
  </div>
529
533
 
530
534
 
531
- <div id="method-M000372" class="method-detail">
532
- <a name="M000372"></a>
535
+ <div id="method-M000837" class="method-detail">
536
+ <a name="M000837"></a>
533
537
 
534
538
  <div class="method-heading">
535
539
 
536
- <a href="#M000372" class="method-signature">
540
+ <a href="#M000837" class="method-signature">
537
541
 
538
542
  <span class="method-name">cost</span><span class="method-args">(startIdx, endIdx, task = nil)</span>
539
543
 
@@ -551,13 +555,13 @@ particular task is considered.
551
555
  </p>
552
556
 
553
557
  <p><a class="source-toggle" href="#"
554
- onclick="toggleCode('M000372-source');return false;">[Source]</a></p>
555
- <div class="method-source-code" id="M000372-source">
558
+ onclick="toggleCode('M000837-source');return false;">[Source]</a></p>
559
+ <div class="method-source-code" id="M000837-source">
556
560
  <pre>
557
- <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 295</span>
558
- 295: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cost</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
559
- 296: <span class="ruby-identifier">getAllocatedTime</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>) <span class="ruby-operator">*</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'rate'</span>)
560
- 297: <span class="ruby-keyword kw">end</span>
561
+ <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 324</span>
562
+ 324: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cost</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
563
+ 325: <span class="ruby-identifier">getAllocatedTime</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>) <span class="ruby-operator">*</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'rate'</span>)
564
+ 326: <span class="ruby-keyword kw">end</span>
561
565
  </pre>
562
566
  </div>
563
567
 
@@ -565,12 +569,12 @@ particular task is considered.
565
569
  </div>
566
570
 
567
571
 
568
- <div id="method-M000369" class="method-detail">
569
- <a name="M000369"></a>
572
+ <div id="method-M000833" class="method-detail">
573
+ <a name="M000833"></a>
570
574
 
571
575
  <div class="method-heading">
572
576
 
573
- <a href="#M000369" class="method-signature">
577
+ <a href="#M000833" class="method-signature">
574
578
 
575
579
  <span class="method-name">getAllocatedTime</span><span class="method-args">(startIdx, endIdx, task = nil)</span>
576
580
 
@@ -585,28 +589,28 @@ Returns the allocated accumulated time of this resource and its children.
585
589
  </p>
586
590
 
587
591
  <p><a class="source-toggle" href="#"
588
- onclick="toggleCode('M000369-source');return false;">[Source]</a></p>
589
- <div class="method-source-code" id="M000369-source">
592
+ onclick="toggleCode('M000833-source');return false;">[Source]</a></p>
593
+ <div class="method-source-code" id="M000833-source">
590
594
  <pre>
591
- <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 235</span>
592
- 235: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getAllocatedTime</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
593
- 236: <span class="ruby-comment cmt"># Convert the interval dates to indexes if needed.</span>
594
- 237: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
595
- 238: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">endIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
596
- 239:
597
- 240: <span class="ruby-identifier">time</span> = <span class="ruby-value">0</span>
598
- 241: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
599
- 242: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
600
- 243: <span class="ruby-identifier">time</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">getAllocatedWork</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>)
601
- 244: <span class="ruby-keyword kw">end</span>
602
- 245: <span class="ruby-keyword kw">else</span>
603
- 246: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
604
- 247:
605
- 248: <span class="ruby-identifier">time</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">convertToDailyLoad</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>] <span class="ruby-operator">*</span>
606
- 249: <span class="ruby-identifier">getAllocatedSlots</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>))
607
- 250: <span class="ruby-keyword kw">end</span>
608
- 251: <span class="ruby-identifier">time</span>
609
- 252: <span class="ruby-keyword kw">end</span>
595
+ <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 242</span>
596
+ 242: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getAllocatedTime</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
597
+ 243: <span class="ruby-comment cmt"># Convert the interval dates to indexes if needed.</span>
598
+ 244: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
599
+ 245: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">endIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
600
+ 246:
601
+ 247: <span class="ruby-identifier">time</span> = <span class="ruby-value">0</span>
602
+ 248: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
603
+ 249: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
604
+ 250: <span class="ruby-identifier">time</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">getAllocatedWork</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>)
605
+ 251: <span class="ruby-keyword kw">end</span>
606
+ 252: <span class="ruby-keyword kw">else</span>
607
+ 253: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
608
+ 254:
609
+ 255: <span class="ruby-identifier">time</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">convertToDailyLoad</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>] <span class="ruby-operator">*</span>
610
+ 256: <span class="ruby-identifier">getAllocatedSlots</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>))
611
+ 257: <span class="ruby-keyword kw">end</span>
612
+ 258: <span class="ruby-identifier">time</span>
613
+ 259: <span class="ruby-keyword kw">end</span>
610
614
  </pre>
611
615
  </div>
612
616
 
@@ -614,12 +618,12 @@ Returns the allocated accumulated time of this resource and its children.
614
618
  </div>
615
619
 
616
620
 
617
- <div id="method-M000368" class="method-detail">
618
- <a name="M000368"></a>
621
+ <div id="method-M000832" class="method-detail">
622
+ <a name="M000832"></a>
619
623
 
620
624
  <div class="method-heading">
621
625
 
622
- <a href="#M000368" class="method-signature">
626
+ <a href="#M000832" class="method-signature">
623
627
 
624
628
  <span class="method-name">getAllocatedWork</span><span class="method-args">(startIdx, endIdx, task = nil)</span>
625
629
 
@@ -634,29 +638,29 @@ Returns the allocated work of the resource (and its children).
634
638
  </p>
635
639
 
636
640
  <p><a class="source-toggle" href="#"
637
- onclick="toggleCode('M000368-source');return false;">[Source]</a></p>
638
- <div class="method-source-code" id="M000368-source">
641
+ onclick="toggleCode('M000832-source');return false;">[Source]</a></p>
642
+ <div class="method-source-code" id="M000832-source">
639
643
  <pre>
640
- <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 214</span>
641
- 214: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getAllocatedWork</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
642
- 215: <span class="ruby-comment cmt"># Convert the interval dates to indexes if needed.</span>
643
- 216: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
644
- 217: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">endIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
645
- 218:
646
- 219: <span class="ruby-identifier">work</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
647
- 220: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
648
- 221: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
649
- 222: <span class="ruby-identifier">work</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">getAllocatedWork</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>)
650
- 223: <span class="ruby-keyword kw">end</span>
651
- 224: <span class="ruby-keyword kw">else</span>
652
- 225: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span><span class="ruby-value">.0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
653
- 226:
654
- 227: <span class="ruby-identifier">work</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">convertToDailyLoad</span>(
655
- 228: <span class="ruby-identifier">getAllocatedSlots</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>) <span class="ruby-operator">*</span>
656
- 229: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>])
657
- 230: <span class="ruby-keyword kw">end</span>
658
- 231: <span class="ruby-identifier">work</span>
659
- 232: <span class="ruby-keyword kw">end</span>
644
+ <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 221</span>
645
+ 221: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getAllocatedWork</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
646
+ 222: <span class="ruby-comment cmt"># Convert the interval dates to indexes if needed.</span>
647
+ 223: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
648
+ 224: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">endIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
649
+ 225:
650
+ 226: <span class="ruby-identifier">work</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
651
+ 227: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
652
+ 228: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
653
+ 229: <span class="ruby-identifier">work</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">getAllocatedWork</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>)
654
+ 230: <span class="ruby-keyword kw">end</span>
655
+ 231: <span class="ruby-keyword kw">else</span>
656
+ 232: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span><span class="ruby-value">.0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
657
+ 233:
658
+ 234: <span class="ruby-identifier">work</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">convertToDailyLoad</span>(
659
+ 235: <span class="ruby-identifier">getAllocatedSlots</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>) <span class="ruby-operator">*</span>
660
+ 236: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>])
661
+ 237: <span class="ruby-keyword kw">end</span>
662
+ 238: <span class="ruby-identifier">work</span>
663
+ 239: <span class="ruby-keyword kw">end</span>
660
664
  </pre>
661
665
  </div>
662
666
 
@@ -664,12 +668,12 @@ Returns the allocated work of the resource (and its children).
664
668
  </div>
665
669
 
666
670
 
667
- <div id="method-M000374" class="method-detail">
668
- <a name="M000374"></a>
671
+ <div id="method-M000839" class="method-detail">
672
+ <a name="M000839"></a>
669
673
 
670
674
  <div class="method-heading">
671
675
 
672
- <a href="#M000374" class="method-signature">
676
+ <a href="#M000839" class="method-signature">
673
677
 
674
678
  <span class="method-name">getBookings</span><span class="method-args">()</span>
675
679
 
@@ -684,55 +688,106 @@ Iterate over the scoreboard and turn its content into a set of Bookings.
684
688
  </p>
685
689
 
686
690
  <p><a class="source-toggle" href="#"
687
- onclick="toggleCode('M000374-source');return false;">[Source]</a></p>
688
- <div class="method-source-code" id="M000374-source">
691
+ onclick="toggleCode('M000839-source');return false;">[Source]</a></p>
692
+ <div class="method-source-code" id="M000839-source">
689
693
  <pre>
690
- <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 318</span>
691
- 318: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getBookings</span>
692
- 319: <span class="ruby-keyword kw">return</span> {} <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span>
693
- 320: <span class="ruby-ivar">@firstBookedSlot</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@lastBookedSlot</span>.<span class="ruby-identifier">nil?</span>
694
- 321:
695
- 322: <span class="ruby-identifier">bookings</span> = {}
696
- 323: <span class="ruby-identifier">lastTask</span> = <span class="ruby-keyword kw">nil</span>
697
- 324: <span class="ruby-identifier">bookingStart</span> = <span class="ruby-keyword kw">nil</span>
698
- 325:
699
- 326: <span class="ruby-comment cmt"># To speedup the collection we start with the first booked slot and end</span>
700
- 327: <span class="ruby-comment cmt"># with the last booked slot.</span>
701
- 328: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@firstBookedSlot</span>
702
- 329: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@lastBookedSlot</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
703
- 330:
704
- 331: <span class="ruby-comment cmt"># In case the index markers are still uninitialized, we have no bookings.</span>
705
- 332: <span class="ruby-keyword kw">return</span> [] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">nil?</span>
706
- 333:
707
- 334: <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">endIdx</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
708
- 335: <span class="ruby-identifier">task</span> = <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>]
709
- 336: <span class="ruby-comment cmt"># Now we watch for task changes.</span>
710
- 337: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">lastTask</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">lastTask</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)) <span class="ruby-operator">||</span>
711
- 338: (<span class="ruby-identifier">task</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">endIdx</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
712
- 339: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">lastTask</span>.<span class="ruby-identifier">nil?</span>
713
- 340: <span class="ruby-comment cmt"># If we don't have a Booking for the task yet, we create one.</span>
714
- 341: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bookings</span>[<span class="ruby-identifier">lastTask</span>].<span class="ruby-identifier">nil?</span>
715
- 342: <span class="ruby-identifier">bookings</span>[<span class="ruby-identifier">lastTask</span>] = <span class="ruby-constant">Booking</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@property</span>, <span class="ruby-identifier">lastTask</span>, [])
716
- 343: <span class="ruby-keyword kw">end</span>
717
- 344:
718
- 345: <span class="ruby-comment cmt"># Make sure the index is correct even for the last task block.</span>
719
- 346: <span class="ruby-identifier">idx</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">endIdx</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
720
- 347: <span class="ruby-comment cmt"># Append the new interval to the Booking.</span>
721
- 348: <span class="ruby-identifier">bookings</span>[<span class="ruby-identifier">lastTask</span>].<span class="ruby-identifier">intervals</span> <span class="ruby-operator">&lt;&lt;</span>
722
- 349: <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">bookingStart</span>),
723
- 350: <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>))
724
- 351: <span class="ruby-keyword kw">end</span>
725
- 352: <span class="ruby-comment cmt"># Get ready for the next task booking interval</span>
726
- 353: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
727
- 354: <span class="ruby-identifier">lastTask</span> = <span class="ruby-identifier">task</span>
728
- 355: <span class="ruby-identifier">bookingStart</span> = <span class="ruby-identifier">idx</span>
729
- 356: <span class="ruby-keyword kw">else</span>
730
- 357: <span class="ruby-identifier">lastTask</span> = <span class="ruby-identifier">bookingStart</span> = <span class="ruby-keyword kw">nil</span>
731
- 358: <span class="ruby-keyword kw">end</span>
732
- 359: <span class="ruby-keyword kw">end</span>
733
- 360: <span class="ruby-keyword kw">end</span>
734
- 361: <span class="ruby-identifier">bookings</span>
735
- 362: <span class="ruby-keyword kw">end</span>
694
+ <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 347</span>
695
+ 347: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getBookings</span>
696
+ 348: <span class="ruby-keyword kw">return</span> {} <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span>
697
+ 349: <span class="ruby-ivar">@firstBookedSlot</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@lastBookedSlot</span>.<span class="ruby-identifier">nil?</span>
698
+ 350:
699
+ 351: <span class="ruby-identifier">bookings</span> = {}
700
+ 352: <span class="ruby-identifier">lastTask</span> = <span class="ruby-keyword kw">nil</span>
701
+ 353: <span class="ruby-identifier">bookingStart</span> = <span class="ruby-keyword kw">nil</span>
702
+ 354:
703
+ 355: <span class="ruby-comment cmt"># To speedup the collection we start with the first booked slot and end</span>
704
+ 356: <span class="ruby-comment cmt"># with the last booked slot.</span>
705
+ 357: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@firstBookedSlot</span>
706
+ 358: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@lastBookedSlot</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
707
+ 359:
708
+ 360: <span class="ruby-comment cmt"># In case the index markers are still uninitialized, we have no bookings.</span>
709
+ 361: <span class="ruby-keyword kw">return</span> {} <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">nil?</span>
710
+ 362:
711
+ 363: <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">endIdx</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
712
+ 364: <span class="ruby-identifier">task</span> = <span class="ruby-ivar">@scoreboard</span>[<span class="ruby-identifier">idx</span>]
713
+ 365: <span class="ruby-comment cmt"># Now we watch for task changes.</span>
714
+ 366: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">lastTask</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">lastTask</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)) <span class="ruby-operator">||</span>
715
+ 367: (<span class="ruby-identifier">task</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">endIdx</span>)
716
+ 368: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">lastTask</span>.<span class="ruby-identifier">nil?</span>
717
+ 369: <span class="ruby-comment cmt"># If we don't have a Booking for the task yet, we create one.</span>
718
+ 370: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bookings</span>[<span class="ruby-identifier">lastTask</span>].<span class="ruby-identifier">nil?</span>
719
+ 371: <span class="ruby-identifier">bookings</span>[<span class="ruby-identifier">lastTask</span>] = <span class="ruby-constant">Booking</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@property</span>, <span class="ruby-identifier">lastTask</span>, [])
720
+ 372: <span class="ruby-keyword kw">end</span>
721
+ 373:
722
+ 374: <span class="ruby-comment cmt"># Make sure the index is correct even for the last task block.</span>
723
+ 375: <span class="ruby-identifier">idx</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">endIdx</span>
724
+ 376: <span class="ruby-comment cmt"># Append the new interval to the Booking.</span>
725
+ 377: <span class="ruby-identifier">bookings</span>[<span class="ruby-identifier">lastTask</span>].<span class="ruby-identifier">intervals</span> <span class="ruby-operator">&lt;&lt;</span>
726
+ 378: <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">bookingStart</span>),
727
+ 379: <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>))
728
+ 380: <span class="ruby-keyword kw">end</span>
729
+ 381: <span class="ruby-comment cmt"># Get ready for the next task booking interval</span>
730
+ 382: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
731
+ 383: <span class="ruby-identifier">lastTask</span> = <span class="ruby-identifier">task</span>
732
+ 384: <span class="ruby-identifier">bookingStart</span> = <span class="ruby-identifier">idx</span>
733
+ 385: <span class="ruby-keyword kw">else</span>
734
+ 386: <span class="ruby-identifier">lastTask</span> = <span class="ruby-identifier">bookingStart</span> = <span class="ruby-keyword kw">nil</span>
735
+ 387: <span class="ruby-keyword kw">end</span>
736
+ 388: <span class="ruby-keyword kw">end</span>
737
+ 389: <span class="ruby-keyword kw">end</span>
738
+ 390: <span class="ruby-identifier">bookings</span>
739
+ 391: <span class="ruby-keyword kw">end</span>
740
+ </pre>
741
+ </div>
742
+
743
+ </div>
744
+ </div>
745
+
746
+
747
+ <div id="method-M000834" class="method-detail">
748
+ <a name="M000834"></a>
749
+
750
+ <div class="method-heading">
751
+
752
+ <a href="#M000834" class="method-signature">
753
+
754
+ <span class="method-name">getEffectiveFreeTime</span><span class="method-args">(startIdx, endIdx)</span>
755
+
756
+ </a>
757
+
758
+ </div>
759
+
760
+ <div class="method-description">
761
+
762
+ <p>
763
+ Return the unallocated work time (in seconds) of the resource and its
764
+ children.
765
+ </p>
766
+
767
+ <p><a class="source-toggle" href="#"
768
+ onclick="toggleCode('M000834-source');return false;">[Source]</a></p>
769
+ <div class="method-source-code" id="M000834-source">
770
+ <pre>
771
+ <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 263</span>
772
+ 263: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getEffectiveFreeTime</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>)
773
+ 264: <span class="ruby-comment cmt"># Convert the interval dates to indexes if needed.</span>
774
+ 265: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
775
+ 266: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">endIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
776
+ 267:
777
+ 268: <span class="ruby-identifier">freeTime</span> = <span class="ruby-value">0</span>
778
+ 269: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
779
+ 270: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
780
+ 271: <span class="ruby-identifier">freeTime</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">getEffectiveFreeTime</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>,
781
+ 272: <span class="ruby-identifier">endIdx</span>)
782
+ 273: <span class="ruby-keyword kw">end</span>
783
+ 274: <span class="ruby-keyword kw">else</span>
784
+ 275: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
785
+ 276:
786
+ 277: <span class="ruby-identifier">freeTime</span> = <span class="ruby-identifier">getFreeSlots</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>) <span class="ruby-operator">*</span>
787
+ 278: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>]
788
+ 279: <span class="ruby-keyword kw">end</span>
789
+ 280: <span class="ruby-identifier">freeTime</span>
790
+ 281: <span class="ruby-keyword kw">end</span>
736
791
  </pre>
737
792
  </div>
738
793
 
@@ -740,12 +795,12 @@ Iterate over the scoreboard and turn its content into a set of Bookings.
740
795
  </div>
741
796
 
742
797
 
743
- <div id="method-M000370" class="method-detail">
744
- <a name="M000370"></a>
798
+ <div id="method-M000835" class="method-detail">
799
+ <a name="M000835"></a>
745
800
 
746
801
  <div class="method-heading">
747
802
 
748
- <a href="#M000370" class="method-signature">
803
+ <a href="#M000835" class="method-signature">
749
804
 
750
805
  <span class="method-name">getEffectiveFreeWork</span><span class="method-args">(startIdx, endIdx)</span>
751
806
 
@@ -756,34 +811,34 @@ Iterate over the scoreboard and turn its content into a set of Bookings.
756
811
  <div class="method-description">
757
812
 
758
813
  <p>
759
- Return the unallocated work of the resource and its children wheighted by
814
+ Return the unallocated work of the resource and its children weighted by
760
815
  their efficiency.
761
816
  </p>
762
817
 
763
818
  <p><a class="source-toggle" href="#"
764
- onclick="toggleCode('M000370-source');return false;">[Source]</a></p>
765
- <div class="method-source-code" id="M000370-source">
819
+ onclick="toggleCode('M000835-source');return false;">[Source]</a></p>
820
+ <div class="method-source-code" id="M000835-source">
766
821
  <pre>
767
- <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 256</span>
768
- 256: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getEffectiveFreeWork</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>)
769
- 257: <span class="ruby-comment cmt"># Convert the interval dates to indexes if needed.</span>
770
- 258: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
771
- 259: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">endIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
772
- 260:
773
- 261: <span class="ruby-identifier">work</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
774
- 262: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
775
- 263: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
776
- 264: <span class="ruby-identifier">work</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">getEffectiveFreeWork</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>)
777
- 265: <span class="ruby-keyword kw">end</span>
778
- 266: <span class="ruby-keyword kw">else</span>
779
- 267: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
780
- 268:
781
- 269: <span class="ruby-identifier">work</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">convertToDailyLoad</span>(
782
- 270: <span class="ruby-identifier">getFreeSlots</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>) <span class="ruby-operator">*</span>
783
- 271: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>]) <span class="ruby-operator">*</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'efficiency'</span>)
784
- 272: <span class="ruby-keyword kw">end</span>
785
- 273: <span class="ruby-identifier">work</span>
786
- 274: <span class="ruby-keyword kw">end</span>
822
+ <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 285</span>
823
+ 285: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getEffectiveFreeWork</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>)
824
+ 286: <span class="ruby-comment cmt"># Convert the interval dates to indexes if needed.</span>
825
+ 287: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
826
+ 288: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">endIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
827
+ 289:
828
+ 290: <span class="ruby-identifier">work</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
829
+ 291: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
830
+ 292: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
831
+ 293: <span class="ruby-identifier">work</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">getEffectiveFreeWork</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>)
832
+ 294: <span class="ruby-keyword kw">end</span>
833
+ 295: <span class="ruby-keyword kw">else</span>
834
+ 296: <span class="ruby-identifier">initScoreboard</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
835
+ 297:
836
+ 298: <span class="ruby-identifier">work</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">convertToDailyLoad</span>(
837
+ 299: <span class="ruby-identifier">getFreeSlots</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>) <span class="ruby-operator">*</span>
838
+ 300: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>]) <span class="ruby-operator">*</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'efficiency'</span>)
839
+ 301: <span class="ruby-keyword kw">end</span>
840
+ 302: <span class="ruby-identifier">work</span>
841
+ 303: <span class="ruby-keyword kw">end</span>
787
842
  </pre>
788
843
  </div>
789
844
 
@@ -791,12 +846,12 @@ their efficiency.
791
846
  </div>
792
847
 
793
848
 
794
- <div id="method-M000367" class="method-detail">
795
- <a name="M000367"></a>
849
+ <div id="method-M000831" class="method-detail">
850
+ <a name="M000831"></a>
796
851
 
797
852
  <div class="method-heading">
798
853
 
799
- <a href="#M000367" class="method-signature">
854
+ <a href="#M000831" class="method-signature">
800
855
 
801
856
  <span class="method-name">getEffectiveWork</span><span class="method-args">(startIdx, endIdx, task = nil)</span>
802
857
 
@@ -812,29 +867,29 @@ efficiency.
812
867
  </p>
813
868
 
814
869
  <p><a class="source-toggle" href="#"
815
- onclick="toggleCode('M000367-source');return false;">[Source]</a></p>
816
- <div class="method-source-code" id="M000367-source">
870
+ onclick="toggleCode('M000831-source');return false;">[Source]</a></p>
871
+ <div class="method-source-code" id="M000831-source">
817
872
  <pre>
818
- <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 193</span>
819
- 193: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getEffectiveWork</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
820
- 194: <span class="ruby-comment cmt"># Convert the interval dates to indexes if needed.</span>
821
- 195: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
822
- 196: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">endIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
823
- 197:
824
- 198: <span class="ruby-identifier">work</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
825
- 199: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
826
- 200: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
827
- 201: <span class="ruby-identifier">work</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">getEffectiveWork</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>)
828
- 202: <span class="ruby-keyword kw">end</span>
829
- 203: <span class="ruby-keyword kw">else</span>
830
- 204: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span><span class="ruby-value">.0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
831
- 205:
832
- 206: <span class="ruby-identifier">work</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">convertToDailyLoad</span>(
833
- 207: <span class="ruby-identifier">getAllocatedSlots</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>) <span class="ruby-operator">*</span>
834
- 208: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>]) <span class="ruby-operator">*</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'efficiency'</span>)
835
- 209: <span class="ruby-keyword kw">end</span>
836
- 210: <span class="ruby-identifier">work</span>
837
- 211: <span class="ruby-keyword kw">end</span>
873
+ <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 200</span>
874
+ 200: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getEffectiveWork</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
875
+ 201: <span class="ruby-comment cmt"># Convert the interval dates to indexes if needed.</span>
876
+ 202: <span class="ruby-identifier">startIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
877
+ 203: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">endIdx</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
878
+ 204:
879
+ 205: <span class="ruby-identifier">work</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
880
+ 206: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
881
+ 207: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
882
+ 208: <span class="ruby-identifier">work</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">getEffectiveWork</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>)
883
+ 209: <span class="ruby-keyword kw">end</span>
884
+ 210: <span class="ruby-keyword kw">else</span>
885
+ 211: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span><span class="ruby-value">.0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scoreboard</span>.<span class="ruby-identifier">nil?</span>
886
+ 212:
887
+ 213: <span class="ruby-identifier">work</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">convertToDailyLoad</span>(
888
+ 214: <span class="ruby-identifier">getAllocatedSlots</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">task</span>) <span class="ruby-operator">*</span>
889
+ 215: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'scheduleGranularity'</span>]) <span class="ruby-operator">*</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'efficiency'</span>)
890
+ 216: <span class="ruby-keyword kw">end</span>
891
+ 217: <span class="ruby-identifier">work</span>
892
+ 218: <span class="ruby-keyword kw">end</span>
838
893
  </pre>
839
894
  </div>
840
895
 
@@ -842,12 +897,12 @@ efficiency.
842
897
  </div>
843
898
 
844
899
 
845
- <div id="method-M000356" class="method-detail">
846
- <a name="M000356"></a>
900
+ <div id="method-M000819" class="method-detail">
901
+ <a name="M000819"></a>
847
902
 
848
903
  <div class="method-heading">
849
904
 
850
- <a href="#M000356" class="method-signature">
905
+ <a href="#M000819" class="method-signature">
851
906
 
852
907
  <span class="method-name">prepareScheduling</span><span class="method-args">()</span>
853
908
 
@@ -863,8 +918,8 @@ initializes variables used during the scheduling process.
863
918
  </p>
864
919
 
865
920
  <p><a class="source-toggle" href="#"
866
- onclick="toggleCode('M000356-source');return false;">[Source]</a></p>
867
- <div class="method-source-code" id="M000356-source">
921
+ onclick="toggleCode('M000819-source');return false;">[Source]</a></p>
922
+ <div class="method-source-code" id="M000819-source">
868
923
  <pre>
869
924
  <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 39</span>
870
925
  39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">prepareScheduling</span>
@@ -878,12 +933,12 @@ initializes variables used during the scheduling process.
878
933
  </div>
879
934
 
880
935
 
881
- <div id="method-M000362" class="method-detail">
882
- <a name="M000362"></a>
936
+ <div id="method-M000825" class="method-detail">
937
+ <a name="M000825"></a>
883
938
 
884
939
  <div class="method-heading">
885
940
 
886
- <a href="#M000362" class="method-signature">
941
+ <a href="#M000825" class="method-signature">
887
942
 
888
943
  <span class="method-name">query_cost</span><span class="method-args">(query)</span>
889
944
 
@@ -902,18 +957,18 @@ account.
902
957
  </p>
903
958
 
904
959
  <p><a class="source-toggle" href="#"
905
- onclick="toggleCode('M000362-source');return false;">[Source]</a></p>
906
- <div class="method-source-code" id="M000362-source">
960
+ onclick="toggleCode('M000825-source');return false;">[Source]</a></p>
961
+ <div class="method-source-code" id="M000825-source">
907
962
  <pre>
908
963
  <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 144</span>
909
964
  144: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_cost</span>(<span class="ruby-identifier">query</span>)
910
965
  145: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">query</span>.<span class="ruby-identifier">costAccount</span>
911
- 146: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortableResult</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numericalResult</span> =
966
+ 146: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">cost</span> =
912
967
  147: <span class="ruby-identifier">turnover</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">costAccount</span>,
913
968
  148: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span>)
914
- 149: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">result</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">currencyFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortableResult</span>)
969
+ 149: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">currencyFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">cost</span>)
915
970
  150: <span class="ruby-keyword kw">else</span>
916
- 151: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">result</span> = <span class="ruby-value str">'No cost account'</span>
971
+ 151: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'No cost account'</span>
917
972
  152: <span class="ruby-keyword kw">end</span>
918
973
  153: <span class="ruby-keyword kw">end</span>
919
974
  </pre>
@@ -923,12 +978,12 @@ account.
923
978
  </div>
924
979
 
925
980
 
926
- <div id="method-M000363" class="method-detail">
927
- <a name="M000363"></a>
981
+ <div id="method-M000826" class="method-detail">
982
+ <a name="M000826"></a>
928
983
 
929
984
  <div class="method-heading">
930
985
 
931
- <a href="#M000363" class="method-signature">
986
+ <a href="#M000826" class="method-signature">
932
987
 
933
988
  <span class="method-name">query_effort</span><span class="method-args">(query)</span>
934
989
 
@@ -946,14 +1001,14 @@ href="Task.html">Task</a> is taken into account.
946
1001
  </p>
947
1002
 
948
1003
  <p><a class="source-toggle" href="#"
949
- onclick="toggleCode('M000363-source');return false;">[Source]</a></p>
950
- <div class="method-source-code" id="M000363-source">
1004
+ onclick="toggleCode('M000826-source');return false;">[Source]</a></p>
1005
+ <div class="method-source-code" id="M000826-source">
951
1006
  <pre>
952
1007
  <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 158</span>
953
1008
  158: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_effort</span>(<span class="ruby-identifier">query</span>)
954
- 159: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortableResult</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numericalResult</span> =
1009
+ 159: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">effort</span> =
955
1010
  160: <span class="ruby-identifier">getEffectiveWork</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span>)
956
- 161: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">result</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scaleLoad</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortableResult</span>)
1011
+ 161: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scaleLoad</span>(<span class="ruby-identifier">effort</span>)
957
1012
  162: <span class="ruby-keyword kw">end</span>
958
1013
  </pre>
959
1014
  </div>
@@ -962,14 +1017,14 @@ href="Task.html">Task</a> is taken into account.
962
1017
  </div>
963
1018
 
964
1019
 
965
- <div id="method-M000364" class="method-detail">
966
- <a name="M000364"></a>
1020
+ <div id="method-M000827" class="method-detail">
1021
+ <a name="M000827"></a>
967
1022
 
968
1023
  <div class="method-heading">
969
1024
 
970
- <a href="#M000364" class="method-signature">
1025
+ <a href="#M000827" class="method-signature">
971
1026
 
972
- <span class="method-name">query_freework</span><span class="method-args">(query)</span>
1027
+ <span class="method-name">query_freetime</span><span class="method-args">(query)</span>
973
1028
 
974
1029
  </a>
975
1030
 
@@ -978,19 +1033,19 @@ href="Task.html">Task</a> is taken into account.
978
1033
  <div class="method-description">
979
1034
 
980
1035
  <p>
981
- The unallocated effort of the <a href="Resource.html">Resource</a> in the
982
- specified interval.
1036
+ The unallocated work time of the <a href="Resource.html">Resource</a>
1037
+ during the specified interval.
983
1038
  </p>
984
1039
 
985
1040
  <p><a class="source-toggle" href="#"
986
- onclick="toggleCode('M000364-source');return false;">[Source]</a></p>
987
- <div class="method-source-code" id="M000364-source">
1041
+ onclick="toggleCode('M000827-source');return false;">[Source]</a></p>
1042
+ <div class="method-source-code" id="M000827-source">
988
1043
  <pre>
989
1044
  <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 165</span>
990
- 165: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_freework</span>(<span class="ruby-identifier">query</span>)
991
- 166: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortableResult</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numericalResult</span> =
992
- 167: <span class="ruby-identifier">getEffectiveFreeWork</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">endIdx</span>)
993
- 168: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">result</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scaleLoad</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortableResult</span>)
1045
+ 165: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_freetime</span>(<span class="ruby-identifier">query</span>)
1046
+ 166: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">time</span> =
1047
+ 167: <span class="ruby-identifier">getEffectiveFreeTime</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">endIdx</span>) <span class="ruby-operator">/</span> (<span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span>)
1048
+ 168: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scaleDuration</span>(<span class="ruby-identifier">time</span>)
994
1049
  169: <span class="ruby-keyword kw">end</span>
995
1050
  </pre>
996
1051
  </div>
@@ -999,12 +1054,49 @@ specified interval.
999
1054
  </div>
1000
1055
 
1001
1056
 
1002
- <div id="method-M000365" class="method-detail">
1003
- <a name="M000365"></a>
1057
+ <div id="method-M000828" class="method-detail">
1058
+ <a name="M000828"></a>
1004
1059
 
1005
1060
  <div class="method-heading">
1006
1061
 
1007
- <a href="#M000365" class="method-signature">
1062
+ <a href="#M000828" class="method-signature">
1063
+
1064
+ <span class="method-name">query_freework</span><span class="method-args">(query)</span>
1065
+
1066
+ </a>
1067
+
1068
+ </div>
1069
+
1070
+ <div class="method-description">
1071
+
1072
+ <p>
1073
+ The unallocated effort of the <a href="Resource.html">Resource</a> during
1074
+ the specified interval.
1075
+ </p>
1076
+
1077
+ <p><a class="source-toggle" href="#"
1078
+ onclick="toggleCode('M000828-source');return false;">[Source]</a></p>
1079
+ <div class="method-source-code" id="M000828-source">
1080
+ <pre>
1081
+ <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 172</span>
1082
+ 172: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_freework</span>(<span class="ruby-identifier">query</span>)
1083
+ 173: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">work</span> =
1084
+ 174: <span class="ruby-identifier">getEffectiveFreeWork</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">endIdx</span>)
1085
+ 175: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scaleLoad</span>(<span class="ruby-identifier">work</span>)
1086
+ 176: <span class="ruby-keyword kw">end</span>
1087
+ </pre>
1088
+ </div>
1089
+
1090
+ </div>
1091
+ </div>
1092
+
1093
+
1094
+ <div id="method-M000829" class="method-detail">
1095
+ <a name="M000829"></a>
1096
+
1097
+ <div class="method-heading">
1098
+
1099
+ <a href="#M000829" class="method-signature">
1008
1100
 
1009
1101
  <span class="method-name">query_rate</span><span class="method-args">(query)</span>
1010
1102
 
@@ -1019,14 +1111,14 @@ Get the rate of the resource.
1019
1111
  </p>
1020
1112
 
1021
1113
  <p><a class="source-toggle" href="#"
1022
- onclick="toggleCode('M000365-source');return false;">[Source]</a></p>
1023
- <div class="method-source-code" id="M000365-source">
1114
+ onclick="toggleCode('M000829-source');return false;">[Source]</a></p>
1115
+ <div class="method-source-code" id="M000829-source">
1024
1116
  <pre>
1025
- <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 172</span>
1026
- 172: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_rate</span>(<span class="ruby-identifier">query</span>)
1027
- 173: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortableResult</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numericalResult</span> = <span class="ruby-identifier">rate</span>
1028
- 174: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">result</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">currencyFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortableResult</span>)
1029
- 175: <span class="ruby-keyword kw">end</span>
1117
+ <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 179</span>
1118
+ 179: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_rate</span>(<span class="ruby-identifier">query</span>)
1119
+ 180: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">r</span> = <span class="ruby-identifier">rate</span>
1120
+ 181: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">currencyFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">r</span>)
1121
+ 182: <span class="ruby-keyword kw">end</span>
1030
1122
  </pre>
1031
1123
  </div>
1032
1124
 
@@ -1034,12 +1126,12 @@ Get the rate of the resource.
1034
1126
  </div>
1035
1127
 
1036
1128
 
1037
- <div id="method-M000366" class="method-detail">
1038
- <a name="M000366"></a>
1129
+ <div id="method-M000830" class="method-detail">
1130
+ <a name="M000830"></a>
1039
1131
 
1040
1132
  <div class="method-heading">
1041
1133
 
1042
- <a href="#M000366" class="method-signature">
1134
+ <a href="#M000830" class="method-signature">
1043
1135
 
1044
1136
  <span class="method-name">query_revenue</span><span class="method-args">(query)</span>
1045
1137
 
@@ -1058,20 +1150,20 @@ into account.
1058
1150
  </p>
1059
1151
 
1060
1152
  <p><a class="source-toggle" href="#"
1061
- onclick="toggleCode('M000366-source');return false;">[Source]</a></p>
1062
- <div class="method-source-code" id="M000366-source">
1153
+ onclick="toggleCode('M000830-source');return false;">[Source]</a></p>
1154
+ <div class="method-source-code" id="M000830-source">
1063
1155
  <pre>
1064
- <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 180</span>
1065
- 180: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_revenue</span>(<span class="ruby-identifier">query</span>)
1066
- 181: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">query</span>.<span class="ruby-identifier">revenueAccount</span>
1067
- 182: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortableResult</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numericalResult</span> =
1068
- 183: <span class="ruby-identifier">turnover</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">revenueAccount</span>,
1069
- 184: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span>)
1070
- 185: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">result</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">currencyFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortableResult</span>)
1071
- 186: <span class="ruby-keyword kw">else</span>
1072
- 187: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">result</span> = <span class="ruby-value str">'No revenue account'</span>
1073
- 188: <span class="ruby-keyword kw">end</span>
1074
- 189: <span class="ruby-keyword kw">end</span>
1156
+ <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 187</span>
1157
+ 187: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_revenue</span>(<span class="ruby-identifier">query</span>)
1158
+ 188: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">query</span>.<span class="ruby-identifier">revenueAccount</span>
1159
+ 189: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">revenue</span> =
1160
+ 190: <span class="ruby-identifier">turnover</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">revenueAccount</span>,
1161
+ 191: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span>)
1162
+ 192: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">currencyFormat</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">revenue</span>)
1163
+ 193: <span class="ruby-keyword kw">else</span>
1164
+ 194: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'No revenue account'</span>
1165
+ 195: <span class="ruby-keyword kw">end</span>
1166
+ 196: <span class="ruby-keyword kw">end</span>
1075
1167
  </pre>
1076
1168
  </div>
1077
1169
 
@@ -1079,12 +1171,12 @@ into account.
1079
1171
  </div>
1080
1172
 
1081
1173
 
1082
- <div id="method-M000371" class="method-detail">
1083
- <a name="M000371"></a>
1174
+ <div id="method-M000836" class="method-detail">
1175
+ <a name="M000836"></a>
1084
1176
 
1085
1177
  <div class="method-heading">
1086
1178
 
1087
- <a href="#M000371" class="method-signature">
1179
+ <a href="#M000836" class="method-signature">
1088
1180
 
1089
1181
  <span class="method-name">turnover</span><span class="method-args">(startIdx, endIdx, account, task = nil)</span>
1090
1182
 
@@ -1095,25 +1187,25 @@ into account.
1095
1187
  <div class="method-description">
1096
1188
 
1097
1189
  <p><a class="source-toggle" href="#"
1098
- onclick="toggleCode('M000371-source');return false;">[Source]</a></p>
1099
- <div class="method-source-code" id="M000371-source">
1190
+ onclick="toggleCode('M000836-source');return false;">[Source]</a></p>
1191
+ <div class="method-source-code" id="M000836-source">
1100
1192
  <pre>
1101
- <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 276</span>
1102
- 276: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">turnover</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">account</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
1103
- 277: <span class="ruby-identifier">amount</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
1104
- 278: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
1105
- 279: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">child</span><span class="ruby-operator">|</span>
1106
- 280: <span class="ruby-identifier">amount</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">child</span>.<span class="ruby-identifier">turnover</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">account</span>, <span class="ruby-identifier">task</span>)
1107
- 281: <span class="ruby-keyword kw">end</span>
1108
- 282: <span class="ruby-keyword kw">else</span>
1109
- 283: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'duties'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">duty</span><span class="ruby-operator">|</span>
1110
- 284: <span class="ruby-identifier">amount</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">duty</span>.<span class="ruby-identifier">turnover</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">account</span>,
1111
- 285: <span class="ruby-ivar">@property</span>)
1112
- 286: <span class="ruby-keyword kw">end</span>
1113
- 287: <span class="ruby-keyword kw">end</span>
1114
- 288:
1115
- 289: <span class="ruby-identifier">amount</span>
1116
- 290: <span class="ruby-keyword kw">end</span>
1193
+ <span class="ruby-comment cmt"># File lib/ResourceScenario.rb, line 305</span>
1194
+ 305: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">turnover</span>(<span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">account</span>, <span class="ruby-identifier">task</span> = <span class="ruby-keyword kw">nil</span>)
1195
+ 306: <span class="ruby-identifier">amount</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
1196
+ 307: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">container?</span>
1197
+ 308: <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">child</span><span class="ruby-operator">|</span>
1198
+ 309: <span class="ruby-identifier">amount</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">child</span>.<span class="ruby-identifier">turnover</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">account</span>, <span class="ruby-identifier">task</span>)
1199
+ 310: <span class="ruby-keyword kw">end</span>
1200
+ 311: <span class="ruby-keyword kw">else</span>
1201
+ 312: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'duties'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">duty</span><span class="ruby-operator">|</span>
1202
+ 313: <span class="ruby-identifier">amount</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">duty</span>.<span class="ruby-identifier">turnover</span>(<span class="ruby-ivar">@scenarioIdx</span>, <span class="ruby-identifier">startIdx</span>, <span class="ruby-identifier">endIdx</span>, <span class="ruby-identifier">account</span>,
1203
+ 314: <span class="ruby-ivar">@property</span>)
1204
+ 315: <span class="ruby-keyword kw">end</span>
1205
+ 316: <span class="ruby-keyword kw">end</span>
1206
+ 317:
1207
+ 318: <span class="ruby-identifier">amount</span>
1208
+ 319: <span class="ruby-keyword kw">end</span>
1117
1209
  </pre>
1118
1210
  </div>
1119
1211