taskjuggler 0.0.8 → 0.0.9

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 (613) hide show
  1. data/CHANGELOG +1144 -2047
  2. data/README +1 -1
  3. data/Rakefile +6 -6
  4. data/data/css/tjmanual.css +20 -0
  5. data/data/css/tjreport.css +7 -6
  6. data/doc/AppConfig.html +136 -130
  7. data/doc/Arguments.html +46 -40
  8. data/doc/CHANGELOG.html +1162 -2057
  9. data/doc/COPYING.html +8 -2
  10. data/doc/Object.html +205 -199
  11. data/doc/README.html +9 -3
  12. data/doc/RuntimeConfig.html +75 -69
  13. data/doc/String.html +69 -63
  14. data/doc/TaskJuggler.html +350 -291
  15. data/doc/TaskJuggler/Account.html +26 -20
  16. data/doc/TaskJuggler/AccountAttribute.html +24 -18
  17. data/doc/TaskJuggler/AccountScenario.html +24 -18
  18. data/doc/TaskJuggler/Allocation.html +74 -68
  19. data/doc/TaskJuggler/AllocationAttribute.html +54 -48
  20. data/doc/TaskJuggler/AttributeBase.html +172 -93
  21. data/doc/TaskJuggler/AttributeDefinition.html +22 -16
  22. data/doc/TaskJuggler/AttributeOverwrite.html +586 -0
  23. data/doc/TaskJuggler/BatchProcessor.html +263 -257
  24. data/doc/TaskJuggler/Booking.html +44 -38
  25. data/doc/TaskJuggler/BookingListAttribute.html +25 -21
  26. data/doc/TaskJuggler/BooleanAttribute.html +24 -18
  27. data/doc/TaskJuggler/CSVFile.html +193 -187
  28. data/doc/TaskJuggler/CellSettingPattern.html +13 -7
  29. data/doc/TaskJuggler/CellSettingPatternList.html +25 -19
  30. data/doc/TaskJuggler/Charge.html +49 -43
  31. data/doc/TaskJuggler/ChargeListAttribute.html +21 -15
  32. data/doc/TaskJuggler/ChargeSet.html +94 -88
  33. data/doc/TaskJuggler/ChargeSetListAttribute.html +29 -25
  34. data/doc/TaskJuggler/CollisionDetector.html +142 -136
  35. data/doc/TaskJuggler/ColumnListAttribute.html +21 -17
  36. data/doc/TaskJuggler/ColumnTable.html +50 -44
  37. data/doc/TaskJuggler/Daemon.html +71 -50
  38. data/doc/TaskJuggler/DataCache.html +110 -58
  39. data/doc/TaskJuggler/DataCacheEntry.html +22 -16
  40. data/doc/TaskJuggler/DateAttribute.html +24 -18
  41. data/doc/TaskJuggler/DefinitionListAttribute.html +12 -6
  42. data/doc/TaskJuggler/DependencyListAttribute.html +29 -25
  43. data/doc/TaskJuggler/DurationAttribute.html +25 -19
  44. data/doc/TaskJuggler/FileList.html +25 -19
  45. data/doc/TaskJuggler/FileRecord.html +17 -11
  46. data/doc/TaskJuggler/FixnumAttribute.html +16 -10
  47. data/doc/TaskJuggler/FlagListAttribute.html +25 -21
  48. data/doc/TaskJuggler/FloatAttribute.html +20 -14
  49. data/doc/TaskJuggler/FormatListAttribute.html +17 -11
  50. data/doc/TaskJuggler/GanttChart.html +242 -236
  51. data/doc/TaskJuggler/GanttContainer.html +71 -67
  52. data/doc/TaskJuggler/GanttHeader.html +113 -107
  53. data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -20
  54. data/doc/TaskJuggler/GanttLine.html +217 -210
  55. data/doc/TaskJuggler/GanttLoadStack.html +89 -83
  56. data/doc/TaskJuggler/GanttMilestone.html +11 -6
  57. data/doc/TaskJuggler/GanttRouter.html +194 -186
  58. data/doc/TaskJuggler/GanttTaskBar.html +41 -34
  59. data/doc/TaskJuggler/HTMLDocument.html +52 -46
  60. data/doc/TaskJuggler/HTMLGraphics.html +58 -52
  61. data/doc/TaskJuggler/Interval.html +90 -84
  62. data/doc/TaskJuggler/IntervalList.html +777 -0
  63. data/doc/TaskJuggler/IntervalListAttribute.html +29 -25
  64. data/doc/TaskJuggler/JobInfo.html +36 -30
  65. data/doc/TaskJuggler/Journal.html +188 -177
  66. data/doc/TaskJuggler/JournalEntry.html +36 -30
  67. data/doc/TaskJuggler/JournalEntryList.html +88 -82
  68. data/doc/TaskJuggler/KeywordArray.html +12 -6
  69. data/doc/TaskJuggler/KeywordDocumentation.html +512 -503
  70. data/doc/TaskJuggler/Limits.html +111 -105
  71. data/doc/TaskJuggler/Limits/Limit.html +71 -65
  72. data/doc/TaskJuggler/LimitsAttribute.html +21 -15
  73. data/doc/TaskJuggler/ListAttributeBase.html +16 -10
  74. data/doc/TaskJuggler/Log.html +111 -105
  75. data/doc/TaskJuggler/LogFile.html +54 -48
  76. data/doc/TaskJuggler/LogicalAttribute.html +35 -29
  77. data/doc/TaskJuggler/LogicalExpression.html +32 -26
  78. data/doc/TaskJuggler/LogicalExpressionAttribute.html +16 -10
  79. data/doc/TaskJuggler/LogicalExpressionListAttribute.html +671 -0
  80. data/doc/TaskJuggler/LogicalFlag.html +24 -18
  81. data/doc/TaskJuggler/LogicalFunction.html +164 -158
  82. data/doc/TaskJuggler/LogicalOperation.html +138 -132
  83. data/doc/TaskJuggler/Macro.html +14 -8
  84. data/doc/TaskJuggler/MacroTable.html +42 -36
  85. data/doc/TaskJuggler/ManagerResponsibilities.html +19 -13
  86. data/doc/TaskJuggler/ManagerStatusRecord.html +23 -17
  87. data/doc/TaskJuggler/Message.html +56 -50
  88. data/doc/TaskJuggler/MessageHandler.html +73 -67
  89. data/doc/TaskJuggler/Navigator.html +92 -86
  90. data/doc/TaskJuggler/NavigatorElement.html +88 -82
  91. data/doc/TaskJuggler/NikuProject.html +15 -9
  92. data/doc/TaskJuggler/NikuReport.html +405 -370
  93. data/doc/TaskJuggler/NikuResource.html +13 -7
  94. data/doc/TaskJuggler/NodeListAttribute.html +13 -9
  95. data/doc/TaskJuggler/PlaceHolderCell.html +22 -16
  96. data/doc/TaskJuggler/ProcessIntercom.html +116 -110
  97. data/doc/TaskJuggler/ProcessIntercomIface.html +39 -33
  98. data/doc/TaskJuggler/Project.html +1064 -895
  99. data/doc/TaskJuggler/ProjectBroker.html +439 -366
  100. data/doc/TaskJuggler/ProjectBrokerIface.html +63 -53
  101. data/doc/TaskJuggler/ProjectFileParser.html +329 -319
  102. data/doc/TaskJuggler/ProjectFileScanner.html +351 -345
  103. data/doc/TaskJuggler/ProjectRecord.html +66 -60
  104. data/doc/TaskJuggler/ProjectServer.html +287 -280
  105. data/doc/TaskJuggler/ProjectServerIface.html +43 -37
  106. data/doc/TaskJuggler/PropertyAttribute.html +16 -10
  107. data/doc/TaskJuggler/PropertyList.html +205 -199
  108. data/doc/TaskJuggler/PropertySet.html +264 -296
  109. data/doc/TaskJuggler/PropertyTreeNode.html +455 -505
  110. data/doc/TaskJuggler/Query.html +309 -524
  111. data/doc/TaskJuggler/RTFHandlers.html +17 -11
  112. data/doc/TaskJuggler/RTFNavigator.html +33 -27
  113. data/doc/TaskJuggler/RTFQuery.html +135 -129
  114. data/doc/TaskJuggler/RTFReport.html +63 -57
  115. data/doc/TaskJuggler/RTFReportLink.html +55 -49
  116. data/doc/TaskJuggler/RTFWithQuerySupport.html +17 -11
  117. data/doc/TaskJuggler/RealFormat.html +64 -58
  118. data/doc/TaskJuggler/RealFormatAttribute.html +12 -6
  119. data/doc/TaskJuggler/ReferenceAttribute.html +35 -29
  120. data/doc/TaskJuggler/Report.html +294 -249
  121. data/doc/TaskJuggler/ReportBase.html +229 -223
  122. data/doc/TaskJuggler/ReportContext.html +52 -46
  123. data/doc/TaskJuggler/ReportServer.html +143 -137
  124. data/doc/TaskJuggler/ReportServerIface.html +51 -43
  125. data/doc/TaskJuggler/ReportServerRecord.html +36 -30
  126. data/doc/TaskJuggler/ReportServlet.html +167 -140
  127. data/doc/TaskJuggler/ReportTable.html +137 -131
  128. data/doc/TaskJuggler/ReportTableCell.html +332 -292
  129. data/doc/TaskJuggler/ReportTableColumn.html +46 -40
  130. data/doc/TaskJuggler/ReportTableLegend.html +43 -38
  131. data/doc/TaskJuggler/ReportTableLine.html +66 -60
  132. data/doc/TaskJuggler/Resource.html +166 -160
  133. data/doc/TaskJuggler/ResourceListAttribute.html +54 -32
  134. data/doc/TaskJuggler/ResourceListRE.html +47 -41
  135. data/doc/TaskJuggler/ResourceScenario.html +671 -644
  136. data/doc/TaskJuggler/RichText.html +51 -45
  137. data/doc/TaskJuggler/RichTextAttribute.html +28 -22
  138. data/doc/TaskJuggler/RichTextDocument.html +96 -90
  139. data/doc/TaskJuggler/RichTextElement.html +503 -497
  140. data/doc/TaskJuggler/RichTextFunctionExample.html +41 -35
  141. data/doc/TaskJuggler/RichTextFunctionHandler.html +19 -13
  142. data/doc/TaskJuggler/RichTextImage.html +14 -8
  143. data/doc/TaskJuggler/RichTextIntermediate.html +86 -80
  144. data/doc/TaskJuggler/RichTextParser.html +59 -53
  145. data/doc/TaskJuggler/RichTextScanner.html +184 -178
  146. data/doc/TaskJuggler/RichTextSnip.html +69 -63
  147. data/doc/TaskJuggler/RichTextSyntaxRules.html +416 -410
  148. data/doc/TaskJuggler/Scenario.html +13 -7
  149. data/doc/TaskJuggler/ScenarioData.html +40 -34
  150. data/doc/TaskJuggler/ScenarioListAttribute.html +21 -15
  151. data/doc/TaskJuggler/Scoreboard.html +129 -107
  152. data/doc/TaskJuggler/SheetHandlerBase.html +245 -239
  153. data/doc/TaskJuggler/SheetReceiver.html +333 -327
  154. data/doc/TaskJuggler/SheetSender.html +227 -221
  155. data/doc/TaskJuggler/Shift.html +26 -20
  156. data/doc/TaskJuggler/ShiftAssignment.html +45 -39
  157. data/doc/TaskJuggler/ShiftAssignments.html +178 -172
  158. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +21 -15
  159. data/doc/TaskJuggler/ShiftScenario.html +29 -23
  160. data/doc/TaskJuggler/SimpleQueryExpander.html +36 -30
  161. data/doc/TaskJuggler/SortListAttribute.html +17 -13
  162. data/doc/TaskJuggler/SourceFileInfo.html +19 -13
  163. data/doc/TaskJuggler/StatusSheetReceiver.html +31 -25
  164. data/doc/TaskJuggler/StatusSheetReport.html +166 -159
  165. data/doc/TaskJuggler/StatusSheetSender.html +80 -74
  166. data/doc/TaskJuggler/StringAttribute.html +20 -14
  167. data/doc/TaskJuggler/SymbolAttribute.html +16 -10
  168. data/doc/TaskJuggler/SyntaxReference.html +231 -225
  169. data/doc/TaskJuggler/TOCEntry.html +46 -40
  170. data/doc/TaskJuggler/TSResourceRecord.html +15 -9
  171. data/doc/TaskJuggler/TSTaskRecord.html +16 -10
  172. data/doc/TaskJuggler/TableColumnDefinition.html +84 -39
  173. data/doc/TaskJuggler/TableOfContents.html +28 -22
  174. data/doc/TaskJuggler/TableReport.html +906 -866
  175. data/doc/TaskJuggler/Task.html +99 -93
  176. data/doc/TaskJuggler/TaskDependency.html +24 -18
  177. data/doc/TaskJuggler/TaskListAttribute.html +29 -25
  178. data/doc/TaskJuggler/TaskListRE.html +46 -39
  179. data/doc/TaskJuggler/TaskScenario.html +2218 -1965
  180. data/doc/TaskJuggler/TextFormatter.html +154 -148
  181. data/doc/TaskJuggler/TextParser.html +362 -348
  182. data/doc/TaskJuggler/TextParser/Pattern.html +313 -307
  183. data/doc/TaskJuggler/TextParser/Rule.html +147 -141
  184. data/doc/TaskJuggler/TextParser/StackElement.html +58 -52
  185. data/doc/TaskJuggler/TextParser/State.html +88 -82
  186. data/doc/TaskJuggler/TextParser/StateTransition.html +42 -36
  187. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +20 -14
  188. data/doc/TaskJuggler/TextParser/TokenDoc.html +19 -13
  189. data/doc/TaskJuggler/TextReport.html +80 -74
  190. data/doc/TaskJuggler/TextScanner.html +284 -272
  191. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +14 -8
  192. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +21 -15
  193. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +15 -9
  194. data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
  195. data/doc/TaskJuggler/TimeSheet.html +123 -117
  196. data/doc/TaskJuggler/TimeSheetReceiver.html +28 -22
  197. data/doc/TaskJuggler/TimeSheetRecord.html +212 -206
  198. data/doc/TaskJuggler/TimeSheetReport.html +206 -199
  199. data/doc/TaskJuggler/TimeSheetSender.html +27 -21
  200. data/doc/TaskJuggler/TimeSheetSummary.html +140 -134
  201. data/doc/TaskJuggler/TimeSheets.html +20 -14
  202. data/doc/TaskJuggler/Tj3AppBase.html +100 -94
  203. data/doc/TaskJuggler/Tj3Client.html +407 -483
  204. data/doc/TaskJuggler/Tj3Daemon.html +116 -107
  205. data/doc/TaskJuggler/Tj3SheetAppBase.html +45 -39
  206. data/doc/TaskJuggler/Tj3SsReceiver.html +31 -25
  207. data/doc/TaskJuggler/Tj3SsSender.html +64 -58
  208. data/doc/TaskJuggler/Tj3TsReceiver.html +31 -25
  209. data/doc/TaskJuggler/Tj3TsSender.html +51 -45
  210. data/doc/TaskJuggler/Tj3TsSummary.html +59 -53
  211. data/doc/TaskJuggler/TjException.html +13 -7
  212. data/doc/TaskJuggler/TjTime.html +444 -438
  213. data/doc/TaskJuggler/TjpExample.html +84 -78
  214. data/doc/TaskJuggler/TjpExportRE.html +356 -349
  215. data/doc/TaskJuggler/TjpSyntaxRules.html +4279 -4151
  216. data/doc/TaskJuggler/URLParameter.html +16 -10
  217. data/doc/TaskJuggler/UserManual.html +185 -179
  218. data/doc/TaskJuggler/VimSyntax.html +144 -138
  219. data/doc/TaskJuggler/WebServer.html +46 -39
  220. data/doc/TaskJuggler/WelcomePage.html +769 -0
  221. data/doc/TaskJuggler/WorkingHours.html +185 -179
  222. data/doc/TaskJuggler/WorkingHoursAttribute.html +42 -36
  223. data/doc/TaskJuggler/XMLBlob.html +21 -15
  224. data/doc/TaskJuggler/XMLComment.html +17 -11
  225. data/doc/TaskJuggler/XMLDocument.html +33 -27
  226. data/doc/TaskJuggler/XMLElement.html +97 -91
  227. data/doc/TaskJuggler/XMLNamedText.html +13 -7
  228. data/doc/TaskJuggler/XMLText.html +32 -26
  229. data/doc/index.html +601 -563
  230. data/doc/lib/AccountScenario_rb.html +5 -3
  231. data/doc/lib/Account_rb.html +5 -3
  232. data/doc/lib/Allocation_rb.html +5 -3
  233. data/doc/lib/AppConfig_rb.html +5 -3
  234. data/doc/lib/AttributeBase_rb.html +5 -3
  235. data/doc/lib/AttributeDefinition_rb.html +5 -3
  236. data/doc/lib/Attributes_rb.html +5 -3
  237. data/doc/lib/BatchProcessor_rb.html +5 -3
  238. data/doc/lib/Booking_rb.html +5 -3
  239. data/doc/lib/ChargeSet_rb.html +5 -3
  240. data/doc/lib/Charge_rb.html +5 -3
  241. data/doc/lib/DataCache_rb.html +5 -3
  242. data/doc/lib/FileList_rb.html +5 -3
  243. data/doc/lib/HTMLDocument_rb.html +5 -3
  244. data/doc/lib/IntervalList_rb.html +69 -0
  245. data/doc/lib/Interval_rb.html +5 -3
  246. data/doc/lib/Journal_rb.html +5 -3
  247. data/doc/lib/KeywordArray_rb.html +5 -3
  248. data/doc/lib/KeywordDocumentation_rb.html +5 -3
  249. data/doc/lib/Limits_rb.html +5 -3
  250. data/doc/lib/LogFile_rb.html +5 -3
  251. data/doc/lib/Log_rb.html +5 -3
  252. data/doc/lib/LogicalExpression_rb.html +5 -3
  253. data/doc/lib/LogicalFunction_rb.html +5 -3
  254. data/doc/lib/LogicalOperation_rb.html +5 -3
  255. data/doc/lib/MacroTable_rb.html +5 -3
  256. data/doc/lib/MessageHandler_rb.html +5 -3
  257. data/doc/lib/ProjectFileParser_rb.html +5 -3
  258. data/doc/lib/ProjectFileScanner_rb.html +5 -3
  259. data/doc/lib/Project_rb.html +5 -3
  260. data/doc/lib/PropertyList_rb.html +5 -3
  261. data/doc/lib/PropertySet_rb.html +5 -3
  262. data/doc/lib/PropertyTreeNode_rb.html +5 -3
  263. data/doc/lib/Query_rb.html +5 -3
  264. data/doc/lib/RTFHandlers_rb.html +5 -3
  265. data/doc/lib/RTFNavigator_rb.html +5 -3
  266. data/doc/lib/RTFQuery_rb.html +5 -3
  267. data/doc/lib/RTFReportLink_rb.html +5 -3
  268. data/doc/lib/RTFReport_rb.html +5 -3
  269. data/doc/lib/RTFWithQuerySupport_rb.html +5 -3
  270. data/doc/lib/RealFormat_rb.html +5 -3
  271. data/doc/lib/ResourceScenario_rb.html +5 -3
  272. data/doc/lib/Resource_rb.html +5 -3
  273. data/doc/lib/RichTextDocument_rb.html +5 -3
  274. data/doc/lib/RichTextElement_rb.html +5 -3
  275. data/doc/lib/RichTextFunctionExample_rb.html +5 -3
  276. data/doc/lib/RichTextFunctionHandler_rb.html +5 -3
  277. data/doc/lib/RichTextParser_rb.html +5 -3
  278. data/doc/lib/RichTextScanner_rb.html +5 -3
  279. data/doc/lib/RichTextSnip_rb.html +5 -3
  280. data/doc/lib/RichTextSyntaxRules_rb.html +5 -3
  281. data/doc/lib/RichText_rb.html +5 -3
  282. data/doc/lib/RuntimeConfig_rb.html +5 -3
  283. data/doc/lib/ScenarioData_rb.html +5 -3
  284. data/doc/lib/Scenario_rb.html +5 -3
  285. data/doc/lib/Scoreboard_rb.html +7 -3
  286. data/doc/lib/SheetHandlerBase_rb.html +5 -3
  287. data/doc/lib/SheetReceiver_rb.html +5 -3
  288. data/doc/lib/SheetSender_rb.html +5 -3
  289. data/doc/lib/ShiftAssignments_rb.html +5 -3
  290. data/doc/lib/ShiftScenario_rb.html +5 -3
  291. data/doc/lib/Shift_rb.html +5 -3
  292. data/doc/lib/SimpleQueryExpander_rb.html +5 -3
  293. data/doc/lib/SourceFileInfo_rb.html +5 -3
  294. data/doc/lib/StatusSheetReceiver_rb.html +5 -3
  295. data/doc/lib/StatusSheetSender_rb.html +5 -3
  296. data/doc/lib/SyntaxReference_rb.html +5 -3
  297. data/doc/lib/TOCEntry_rb.html +5 -3
  298. data/doc/lib/TableColumnDefinition_rb.html +5 -3
  299. data/doc/lib/TableOfContents_rb.html +5 -3
  300. data/doc/lib/TaskDependency_rb.html +5 -3
  301. data/doc/lib/TaskJuggler_rb.html +5 -3
  302. data/doc/lib/TaskScenario_rb.html +5 -3
  303. data/doc/lib/Task_rb.html +5 -3
  304. data/doc/lib/TextFormatter_rb.html +6 -4
  305. data/doc/lib/TextParser/Pattern_rb.html +5 -3
  306. data/doc/lib/TextParser/Rule_rb.html +5 -3
  307. data/doc/lib/TextParser/StackElement_rb.html +5 -3
  308. data/doc/lib/TextParser/State_rb.html +6 -4
  309. data/doc/lib/TextParser/TokenDoc_rb.html +5 -3
  310. data/doc/lib/TextParser_rb.html +5 -3
  311. data/doc/lib/TextScanner_rb.html +5 -3
  312. data/doc/lib/TimeSheetReceiver_rb.html +5 -3
  313. data/doc/lib/TimeSheetSender_rb.html +5 -3
  314. data/doc/lib/TimeSheetSummary_rb.html +6 -4
  315. data/doc/lib/TimeSheets_rb.html +5 -3
  316. data/doc/lib/Tj3AppBase_rb.html +5 -3
  317. data/doc/lib/Tj3Config_rb.html +5 -3
  318. data/doc/lib/Tj3SheetAppBase_rb.html +5 -3
  319. data/doc/lib/TjException_rb.html +5 -3
  320. data/doc/lib/TjTime_rb.html +5 -3
  321. data/doc/lib/TjpExample_rb.html +5 -3
  322. data/doc/lib/TjpSyntaxRules_rb.html +5 -3
  323. data/doc/lib/URLParameter_rb.html +5 -3
  324. data/doc/lib/UTF8String_rb.html +5 -3
  325. data/doc/lib/UserManual_rb.html +5 -3
  326. data/doc/lib/VimSyntax_rb.html +6 -4
  327. data/doc/lib/WorkingHours_rb.html +5 -3
  328. data/doc/lib/XMLDocument_rb.html +5 -3
  329. data/doc/lib/XMLElement_rb.html +5 -3
  330. data/doc/lib/daemon/Daemon_rb.html +5 -3
  331. data/doc/lib/daemon/ProcessIntercom_rb.html +7 -3
  332. data/doc/lib/daemon/ProjectBroker_rb.html +5 -3
  333. data/doc/lib/daemon/ProjectServer_rb.html +5 -3
  334. data/doc/lib/daemon/ReportServer_rb.html +5 -3
  335. data/doc/lib/daemon/ReportServlet_rb.html +69 -0
  336. data/doc/lib/daemon/WebServer_rb.html +9 -3
  337. data/doc/lib/daemon/WelcomePage_rb.html +71 -0
  338. data/doc/lib/deep_copy_rb.html +5 -3
  339. data/doc/lib/reports/CSVFile_rb.html +5 -3
  340. data/doc/lib/reports/CollisionDetector_rb.html +5 -3
  341. data/doc/lib/reports/ColumnTable_rb.html +5 -3
  342. data/doc/lib/reports/GanttChart_rb.html +5 -3
  343. data/doc/lib/reports/GanttContainer_rb.html +5 -3
  344. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +5 -3
  345. data/doc/lib/reports/GanttHeader_rb.html +5 -3
  346. data/doc/lib/reports/GanttLine_rb.html +5 -3
  347. data/doc/lib/reports/GanttLoadStack_rb.html +5 -3
  348. data/doc/lib/reports/GanttMilestone_rb.html +5 -3
  349. data/doc/lib/reports/GanttRouter_rb.html +5 -3
  350. data/doc/lib/reports/GanttTaskBar_rb.html +5 -3
  351. data/doc/lib/reports/HTMLGraphics_rb.html +5 -3
  352. data/doc/lib/reports/Navigator_rb.html +5 -3
  353. data/doc/lib/reports/NikuReport_rb.html +5 -3
  354. data/doc/lib/reports/ReportBase_rb.html +5 -3
  355. data/doc/lib/reports/ReportContext_rb.html +5 -3
  356. data/doc/lib/reports/ReportTableCell_rb.html +5 -3
  357. data/doc/lib/reports/ReportTableColumn_rb.html +5 -3
  358. data/doc/lib/reports/ReportTableLegend_rb.html +5 -3
  359. data/doc/lib/reports/ReportTableLine_rb.html +5 -3
  360. data/doc/lib/reports/ReportTable_rb.html +5 -3
  361. data/doc/lib/reports/Report_rb.html +5 -3
  362. data/doc/lib/reports/ResourceListRE_rb.html +5 -3
  363. data/doc/lib/reports/StatusSheetReport_rb.html +5 -3
  364. data/doc/lib/reports/TableReport_rb.html +5 -3
  365. data/doc/lib/reports/TaskListRE_rb.html +5 -3
  366. data/doc/lib/reports/TextReport_rb.html +5 -3
  367. data/doc/lib/reports/TimeSheetReport_rb.html +5 -3
  368. data/doc/lib/reports/TjpExportRE_rb.html +5 -3
  369. data/doc/lib/{taskjuggler3_rb.html → tj3_rb.html} +7 -5
  370. data/doc/lib/tj3client_rb.html +5 -3
  371. data/doc/lib/tj3d_rb.html +6 -4
  372. data/doc/lib/tj3man_rb.html +5 -3
  373. data/doc/lib/tj3ss_receiver_rb.html +5 -3
  374. data/doc/lib/tj3ss_sender_rb.html +5 -3
  375. data/doc/lib/tj3ts_receiver_rb.html +5 -3
  376. data/doc/lib/tj3ts_sender_rb.html +5 -3
  377. data/doc/lib/tj3ts_summary_rb.html +5 -3
  378. data/examples/tutorial.tjp +13 -5
  379. data/gem_spec.rb +3 -0
  380. data/lib/Account.rb +2 -1
  381. data/lib/AccountScenario.rb +2 -1
  382. data/lib/Allocation.rb +2 -1
  383. data/lib/AppConfig.rb +2 -1
  384. data/lib/AttributeBase.rb +19 -5
  385. data/lib/AttributeDefinition.rb +2 -1
  386. data/lib/Attributes.rb +49 -38
  387. data/lib/BatchProcessor.rb +2 -1
  388. data/lib/Booking.rb +2 -1
  389. data/lib/Charge.rb +2 -1
  390. data/lib/ChargeSet.rb +2 -1
  391. data/lib/DataCache.rb +15 -1
  392. data/lib/FileList.rb +2 -1
  393. data/lib/HTMLDocument.rb +2 -1
  394. data/lib/Interval.rb +2 -1
  395. data/lib/IntervalList.rb +100 -0
  396. data/lib/Journal.rb +8 -2
  397. data/lib/KeywordArray.rb +2 -1
  398. data/lib/KeywordDocumentation.rb +10 -6
  399. data/lib/Limits.rb +2 -1
  400. data/lib/Log.rb +3 -2
  401. data/lib/LogFile.rb +2 -1
  402. data/lib/LogicalExpression.rb +2 -1
  403. data/lib/LogicalFunction.rb +2 -1
  404. data/lib/LogicalOperation.rb +2 -1
  405. data/lib/MacroTable.rb +2 -1
  406. data/lib/MessageHandler.rb +2 -1
  407. data/lib/Project.rb +92 -25
  408. data/lib/ProjectFileParser.rb +7 -2
  409. data/lib/ProjectFileScanner.rb +2 -1
  410. data/lib/PropertyList.rb +2 -1
  411. data/lib/PropertySet.rb +2 -6
  412. data/lib/PropertyTreeNode.rb +22 -44
  413. data/lib/Query.rb +32 -13
  414. data/lib/RTFHandlers.rb +2 -1
  415. data/lib/RTFNavigator.rb +2 -1
  416. data/lib/RTFQuery.rb +3 -2
  417. data/lib/RTFReport.rb +2 -1
  418. data/lib/RTFReportLink.rb +2 -1
  419. data/lib/RTFWithQuerySupport.rb +2 -1
  420. data/lib/RealFormat.rb +2 -1
  421. data/lib/Resource.rb +2 -1
  422. data/lib/ResourceScenario.rb +35 -14
  423. data/lib/RichText.rb +2 -1
  424. data/lib/RichTextDocument.rb +2 -1
  425. data/lib/RichTextElement.rb +2 -1
  426. data/lib/RichTextFunctionExample.rb +2 -1
  427. data/lib/RichTextFunctionHandler.rb +2 -1
  428. data/lib/RichTextParser.rb +2 -1
  429. data/lib/RichTextScanner.rb +2 -1
  430. data/lib/RichTextSnip.rb +2 -1
  431. data/lib/RichTextSyntaxRules.rb +2 -1
  432. data/lib/RuntimeConfig.rb +2 -1
  433. data/lib/Scenario.rb +2 -1
  434. data/lib/ScenarioData.rb +2 -1
  435. data/lib/Scoreboard.rb +27 -8
  436. data/lib/SheetHandlerBase.rb +2 -1
  437. data/lib/SheetReceiver.rb +2 -1
  438. data/lib/SheetSender.rb +2 -1
  439. data/lib/Shift.rb +2 -1
  440. data/lib/ShiftAssignments.rb +2 -1
  441. data/lib/ShiftScenario.rb +2 -1
  442. data/lib/SimpleQueryExpander.rb +2 -1
  443. data/lib/SourceFileInfo.rb +2 -1
  444. data/lib/StatusSheetReceiver.rb +2 -1
  445. data/lib/StatusSheetSender.rb +2 -1
  446. data/lib/SyntaxReference.rb +2 -1
  447. data/lib/TOCEntry.rb +2 -1
  448. data/lib/TableColumnDefinition.rb +9 -2
  449. data/lib/TableOfContents.rb +2 -1
  450. data/lib/Task.rb +2 -1
  451. data/lib/TaskDependency.rb +2 -1
  452. data/lib/TaskJuggler.rb +8 -6
  453. data/lib/TaskScenario.rb +337 -153
  454. data/lib/TextFormatter.rb +3 -2
  455. data/lib/TextParser.rb +7 -2
  456. data/lib/TextParser/Pattern.rb +2 -1
  457. data/lib/TextParser/Rule.rb +2 -1
  458. data/lib/TextParser/StackElement.rb +2 -1
  459. data/lib/TextParser/State.rb +3 -2
  460. data/lib/TextParser/TokenDoc.rb +2 -1
  461. data/lib/TextScanner.rb +12 -5
  462. data/lib/TimeSheetReceiver.rb +2 -1
  463. data/lib/TimeSheetSender.rb +2 -1
  464. data/lib/TimeSheetSummary.rb +3 -2
  465. data/lib/TimeSheets.rb +2 -1
  466. data/lib/Tj3AppBase.rb +6 -5
  467. data/lib/Tj3Config.rb +5 -4
  468. data/lib/Tj3SheetAppBase.rb +2 -1
  469. data/lib/TjException.rb +2 -1
  470. data/lib/TjTime.rb +2 -1
  471. data/lib/TjpExample.rb +2 -1
  472. data/lib/TjpSyntaxRules.rb +264 -65
  473. data/lib/URLParameter.rb +2 -1
  474. data/lib/UTF8String.rb +2 -1
  475. data/lib/UserManual.rb +2 -1
  476. data/lib/VimSyntax.rb +3 -2
  477. data/lib/WorkingHours.rb +2 -1
  478. data/lib/XMLDocument.rb +2 -1
  479. data/lib/XMLElement.rb +2 -1
  480. data/lib/daemon/Daemon.rb +3 -1
  481. data/lib/daemon/ProcessIntercom.rb +3 -1
  482. data/lib/daemon/ProjectBroker.rb +84 -32
  483. data/lib/daemon/ProjectServer.rb +5 -3
  484. data/lib/daemon/ReportServer.rb +8 -5
  485. data/lib/daemon/ReportServlet.rb +166 -0
  486. data/lib/daemon/WebServer.rb +6 -150
  487. data/lib/daemon/WelcomePage.rb +80 -0
  488. data/lib/deep_copy.rb +2 -1
  489. data/lib/reports/CSVFile.rb +2 -1
  490. data/lib/reports/CollisionDetector.rb +2 -1
  491. data/lib/reports/ColumnTable.rb +2 -1
  492. data/lib/reports/GanttChart.rb +2 -1
  493. data/lib/reports/GanttContainer.rb +3 -4
  494. data/lib/reports/GanttHeader.rb +2 -1
  495. data/lib/reports/GanttHeaderScaleItem.rb +2 -1
  496. data/lib/reports/GanttLine.rb +12 -10
  497. data/lib/reports/GanttLoadStack.rb +2 -1
  498. data/lib/reports/GanttMilestone.rb +3 -3
  499. data/lib/reports/GanttRouter.rb +4 -1
  500. data/lib/reports/GanttTaskBar.rb +9 -7
  501. data/lib/reports/HTMLGraphics.rb +2 -1
  502. data/lib/reports/Navigator.rb +2 -1
  503. data/lib/reports/NikuReport.rb +79 -49
  504. data/lib/reports/Report.rb +42 -10
  505. data/lib/reports/ReportBase.rb +2 -1
  506. data/lib/reports/ReportContext.rb +2 -1
  507. data/lib/reports/ReportTable.rb +2 -1
  508. data/lib/reports/ReportTableCell.rb +63 -28
  509. data/lib/reports/ReportTableColumn.rb +2 -1
  510. data/lib/reports/ReportTableLegend.rb +5 -5
  511. data/lib/reports/ReportTableLine.rb +2 -1
  512. data/lib/reports/ResourceListRE.rb +2 -1
  513. data/lib/reports/StatusSheetReport.rb +4 -2
  514. data/lib/reports/TableReport.rb +42 -38
  515. data/lib/reports/TaskListRE.rb +4 -2
  516. data/lib/reports/TextReport.rb +2 -1
  517. data/lib/reports/TimeSheetReport.rb +4 -2
  518. data/lib/reports/TjpExportRE.rb +4 -2
  519. data/lib/{taskjuggler3.rb → tj3.rb} +6 -5
  520. data/lib/tj3client.rb +19 -36
  521. data/lib/tj3d.rb +6 -2
  522. data/lib/tj3man.rb +4 -3
  523. data/lib/tj3ss_receiver.rb +2 -1
  524. data/lib/tj3ss_sender.rb +2 -1
  525. data/lib/tj3ts_receiver.rb +2 -1
  526. data/lib/tj3ts_sender.rb +2 -1
  527. data/lib/tj3ts_summary.rb +2 -1
  528. data/manual/Day_To_Day_Juggling +36 -0
  529. data/manual/How_To_Contribute +9 -4
  530. data/manual/Installation +10 -3
  531. data/manual/TaskJuggler_Internals +0 -2
  532. data/manual/Tutorial +25 -3
  533. data/prj_cfg.rb +4 -2
  534. data/spec/IntervalList_spec.rb +138 -0
  535. data/spec/ProjectBroker_spec.rb +133 -0
  536. data/tasks/changelog.rake +41 -24
  537. data/tasks/csts.rake +1 -0
  538. data/tasks/gem.rake +1 -0
  539. data/tasks/rcov.rake +1 -1
  540. data/tasks/spec.rake +7 -0
  541. data/tasks/test.rake +1 -0
  542. data/test/MessageChecker.rb +2 -1
  543. data/test/TestSuite/CSV-Reports/niku.tjp +70 -0
  544. data/test/TestSuite/CSV-Reports/{celltext-Reference.csv → refs/celltext.csv} +0 -0
  545. data/test/TestSuite/CSV-Reports/refs/niku.csv +5 -0
  546. data/test/TestSuite/CSV-Reports/{resourcereport-Reference.csv → refs/resourcereport.csv} +0 -0
  547. data/test/TestSuite/CSV-Reports/{resourcereport_with_tasks-Reference.csv → refs/resourcereport_with_tasks.csv} +0 -0
  548. data/test/TestSuite/CSV-Reports/{sortByTree-Reference.csv → refs/sortByTree.csv} +0 -0
  549. data/test/TestSuite/CSV-Reports/{sortBy_duration.down-Reference.csv → refs/sortBy_duration.down.csv} +0 -0
  550. data/test/TestSuite/CSV-Reports/{sortBy_effort.up-Reference.csv → refs/sortBy_effort.up.csv} +0 -0
  551. data/test/TestSuite/CSV-Reports/{sortBy_plan.start.down-Reference.csv → refs/sortBy_plan.start.down.csv} +0 -0
  552. data/test/TestSuite/CSV-Reports/{taskreport-Reference.csv → refs/taskreport.csv} +0 -0
  553. data/test/TestSuite/CSV-Reports/{taskreport_with_resources-Reference.csv → refs/taskreport_with_resources.csv} +0 -0
  554. data/test/TestSuite/CSV-Reports/{weekly-Reference.csv → refs/weekly.csv} +0 -0
  555. data/test/TestSuite/HTML-Reports/Alerts.tjp +12 -0
  556. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
  557. data/test/TestSuite/Scheduler/Correct/Container-2.tjp +1 -2
  558. data/test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp +77 -0
  559. data/test/TestSuite/Scheduler/Correct/WeakDeps.tjp +40 -0
  560. data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +2 -2
  561. data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +3 -4
  562. data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +2 -2
  563. data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +8 -7
  564. data/test/TestSuite/Scheduler/Errors/onend_wrong_direction.tjp +19 -0
  565. data/test/TestSuite/Scheduler/Errors/onstart_wrong_direction.tjp +18 -0
  566. data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +1 -2
  567. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/boss_2002-03-02.tji +46 -0
  568. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/dev2_2002-03-02.tji +22 -0
  569. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/resources.yml +11 -0
  570. data/test/TestSuite/StatusSheets/StatusSheetTemplates/acceptable_intervals +1 -0
  571. data/test/TestSuite/StatusSheets/sender.log +256 -0
  572. data/test/TestSuite/StatusSheets/statussheets.log +9 -0
  573. data/test/TestSuite/StatusSheets/tj3d.log +395 -0
  574. data/test/TestSuite/Syntax/Correct/Limits-1.tjp +2 -0
  575. data/test/TestSuite/Syntax/Correct/Niku.tjp +6 -1
  576. data/test/TestSuite/Syntax/Correct/Scenario.tjp +4 -1
  577. data/test/TestSuite/Syntax/Correct/Supplement.tjp +12 -5
  578. data/test/TestSuite/Syntax/Correct/TaskPrefix.tji +3 -0
  579. data/test/TestSuite/Syntax/Correct/TaskPrefix.tjp +24 -0
  580. data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -2
  581. data/test/TestSuite/Syntax/Correct/tutorial.tjp +15 -5
  582. data/test/all.rb +2 -4
  583. data/test/test_BatchProcessor.rb +2 -1
  584. data/test/test_CSV-Reports.rb +34 -23
  585. data/test/test_CSVFile.rb +2 -1
  586. data/test/test_CollisionDetector.rb +3 -2
  587. data/test/test_Journal.rb +2 -1
  588. data/test/test_Limits.rb +2 -1
  589. data/test/test_LogicalExpression.rb +2 -1
  590. data/test/test_MacroTable.rb +2 -1
  591. data/test/test_Project.rb +3 -2
  592. data/test/test_ProjectFileScanner.rb +2 -1
  593. data/test/test_PropertySet.rb +2 -1
  594. data/test/test_Query.rb +2 -1
  595. data/test/test_RealFormat.rb +2 -1
  596. data/test/test_ReportGenerator.rb +2 -1
  597. data/test/test_RichText.rb +2 -1
  598. data/test/test_Scheduler.rb +2 -1
  599. data/test/test_ShiftAssignments.rb +2 -1
  600. data/test/test_SimpleQueryExpander.rb +2 -1
  601. data/test/test_Syntax.rb +2 -1
  602. data/test/test_TextFormatter.rb +3 -2
  603. data/test/test_TjTime.rb +2 -1
  604. data/test/test_TjpExample.rb +2 -1
  605. data/test/test_URLParameter.rb +2 -1
  606. data/test/test_UTF8String.rb +2 -1
  607. data/test/test_WorkingHours.rb +2 -1
  608. data/test/test_deep_copy.rb +2 -1
  609. metadata +74 -20
  610. data/doc/StringIO.html +0 -595
  611. data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +0 -46
  612. data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +0 -51
  613. data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +0 -11
@@ -127,6 +127,8 @@
127
127
 
128
128
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
129
129
 
130
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
131
+
130
132
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
131
133
 
132
134
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -205,6 +207,8 @@
205
207
 
206
208
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
207
209
 
210
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
211
+
208
212
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
209
213
 
210
214
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -237,6 +241,8 @@
237
241
 
238
242
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
239
243
 
244
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
245
+
240
246
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
241
247
 
242
248
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -517,6 +523,8 @@
517
523
 
518
524
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
519
525
 
526
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
527
+
520
528
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
521
529
 
522
530
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -543,8 +551,6 @@
543
551
 
544
552
  <li><a href="../String.html">String</a></li>
545
553
 
546
- <li><a href="../StringIO.html">StringIO</a></li>
547
-
548
554
  </ul>
549
555
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
550
556
  </div>
@@ -592,11 +598,11 @@
592
598
  <div class="method-source-code"
593
599
  id="new-source">
594
600
  <pre>
595
- <span class="ruby-comment cmt"># File lib/Scenario.rb, line 19</span>
596
- 19: <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>)
597
- 20: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarios</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">parent</span>)
598
- 21: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">addScenario</span>(<span class="ruby-keyword kw">self</span>)
599
- 22: <span class="ruby-keyword kw">end</span></pre>
601
+ <span class="ruby-comment cmt"># File lib/Scenario.rb, line 20</span>
602
+ 20: <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>)
603
+ 21: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarios</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">parent</span>)
604
+ 22: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">addScenario</span>(<span class="ruby-keyword kw">self</span>)
605
+ 23: <span class="ruby-keyword kw">end</span></pre>
600
606
  </div>
601
607
 
602
608
  </div>
@@ -135,6 +135,8 @@
135
135
 
136
136
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
137
137
 
138
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
139
+
138
140
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
139
141
 
140
142
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -213,6 +215,8 @@
213
215
 
214
216
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
215
217
 
218
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
219
+
216
220
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
217
221
 
218
222
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -245,6 +249,8 @@
245
249
 
246
250
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
247
251
 
252
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
253
+
248
254
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
249
255
 
250
256
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -525,6 +531,8 @@
525
531
 
526
532
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
527
533
 
534
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
535
+
528
536
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
529
537
 
530
538
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -551,8 +559,6 @@
551
559
 
552
560
  <li><a href="../String.html">String</a></li>
553
561
 
554
- <li><a href="../StringIO.html">StringIO</a></li>
555
-
556
562
  </ul>
557
563
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
558
564
  </div>
@@ -621,13 +627,13 @@
621
627
  <div class="method-source-code"
622
628
  id="new-source">
623
629
  <pre>
624
- <span class="ruby-comment cmt"># File lib/ScenarioData.rb, line 23</span>
625
- 23: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">idx</span>, <span class="ruby-identifier">attributes</span>)
626
- 24: <span class="ruby-ivar">@property</span> = <span class="ruby-identifier">property</span>
627
- 25: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>
628
- 26: <span class="ruby-ivar">@scenarioIdx</span> = <span class="ruby-identifier">idx</span>
629
- 27: <span class="ruby-ivar">@attributes</span> = <span class="ruby-identifier">attributes</span>
630
- 28: <span class="ruby-keyword kw">end</span></pre>
630
+ <span class="ruby-comment cmt"># File lib/ScenarioData.rb, line 24</span>
631
+ 24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">idx</span>, <span class="ruby-identifier">attributes</span>)
632
+ 25: <span class="ruby-ivar">@property</span> = <span class="ruby-identifier">property</span>
633
+ 26: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>
634
+ 27: <span class="ruby-ivar">@scenarioIdx</span> = <span class="ruby-identifier">idx</span>
635
+ 28: <span class="ruby-ivar">@attributes</span> = <span class="ruby-identifier">attributes</span>
636
+ 29: <span class="ruby-keyword kw">end</span></pre>
631
637
  </div>
632
638
 
633
639
  </div>
@@ -664,10 +670,10 @@
664
670
  <div class="method-source-code"
665
671
  id="a-source">
666
672
  <pre>
667
- <span class="ruby-comment cmt"># File lib/ScenarioData.rb, line 30</span>
668
- 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">a</span>(<span class="ruby-identifier">attributeName</span>)
669
- 31: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeName</span>].<span class="ruby-identifier">value</span>
670
- 32: <span class="ruby-keyword kw">end</span></pre>
673
+ <span class="ruby-comment cmt"># File lib/ScenarioData.rb, line 31</span>
674
+ 31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">a</span>(<span class="ruby-identifier">attributeName</span>)
675
+ 32: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeName</span>].<span class="ruby-identifier">value</span>
676
+ 33: <span class="ruby-keyword kw">end</span></pre>
671
677
  </div>
672
678
 
673
679
  </div>
@@ -698,13 +704,13 @@
698
704
  <div class="method-source-code"
699
705
  id="error-source">
700
706
  <pre>
701
- <span class="ruby-comment cmt"># File lib/ScenarioData.rb, line 34</span>
702
- 34: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sourceFileInfo</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>)
703
- 35: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">error</span>(
704
- 36: <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sourceFileInfo</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">sourceFileInfo</span>, <span class="ruby-keyword kw">nil</span>,
705
- 37: <span class="ruby-identifier">property</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@property</span>,
706
- 38: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-ivar">@scenarioIdx</span>))
707
- 39: <span class="ruby-keyword kw">end</span></pre>
707
+ <span class="ruby-comment cmt"># File lib/ScenarioData.rb, line 35</span>
708
+ 35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sourceFileInfo</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>)
709
+ 36: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">error</span>(
710
+ 37: <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sourceFileInfo</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">sourceFileInfo</span>, <span class="ruby-keyword kw">nil</span>,
711
+ 38: <span class="ruby-identifier">property</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@property</span>,
712
+ 39: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-ivar">@scenarioIdx</span>))
713
+ 40: <span class="ruby-keyword kw">end</span></pre>
708
714
  </div>
709
715
 
710
716
  </div>
@@ -735,13 +741,13 @@
735
741
  <div class="method-source-code"
736
742
  id="info-source">
737
743
  <pre>
738
- <span class="ruby-comment cmt"># File lib/ScenarioData.rb, line 48</span>
739
- 48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">info</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sourceFileInfo</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>)
740
- 49: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">info</span>(
741
- 50: <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sourceFileInfo</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">sourceFileInfo</span>, <span class="ruby-keyword kw">nil</span>,
742
- 51: <span class="ruby-identifier">property</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@property</span>,
743
- 52: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-ivar">@scenarioIdx</span>))
744
- 53: <span class="ruby-keyword kw">end</span></pre>
744
+ <span class="ruby-comment cmt"># File lib/ScenarioData.rb, line 49</span>
745
+ 49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">info</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sourceFileInfo</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>)
746
+ 50: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">info</span>(
747
+ 51: <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sourceFileInfo</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">sourceFileInfo</span>, <span class="ruby-keyword kw">nil</span>,
748
+ 52: <span class="ruby-identifier">property</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@property</span>,
749
+ 53: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-ivar">@scenarioIdx</span>))
750
+ 54: <span class="ruby-keyword kw">end</span></pre>
745
751
  </div>
746
752
 
747
753
  </div>
@@ -772,13 +778,13 @@
772
778
  <div class="method-source-code"
773
779
  id="warning-source">
774
780
  <pre>
775
- <span class="ruby-comment cmt"># File lib/ScenarioData.rb, line 41</span>
776
- 41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">warning</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sourceFileInfo</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>)
777
- 42: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">warning</span>(
778
- 43: <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sourceFileInfo</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">sourceFileInfo</span>, <span class="ruby-keyword kw">nil</span>,
779
- 44: <span class="ruby-identifier">property</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@property</span>,
780
- 45: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-ivar">@scenarioIdx</span>))
781
- 46: <span class="ruby-keyword kw">end</span></pre>
781
+ <span class="ruby-comment cmt"># File lib/ScenarioData.rb, line 42</span>
782
+ 42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">warning</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sourceFileInfo</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>)
783
+ 43: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">warning</span>(
784
+ 44: <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sourceFileInfo</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@property</span>.<span class="ruby-identifier">sourceFileInfo</span>, <span class="ruby-keyword kw">nil</span>,
785
+ 45: <span class="ruby-identifier">property</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@property</span>,
786
+ 46: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-ivar">@scenarioIdx</span>))
787
+ 47: <span class="ruby-keyword kw">end</span></pre>
782
788
  </div>
783
789
 
784
790
  </div>
@@ -55,7 +55,7 @@
55
55
  <div id="parent-class-section" class="section">
56
56
  <h3 class="section-header">Parent</h3>
57
57
 
58
- <p class="link"><a href="AttributeBase.html">TaskJuggler::AttributeBase</a></p>
58
+ <p class="link"><a href="ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></p>
59
59
 
60
60
  </div>
61
61
 
@@ -131,6 +131,8 @@
131
131
 
132
132
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
133
133
 
134
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
135
+
134
136
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
135
137
 
136
138
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -209,6 +211,8 @@
209
211
 
210
212
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
211
213
 
214
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
215
+
212
216
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
213
217
 
214
218
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -241,6 +245,8 @@
241
245
 
242
246
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
243
247
 
248
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
249
+
244
250
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
245
251
 
246
252
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -521,6 +527,8 @@
521
527
 
522
528
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
523
529
 
530
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
531
+
524
532
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
525
533
 
526
534
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -547,8 +555,6 @@
547
555
 
548
556
  <li><a href="../String.html">String</a></li>
549
557
 
550
- <li><a href="../StringIO.html">StringIO</a></li>
551
-
552
558
  </ul>
553
559
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
554
560
  </div>
@@ -596,10 +602,10 @@
596
602
  <div class="method-source-code"
597
603
  id="new-source">
598
604
  <pre>
599
- <span class="ruby-comment cmt"># File lib/Attributes.rb, line 485</span>
600
- 485: <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>)
601
- 486: <span class="ruby-keyword kw">super</span>
602
- 487: <span class="ruby-keyword kw">end</span></pre>
605
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 500</span>
606
+ 500: <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>)
607
+ 501: <span class="ruby-keyword kw">super</span>
608
+ 502: <span class="ruby-keyword kw">end</span></pre>
603
609
  </div>
604
610
 
605
611
  </div>
@@ -630,10 +636,10 @@
630
636
  <div class="method-source-code"
631
637
  id="tjp-d-source">
632
638
  <pre>
633
- <span class="ruby-comment cmt"># File lib/Attributes.rb, line 489</span>
634
- 489: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ScenarioListAttribute</span><span class="ruby-operator">::</span><span class="ruby-identifier">tjpId</span>
635
- 490: <span class="ruby-value str">'scenarios'</span>
636
- 491: <span class="ruby-keyword kw">end</span></pre>
639
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 504</span>
640
+ 504: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ScenarioListAttribute</span><span class="ruby-operator">::</span><span class="ruby-identifier">tjpId</span>
641
+ 505: <span class="ruby-value str">'scenarios'</span>
642
+ 506: <span class="ruby-keyword kw">end</span></pre>
637
643
  </div>
638
644
 
639
645
  </div>
@@ -670,10 +676,10 @@
670
676
  <div class="method-source-code"
671
677
  id="to-s-source">
672
678
  <pre>
673
- <span class="ruby-comment cmt"># File lib/Attributes.rb, line 493</span>
674
- 493: <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>)
675
- 494: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>)
676
- 495: <span class="ruby-keyword kw">end</span></pre>
679
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 508</span>
680
+ 508: <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>)
681
+ 509: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>)
682
+ 510: <span class="ruby-keyword kw">end</span></pre>
677
683
  </div>
678
684
 
679
685
  </div>
@@ -147,6 +147,8 @@
147
147
 
148
148
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
149
149
 
150
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
151
+
150
152
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
151
153
 
152
154
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -225,6 +227,8 @@
225
227
 
226
228
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
227
229
 
230
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
231
+
228
232
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
229
233
 
230
234
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -257,6 +261,8 @@
257
261
 
258
262
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
259
263
 
264
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
265
+
260
266
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
261
267
 
262
268
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -537,6 +543,8 @@
537
543
 
538
544
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
539
545
 
546
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
547
+
540
548
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
541
549
 
542
550
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -563,8 +571,6 @@
563
571
 
564
572
  <li><a href="../String.html">String</a></li>
565
573
 
566
- <li><a href="../StringIO.html">StringIO</a></li>
567
-
568
574
  </ul>
569
575
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
570
576
  </div>
@@ -690,14 +696,14 @@ scoreboard cells.
690
696
  <div class="method-source-code"
691
697
  id="new-source">
692
698
  <pre>
693
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 27</span>
694
- 27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">startDate</span>, <span class="ruby-identifier">endDate</span>, <span class="ruby-identifier">resolution</span>, <span class="ruby-identifier">initVal</span> = <span class="ruby-keyword kw">nil</span>)
695
- 28: <span class="ruby-ivar">@startDate</span> = <span class="ruby-identifier">startDate</span>
696
- 29: <span class="ruby-ivar">@endDate</span> = <span class="ruby-identifier">endDate</span>
697
- 30: <span class="ruby-ivar">@resolution</span> = <span class="ruby-identifier">resolution</span>
698
- 31: <span class="ruby-ivar">@size</span> = ((<span class="ruby-identifier">endDate</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">startDate</span>) <span class="ruby-operator">/</span> <span class="ruby-identifier">resolution</span>).<span class="ruby-identifier">ceil</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
699
- 32: <span class="ruby-identifier">clear</span>(<span class="ruby-identifier">initVal</span>)
700
- 33: <span class="ruby-keyword kw">end</span></pre>
699
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 30</span>
700
+ 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">startDate</span>, <span class="ruby-identifier">endDate</span>, <span class="ruby-identifier">resolution</span>, <span class="ruby-identifier">initVal</span> = <span class="ruby-keyword kw">nil</span>)
701
+ 31: <span class="ruby-ivar">@startDate</span> = <span class="ruby-identifier">startDate</span>
702
+ 32: <span class="ruby-ivar">@endDate</span> = <span class="ruby-identifier">endDate</span>
703
+ 33: <span class="ruby-ivar">@resolution</span> = <span class="ruby-identifier">resolution</span>
704
+ 34: <span class="ruby-ivar">@size</span> = ((<span class="ruby-identifier">endDate</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">startDate</span>) <span class="ruby-operator">/</span> <span class="ruby-identifier">resolution</span>).<span class="ruby-identifier">ceil</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
705
+ 35: <span class="ruby-identifier">clear</span>(<span class="ruby-identifier">initVal</span>)
706
+ 36: <span class="ruby-keyword kw">end</span></pre>
701
707
  </div>
702
708
 
703
709
  </div>
@@ -736,10 +742,10 @@ Get the value at index <em>idx</em>.
736
742
  <div class="method-source-code"
737
743
  id="--source">
738
744
  <pre>
739
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 87</span>
740
- 87: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">idx</span>)
741
- 88: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>]
742
- 89: <span class="ruby-keyword kw">end</span></pre>
745
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 90</span>
746
+ 90: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">idx</span>)
747
+ 91: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>]
748
+ 92: <span class="ruby-keyword kw">end</span></pre>
743
749
  </div>
744
750
 
745
751
  </div>
@@ -772,10 +778,10 @@ Set the <em>value</em> at index <em>idx</em>.
772
778
  <div class="method-source-code"
773
779
  id="--source">
774
780
  <pre>
775
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 92</span>
776
- 92: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">value</span>)
777
- 93: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-identifier">value</span>
778
- 94: <span class="ruby-keyword kw">end</span></pre>
781
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 95</span>
782
+ 95: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">value</span>)
783
+ 96: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-identifier">value</span>
784
+ 97: <span class="ruby-keyword kw">end</span></pre>
779
785
  </div>
780
786
 
781
787
  </div>
@@ -808,10 +814,10 @@ Erase all values and set them to nil or a new initial value.
808
814
  <div class="method-source-code"
809
815
  id="clear-source">
810
816
  <pre>
811
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 36</span>
812
- 36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clear</span>(<span class="ruby-identifier">initVal</span> = <span class="ruby-keyword kw">nil</span>)
813
- 37: <span class="ruby-ivar">@sb</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@size</span>, <span class="ruby-identifier">initVal</span>)
814
- 38: <span class="ruby-keyword kw">end</span></pre>
817
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 39</span>
818
+ 39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clear</span>(<span class="ruby-identifier">initVal</span> = <span class="ruby-keyword kw">nil</span>)
819
+ 40: <span class="ruby-ivar">@sb</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@size</span>, <span class="ruby-identifier">initVal</span>)
820
+ 41: <span class="ruby-keyword kw">end</span></pre>
815
821
  </div>
816
822
 
817
823
  </div>
@@ -844,10 +850,10 @@ Assign result of block to each element.
844
850
  <div class="method-source-code"
845
851
  id="collect--source">
846
852
  <pre>
847
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 82</span>
848
- 82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collect!</span>
849
- 83: <span class="ruby-ivar">@sb</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">x</span> }
850
- 84: <span class="ruby-keyword kw">end</span></pre>
853
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 85</span>
854
+ 85: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collect!</span>
855
+ 86: <span class="ruby-ivar">@sb</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">x</span> }
856
+ 87: <span class="ruby-keyword kw">end</span></pre>
851
857
  </div>
852
858
 
853
859
  </div>
@@ -875,8 +881,8 @@ Assign result of block to each element.
875
881
  Return a list of intervals that describe a contiguous part of the
876
882
  scoreboard that contains only the values that yield true for the passed
877
883
  block. The intervals must be within the interval described by <em>iv</em>
878
- and must be at least <em>minDuration</em> long. The return value is an
879
- Array of [ start, end ] <a href="TjTime.html">TjTime</a> values.
884
+ and must be at least <em>minDuration</em> long. The return value is an <a
885
+ href="IntervalList.html">IntervalList</a>.
880
886
  </p>
881
887
 
882
888
 
@@ -884,42 +890,58 @@ Array of [ start, end ] <a href="TjTime.html">TjTime</a> values.
884
890
  <div class="method-source-code"
885
891
  id="collect-ntervals-source">
886
892
  <pre>
887
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 111</span>
888
- 111: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collectIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>)
889
- 112: <span class="ruby-comment cmt"># Determine the start and stop index for the scoreboard search.</span>
890
- 113: <span class="ruby-identifier">startIdx</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>)
891
- 114: <span class="ruby-identifier">endIdx</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>)
892
- 115:
893
- 116: <span class="ruby-comment cmt"># Convert the minDuration into number of slots.</span>
894
- 117: <span class="ruby-identifier">minDuration</span> <span class="ruby-operator">/=</span> <span class="ruby-ivar">@resolution</span>
895
- 118: <span class="ruby-identifier">minDuration</span> = <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minDuration</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">0</span>
893
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 114</span>
894
+ 114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collectIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>)
895
+ 115: <span class="ruby-comment cmt"># Determine the start and stop index for the scoreboard search. We save</span>
896
+ 116: <span class="ruby-comment cmt"># the original values for later use as well.</span>
897
+ 117: <span class="ruby-identifier">startIdx</span> = <span class="ruby-identifier">sIdx</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>)
898
+ 118: <span class="ruby-identifier">endIdx</span> = <span class="ruby-identifier">eIdx</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>)
896
899
  119:
897
- 120: <span class="ruby-comment cmt"># This is collects the resulting intervals.</span>
898
- 121: <span class="ruby-identifier">intervals</span> = []
899
- 122: <span class="ruby-comment cmt"># The duration counter for the currently analyzed interval and the start</span>
900
- 123: <span class="ruby-comment cmt"># index.</span>
901
- 124: <span class="ruby-identifier">duration</span> = <span class="ruby-identifier">start</span> = <span class="ruby-value">0</span>
902
- 125:
903
- 126: <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>
904
- 127: <span class="ruby-comment cmt"># Check whether the scoreboard slot matches any of the target values.</span>
905
- 128: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>])
906
- 129: <span class="ruby-comment cmt"># If so, save the start position if this is the first slot and start</span>
907
- 130: <span class="ruby-comment cmt"># counting the matching slots.</span>
908
- 131: <span class="ruby-identifier">start</span> = <span class="ruby-identifier">idx</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">start</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
909
- 132: <span class="ruby-identifier">duration</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
910
- 133: <span class="ruby-keyword kw">else</span>
911
- 134: <span class="ruby-comment cmt"># If we don't have a match, check if we've just finished a matching</span>
912
- 135: <span class="ruby-comment cmt"># interval.</span>
913
- 136: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">duration</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
914
- 137: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">duration</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">minDuration</span>
915
- 138: <span class="ruby-identifier">intervals</span> <span class="ruby-operator">&lt;&lt;</span> [ <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">start</span>), <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>) ]
916
- 139: <span class="ruby-keyword kw">end</span>
917
- 140: <span class="ruby-identifier">duration</span> = <span class="ruby-identifier">start</span> = <span class="ruby-value">0</span>
918
- 141: <span class="ruby-keyword kw">end</span>
919
- 142: <span class="ruby-keyword kw">end</span>
920
- 143: <span class="ruby-keyword kw">end</span>
921
- 144: <span class="ruby-identifier">intervals</span>
922
- 145: <span class="ruby-keyword kw">end</span></pre>
900
+ 120: <span class="ruby-comment cmt"># Convert the minDuration into number of slots.</span>
901
+ 121: <span class="ruby-identifier">minDuration</span> <span class="ruby-operator">/=</span> <span class="ruby-ivar">@resolution</span>
902
+ 122: <span class="ruby-identifier">minDuration</span> = <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minDuration</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">0</span>
903
+ 123:
904
+ 124: <span class="ruby-comment cmt"># Expand the interval with the minDuration to both sides. This will</span>
905
+ 125: <span class="ruby-comment cmt"># reduce the failure to detect intervals at the iv boundary. However,</span>
906
+ 126: <span class="ruby-comment cmt"># this will not prevent undetected intervals at the project time frame</span>
907
+ 127: <span class="ruby-comment cmt"># boundaries.</span>
908
+ 128: <span class="ruby-identifier">startIdx</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">minDuration</span>
909
+ 129: <span class="ruby-identifier">startIdx</span> = <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
910
+ 130: <span class="ruby-identifier">endIdx</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">minDuration</span>
911
+ 131: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span> <span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
912
+ 132:
913
+ 133: <span class="ruby-comment cmt"># This is collects the resulting intervals.</span>
914
+ 134: <span class="ruby-identifier">intervals</span> = <span class="ruby-constant">IntervalList</span>.<span class="ruby-identifier">new</span>
915
+ 135:
916
+ 136: <span class="ruby-comment cmt"># The duration counter for the currently analyzed interval and the start</span>
917
+ 137: <span class="ruby-comment cmt"># index.</span>
918
+ 138: <span class="ruby-identifier">duration</span> = <span class="ruby-identifier">start</span> = <span class="ruby-value">0</span>
919
+ 139:
920
+ 140: <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>
921
+ 141: <span class="ruby-comment cmt"># Check whether the scoreboard slot matches any of the target values.</span>
922
+ 142: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>])
923
+ 143: <span class="ruby-comment cmt"># If so, save the start position if this is the first slot and start</span>
924
+ 144: <span class="ruby-comment cmt"># counting the matching slots.</span>
925
+ 145: <span class="ruby-identifier">start</span> = <span class="ruby-identifier">idx</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">start</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
926
+ 146: <span class="ruby-identifier">duration</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
927
+ 147: <span class="ruby-keyword kw">else</span>
928
+ 148: <span class="ruby-comment cmt"># If we don't have a match, check if we've just finished a matching</span>
929
+ 149: <span class="ruby-comment cmt"># interval.</span>
930
+ 150: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">duration</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
931
+ 151: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">duration</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">minDuration</span>
932
+ 152: <span class="ruby-comment cmt"># Make sure that all intervals are within the originally</span>
933
+ 153: <span class="ruby-comment cmt"># requested Interval.</span>
934
+ 154: <span class="ruby-identifier">start</span> = <span class="ruby-identifier">sIdx</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">start</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">sIdx</span>
935
+ 155: <span class="ruby-identifier">idx</span> = <span class="ruby-identifier">eIdx</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">eIdx</span>
936
+ 156:
937
+ 157: <span class="ruby-identifier">intervals</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">start</span>), <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>))
938
+ 158: <span class="ruby-keyword kw">end</span>
939
+ 159: <span class="ruby-identifier">duration</span> = <span class="ruby-identifier">start</span> = <span class="ruby-value">0</span>
940
+ 160: <span class="ruby-keyword kw">end</span>
941
+ 161: <span class="ruby-keyword kw">end</span>
942
+ 162: <span class="ruby-keyword kw">end</span>
943
+ 163: <span class="ruby-identifier">intervals</span>
944
+ 164: <span class="ruby-keyword kw">end</span></pre>
923
945
  </div>
924
946
 
925
947
  </div>
@@ -953,20 +975,20 @@ sanitize the <em>date</em> by forcing it into the project time span.
953
975
  <div class="method-source-code"
954
976
  id="date-o-dx-source">
955
977
  <pre>
956
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 54</span>
957
- 54: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">forceIntoProject</span> = <span class="ruby-keyword kw">false</span>)
958
- 55: <span class="ruby-identifier">idx</span> = ((<span class="ruby-identifier">date</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@startDate</span>) <span class="ruby-operator">/</span> <span class="ruby-ivar">@resolution</span>).<span class="ruby-identifier">to_i</span>
959
- 56:
960
- 57: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">forceIntoProject</span>
961
- 58: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
962
- 59: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@size</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">&gt;=</span> <span class="ruby-ivar">@size</span>
963
- 60: <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-ivar">@size</span>)
964
- 61: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Date #{date} is out of project time range &quot;</span> <span class="ruby-operator">+</span>
965
- 62: <span class="ruby-node">&quot;(#{@startDate} - #{@endDate})&quot;</span>
966
- 63: <span class="ruby-keyword kw">end</span>
967
- 64:
968
- 65: <span class="ruby-identifier">idx</span>
969
- 66: <span class="ruby-keyword kw">end</span></pre>
978
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 57</span>
979
+ 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">forceIntoProject</span> = <span class="ruby-keyword kw">false</span>)
980
+ 58: <span class="ruby-identifier">idx</span> = ((<span class="ruby-identifier">date</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@startDate</span>) <span class="ruby-operator">/</span> <span class="ruby-ivar">@resolution</span>).<span class="ruby-identifier">to_i</span>
981
+ 59:
982
+ 60: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">forceIntoProject</span>
983
+ 61: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
984
+ 62: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@size</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">&gt;=</span> <span class="ruby-ivar">@size</span>
985
+ 63: <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-ivar">@size</span>)
986
+ 64: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Date #{date} is out of project time range &quot;</span> <span class="ruby-operator">+</span>
987
+ 65: <span class="ruby-node">&quot;(#{@startDate} - #{@endDate})&quot;</span>
988
+ 66: <span class="ruby-keyword kw">end</span>
989
+ 67:
990
+ 68: <span class="ruby-identifier">idx</span>
991
+ 69: <span class="ruby-keyword kw">end</span></pre>
970
992
  </div>
971
993
 
972
994
  </div>
@@ -999,18 +1021,18 @@ Iterate over all scoreboard entries.
999
1021
  <div class="method-source-code"
1000
1022
  id="each-source">
1001
1023
  <pre>
1002
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 69</span>
1003
- 69: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>(<span class="ruby-identifier">startIdx</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@size</span>)
1004
- 70: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">endIdx</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@size</span>
1005
- 71: <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">i</span><span class="ruby-operator">|</span>
1006
- 72: <span class="ruby-keyword kw">yield</span> <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">i</span>]
1007
- 73: <span class="ruby-keyword kw">end</span>
1008
- 74: <span class="ruby-keyword kw">else</span>
1009
- 75: <span class="ruby-ivar">@sb</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
1010
- 76: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">entry</span>
1011
- 77: <span class="ruby-keyword kw">end</span>
1012
- 78: <span class="ruby-keyword kw">end</span>
1013
- 79: <span class="ruby-keyword kw">end</span></pre>
1024
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 72</span>
1025
+ 72: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>(<span class="ruby-identifier">startIdx</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@size</span>)
1026
+ 73: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">endIdx</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@size</span>
1027
+ 74: <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">i</span><span class="ruby-operator">|</span>
1028
+ 75: <span class="ruby-keyword kw">yield</span> <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">i</span>]
1029
+ 76: <span class="ruby-keyword kw">end</span>
1030
+ 77: <span class="ruby-keyword kw">else</span>
1031
+ 78: <span class="ruby-ivar">@sb</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
1032
+ 79: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">entry</span>
1033
+ 80: <span class="ruby-keyword kw">end</span>
1034
+ 81: <span class="ruby-keyword kw">end</span>
1035
+ 82: <span class="ruby-keyword kw">end</span></pre>
1014
1036
  </div>
1015
1037
 
1016
1038
  </div>
@@ -1043,10 +1065,10 @@ Get the value corresponding to <em>date</em>.
1043
1065
  <div class="method-source-code"
1044
1066
  id="get-source">
1045
1067
  <pre>
1046
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 97</span>
1047
- 97: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">date</span>)
1048
- 98: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>)]
1049
- 99: <span class="ruby-keyword kw">end</span></pre>
1068
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 100</span>
1069
+ 100: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">date</span>)
1070
+ 101: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>)]
1071
+ 102: <span class="ruby-keyword kw">end</span></pre>
1050
1072
  </div>
1051
1073
 
1052
1074
  </div>
@@ -1080,16 +1102,16 @@ sanitize the <em>idx</em> value by forcing it into the project range.
1080
1102
  <div class="method-source-code"
1081
1103
  id="idx-o-ate-source">
1082
1104
  <pre>
1083
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 42</span>
1084
- 42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">forceIntoProject</span> = <span class="ruby-keyword kw">false</span>)
1085
- 43: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">forceIntoProject</span>
1086
- 44: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@startDate</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">kdx</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
1087
- 45: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@endDate</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@size</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">&gt;=</span> <span class="ruby-ivar">@size</span>
1088
- 46: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-ivar">@size</span>
1089
- 47: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Index #{idx} is out of scoreboard range (#{size - 1})&quot;</span>
1090
- 48: <span class="ruby-keyword kw">end</span>
1091
- 49: <span class="ruby-ivar">@startDate</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">idx</span> * <span class="ruby-ivar">@resolution</span>
1092
- 50: <span class="ruby-keyword kw">end</span></pre>
1105
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 45</span>
1106
+ 45: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">forceIntoProject</span> = <span class="ruby-keyword kw">false</span>)
1107
+ 46: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">forceIntoProject</span>
1108
+ 47: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@startDate</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">kdx</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
1109
+ 48: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@endDate</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@size</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">&gt;=</span> <span class="ruby-ivar">@size</span>
1110
+ 49: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-ivar">@size</span>
1111
+ 50: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Index #{idx} is out of scoreboard range (#{size - 1})&quot;</span>
1112
+ 51: <span class="ruby-keyword kw">end</span>
1113
+ 52: <span class="ruby-ivar">@startDate</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">idx</span> * <span class="ruby-ivar">@resolution</span>
1114
+ 53: <span class="ruby-keyword kw">end</span></pre>
1093
1115
  </div>
1094
1116
 
1095
1117
  </div>
@@ -1122,10 +1144,10 @@ Set the <em>value</em> corresponding to <em>date</em>.
1122
1144
  <div class="method-source-code"
1123
1145
  id="set-source">
1124
1146
  <pre>
1125
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 102</span>
1126
- 102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">value</span>)
1127
- 103: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>)] = <span class="ruby-identifier">value</span>
1128
- 104: <span class="ruby-keyword kw">end</span></pre>
1147
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 105</span>
1148
+ 105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">value</span>)
1149
+ 106: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>)] = <span class="ruby-identifier">value</span>
1150
+ 107: <span class="ruby-keyword kw">end</span></pre>
1129
1151
  </div>
1130
1152
 
1131
1153
  </div>