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
@@ -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>
@@ -600,10 +606,10 @@ to true if the property provided by the expression has the flag assigned.
600
606
  <div class="method-source-code"
601
607
  id="new-source">
602
608
  <pre>
603
- <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 220</span>
604
- 220: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">opnd</span>)
605
- 221: <span class="ruby-keyword kw">super</span>
606
- 222: <span class="ruby-keyword kw">end</span></pre>
609
+ <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 221</span>
610
+ 221: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">opnd</span>)
611
+ 222: <span class="ruby-keyword kw">super</span>
612
+ 223: <span class="ruby-keyword kw">end</span></pre>
607
613
  </div>
608
614
 
609
615
  </div>
@@ -642,10 +648,10 @@ Return true if the property has the flag assigned.
642
648
  <div class="method-source-code"
643
649
  id="eval-source">
644
650
  <pre>
645
- <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 225</span>
646
- 225: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)
647
- 226: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span>[<span class="ruby-value str">'flags'</span>, <span class="ruby-value">0</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@operand1</span>)
648
- 227: <span class="ruby-keyword kw">end</span></pre>
651
+ <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 226</span>
652
+ 226: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)
653
+ 227: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span>[<span class="ruby-value str">'flags'</span>, <span class="ruby-value">0</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@operand1</span>)
654
+ 228: <span class="ruby-keyword kw">end</span></pre>
649
655
  </div>
650
656
 
651
657
  </div>
@@ -676,14 +682,14 @@ Return true if the property has the flag assigned.
676
682
  <div class="method-source-code"
677
683
  id="to-s-source">
678
684
  <pre>
679
- <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 229</span>
680
- 229: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">query</span>)
681
- 230: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">query</span>
682
- 231: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span>[<span class="ruby-value str">'flags'</span>, <span class="ruby-value">0</span>].<span class="ruby-identifier">include</span>(<span class="ruby-ivar">@operand1</span>) <span class="ruby-operator">?</span> <span class="ruby-value str">'true'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'false'</span>
683
- 232: <span class="ruby-keyword kw">else</span>
684
- 233: <span class="ruby-ivar">@operand1</span>
685
- 234: <span class="ruby-keyword kw">end</span>
686
- 235: <span class="ruby-keyword kw">end</span></pre>
685
+ <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 230</span>
686
+ 230: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">query</span>)
687
+ 231: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">query</span>
688
+ 232: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span>[<span class="ruby-value str">'flags'</span>, <span class="ruby-value">0</span>].<span class="ruby-identifier">include</span>(<span class="ruby-ivar">@operand1</span>) <span class="ruby-operator">?</span> <span class="ruby-value str">'true'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'false'</span>
689
+ 233: <span class="ruby-keyword kw">else</span>
690
+ 234: <span class="ruby-ivar">@operand1</span>
691
+ 235: <span class="ruby-keyword kw">end</span>
692
+ 236: <span class="ruby-keyword kw">end</span></pre>
687
693
  </div>
688
694
 
689
695
  </div>
@@ -155,6 +155,8 @@
155
155
 
156
156
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
157
157
 
158
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
159
+
158
160
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
159
161
 
160
162
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -233,6 +235,8 @@
233
235
 
234
236
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
235
237
 
238
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
239
+
236
240
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
237
241
 
238
242
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -265,6 +269,8 @@
265
269
 
266
270
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
267
271
 
272
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
273
+
268
274
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
269
275
 
270
276
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -545,6 +551,8 @@
545
551
 
546
552
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
547
553
 
554
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
555
+
548
556
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
549
557
 
550
558
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -571,8 +579,6 @@
571
579
 
572
580
  <li><a href="../String.html">String</a></li>
573
581
 
574
- <li><a href="../StringIO.html">StringIO</a></li>
575
-
576
582
  </ul>
577
583
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
578
584
  </div>
@@ -668,20 +674,20 @@ Create a new <a href="LogicalFunction.html">LogicalFunction</a>.
668
674
  <div class="method-source-code"
669
675
  id="new-source">
670
676
  <pre>
671
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 39</span>
672
- 39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">opnd</span>)
673
- 40: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opnd</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">__</span>
674
- 41: <span class="ruby-comment cmt"># Function names with a trailing _ are like their counterparts without</span>
675
- 42: <span class="ruby-comment cmt"># the _. But during evaluation the property and the scope properties</span>
676
- 43: <span class="ruby-comment cmt"># will be switched.</span>
677
- 44: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">opnd</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>]
678
- 45: <span class="ruby-ivar">@invertProperties</span> = <span class="ruby-keyword kw">true</span>
679
- 46: <span class="ruby-keyword kw">else</span>
680
- 47: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">opnd</span>
681
- 48: <span class="ruby-ivar">@invertProperties</span> = <span class="ruby-keyword kw">false</span>
682
- 49: <span class="ruby-keyword kw">end</span>
683
- 50: <span class="ruby-ivar">@arguments</span> = []
684
- 51: <span class="ruby-keyword kw">end</span></pre>
677
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 40</span>
678
+ 40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">opnd</span>)
679
+ 41: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opnd</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">__</span>
680
+ 42: <span class="ruby-comment cmt"># Function names with a trailing _ are like their counterparts without</span>
681
+ 43: <span class="ruby-comment cmt"># the _. But during evaluation the property and the scope properties</span>
682
+ 44: <span class="ruby-comment cmt"># will be switched.</span>
683
+ 45: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">opnd</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>]
684
+ 46: <span class="ruby-ivar">@invertProperties</span> = <span class="ruby-keyword kw">true</span>
685
+ 47: <span class="ruby-keyword kw">else</span>
686
+ 48: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">opnd</span>
687
+ 49: <span class="ruby-ivar">@invertProperties</span> = <span class="ruby-keyword kw">false</span>
688
+ 50: <span class="ruby-keyword kw">end</span>
689
+ 51: <span class="ruby-ivar">@arguments</span> = []
690
+ 52: <span class="ruby-keyword kw">end</span></pre>
685
691
  </div>
686
692
 
687
693
  </div>
@@ -720,11 +726,11 @@ Evaluate the function by calling it with the arguments.
720
726
  <div class="method-source-code"
721
727
  id="eval-source">
722
728
  <pre>
723
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 71</span>
724
- 71: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)
725
- 72: <span class="ruby-comment cmt"># Call the function and return the result.</span>
726
- 73: <span class="ruby-identifier">send</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">expr</span>, <span class="ruby-ivar">@arguments</span>)
727
- 74: <span class="ruby-keyword kw">end</span></pre>
729
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 72</span>
730
+ 72: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)
731
+ 73: <span class="ruby-comment cmt"># Call the function and return the result.</span>
732
+ 74: <span class="ruby-identifier">send</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">expr</span>, <span class="ruby-ivar">@arguments</span>)
733
+ 75: <span class="ruby-keyword kw">end</span></pre>
728
734
  </div>
729
735
 
730
736
  </div>
@@ -759,20 +765,20 @@ function and the number of arguments match this function. If not, return an
759
765
  <div class="method-source-code"
760
766
  id="set-rguments-nd-heck-source">
761
767
  <pre>
762
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 56</span>
763
- 56: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setArgumentsAndCheck</span>(<span class="ruby-identifier">args</span>)
764
- 57: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">@@functions</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@name</span>)
765
- 58: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value str">'unknown_function'</span>,
766
- 59: <span class="ruby-node">&quot;Unknown function #{@name} used in logical expression.&quot;</span> ]
767
- 60: <span class="ruby-keyword kw">end</span>
768
- 61: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">@@functions</span>[<span class="ruby-ivar">@name</span>] <span class="ruby-operator">!=</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span>
769
- 62: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value str">'wrong_no_func_arguments'</span>,
770
- 63: <span class="ruby-node">&quot;Wrong number of arguments for function #{@name}. Got &quot;</span> <span class="ruby-operator">+</span>
771
- 64: <span class="ruby-node">&quot;#{args.length} instead of #{@@functions[@name]}.&quot;</span> ]
772
- 65: <span class="ruby-keyword kw">end</span>
773
- 66: <span class="ruby-ivar">@arguments</span> = <span class="ruby-identifier">args</span>
774
- 67: <span class="ruby-keyword kw">nil</span>
775
- 68: <span class="ruby-keyword kw">end</span></pre>
768
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 57</span>
769
+ 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setArgumentsAndCheck</span>(<span class="ruby-identifier">args</span>)
770
+ 58: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">@@functions</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@name</span>)
771
+ 59: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value str">'unknown_function'</span>,
772
+ 60: <span class="ruby-node">&quot;Unknown function #{@name} used in logical expression.&quot;</span> ]
773
+ 61: <span class="ruby-keyword kw">end</span>
774
+ 62: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">@@functions</span>[<span class="ruby-ivar">@name</span>] <span class="ruby-operator">!=</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span>
775
+ 63: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value str">'wrong_no_func_arguments'</span>,
776
+ 64: <span class="ruby-node">&quot;Wrong number of arguments for function #{@name}. Got &quot;</span> <span class="ruby-operator">+</span>
777
+ 65: <span class="ruby-node">&quot;#{args.length} instead of #{@@functions[@name]}.&quot;</span> ]
778
+ 66: <span class="ruby-keyword kw">end</span>
779
+ 67: <span class="ruby-ivar">@arguments</span> = <span class="ruby-identifier">args</span>
780
+ 68: <span class="ruby-keyword kw">nil</span>
781
+ 69: <span class="ruby-keyword kw">end</span></pre>
776
782
  </div>
777
783
 
778
784
  </div>
@@ -805,10 +811,10 @@ Return a textual expression of the function call.
805
811
  <div class="method-source-code"
806
812
  id="to-s-source">
807
813
  <pre>
808
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 77</span>
809
- 77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
810
- 78: <span class="ruby-node">&quot;#{@name}(#{@arguments.join(', ')})&quot;</span>
811
- 79: <span class="ruby-keyword kw">end</span></pre>
814
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 78</span>
815
+ 78: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
816
+ 79: <span class="ruby-node">&quot;#{@name}(#{@arguments.join(', ')})&quot;</span>
817
+ 80: <span class="ruby-keyword kw">end</span></pre>
812
818
  </div>
813
819
 
814
820
  </div>
@@ -845,14 +851,14 @@ Return a textual expression of the function call.
845
851
  <div class="method-source-code"
846
852
  id="hasalert-source">
847
853
  <pre>
848
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 93</span>
849
- 93: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hasalert</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
850
- 94: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
851
- 95: <span class="ruby-identifier">query</span> = <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>
852
- 96: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>
853
- 97: <span class="ruby-operator">!</span><span class="ruby-identifier">project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">currentEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-identifier">property</span>,
854
- 98: <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>).<span class="ruby-identifier">empty?</span>
855
- 99: <span class="ruby-keyword kw">end</span></pre>
854
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 94</span>
855
+ 94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hasalert</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
856
+ 95: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
857
+ 96: <span class="ruby-identifier">query</span> = <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>
858
+ 97: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>
859
+ 98: <span class="ruby-operator">!</span><span class="ruby-identifier">project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">currentEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-identifier">property</span>,
860
+ 99: <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>).<span class="ruby-identifier">empty?</span>
861
+ 100: <span class="ruby-keyword kw">end</span></pre>
856
862
  </div>
857
863
 
858
864
  </div>
@@ -883,22 +889,22 @@ Return a textual expression of the function call.
883
889
  <div class="method-source-code"
884
890
  id="isactive-source">
885
891
  <pre>
886
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 101</span>
887
- 101: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isactive</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
888
- 102: <span class="ruby-identifier">property</span>, <span class="ruby-identifier">scopeProperty</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)
889
- 103: <span class="ruby-comment cmt"># The result can only be true when called for a Task property.</span>
890
- 104: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>) <span class="ruby-operator">||</span>
891
- 105: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Resource</span>)
892
- 106: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>
893
- 107: <span class="ruby-comment cmt"># 1st arg must be a scenario index.</span>
894
- 108: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
895
- 109: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Unknown scenario '#{args[0]}' used for function isactive()&quot;</span>)
896
- 110: <span class="ruby-keyword kw">end</span>
897
- 111:
898
- 112: <span class="ruby-identifier">query</span> = <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>
899
- 113: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">getAllocatedTime</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>,
900
- 114: <span class="ruby-identifier">scopeProperty</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-value">0.0</span>
901
- 115: <span class="ruby-keyword kw">end</span></pre>
892
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 102</span>
893
+ 102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isactive</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
894
+ 103: <span class="ruby-identifier">property</span>, <span class="ruby-identifier">scopeProperty</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)
895
+ 104: <span class="ruby-comment cmt"># The result can only be true when called for a Task property.</span>
896
+ 105: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>) <span class="ruby-operator">||</span>
897
+ 106: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Resource</span>)
898
+ 107: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>
899
+ 108: <span class="ruby-comment cmt"># 1st arg must be a scenario index.</span>
900
+ 109: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
901
+ 110: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Unknown scenario '#{args[0]}' used for function isactive()&quot;</span>)
902
+ 111: <span class="ruby-keyword kw">end</span>
903
+ 112:
904
+ 113: <span class="ruby-identifier">query</span> = <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>
905
+ 114: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">getAllocatedTime</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>,
906
+ 115: <span class="ruby-identifier">scopeProperty</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-value">0.0</span>
907
+ 116: <span class="ruby-keyword kw">end</span></pre>
902
908
  </div>
903
909
 
904
910
  </div>
@@ -929,21 +935,21 @@ Return a textual expression of the function call.
929
935
  <div class="method-source-code"
930
936
  id="isdependencyof-source">
931
937
  <pre>
932
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 117</span>
933
- 117: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isdependencyof</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
934
- 118: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
935
- 119: <span class="ruby-comment cmt"># The result can only be true when called for a Task property.</span>
936
- 120: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
937
- 121: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>
938
- 122: <span class="ruby-comment cmt"># 1st arg must be a task ID.</span>
939
- 123: <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">task</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">task</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
940
- 124: <span class="ruby-comment cmt"># 2nd arg must be a scenario index.</span>
941
- 125: <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">scenarioIdx</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>])).<span class="ruby-identifier">nil?</span>
942
- 126: <span class="ruby-comment cmt"># 3rd arg must be an integer number.</span>
943
- 127: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">2</span>].<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>)
944
- 128:
945
- 129: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">isDependencyOf</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">args</span>[<span class="ruby-value">2</span>])
946
- 130: <span class="ruby-keyword kw">end</span></pre>
938
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 118</span>
939
+ 118: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isdependencyof</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
940
+ 119: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
941
+ 120: <span class="ruby-comment cmt"># The result can only be true when called for a Task property.</span>
942
+ 121: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
943
+ 122: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>
944
+ 123: <span class="ruby-comment cmt"># 1st arg must be a task ID.</span>
945
+ 124: <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">task</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">task</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
946
+ 125: <span class="ruby-comment cmt"># 2nd arg must be a scenario index.</span>
947
+ 126: <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">scenarioIdx</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>])).<span class="ruby-identifier">nil?</span>
948
+ 127: <span class="ruby-comment cmt"># 3rd arg must be an integer number.</span>
949
+ 128: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">2</span>].<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>)
950
+ 129:
951
+ 130: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">isDependencyOf</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">args</span>[<span class="ruby-value">2</span>])
952
+ 131: <span class="ruby-keyword kw">end</span></pre>
947
953
  </div>
948
954
 
949
955
  </div>
@@ -974,19 +980,19 @@ Return a textual expression of the function call.
974
980
  <div class="method-source-code"
975
981
  id="isdutyof-source">
976
982
  <pre>
977
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 132</span>
978
- 132: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isdutyof</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
979
- 133: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
980
- 134: <span class="ruby-comment cmt"># The result can only be true when called for a Task property.</span>
981
- 135: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">task</span> = <span class="ruby-identifier">property</span>).<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
982
- 136: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">task</span>.<span class="ruby-identifier">project</span>
983
- 137: <span class="ruby-comment cmt"># 1st arg must be a resource ID.</span>
984
- 138: <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">resource</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">resource</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
985
- 139: <span class="ruby-comment cmt"># 2nd arg must be a scenario index.</span>
986
- 140: <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">scenarioIdx</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>])).<span class="ruby-identifier">nil?</span>
987
- 141:
988
- 142: <span class="ruby-identifier">task</span>[<span class="ruby-value str">'assignedresources'</span>, <span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">resource</span>)
989
- 143: <span class="ruby-keyword kw">end</span></pre>
983
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 133</span>
984
+ 133: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isdutyof</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
985
+ 134: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
986
+ 135: <span class="ruby-comment cmt"># The result can only be true when called for a Task property.</span>
987
+ 136: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">task</span> = <span class="ruby-identifier">property</span>).<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
988
+ 137: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">task</span>.<span class="ruby-identifier">project</span>
989
+ 138: <span class="ruby-comment cmt"># 1st arg must be a resource ID.</span>
990
+ 139: <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">resource</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">resource</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
991
+ 140: <span class="ruby-comment cmt"># 2nd arg must be a scenario index.</span>
992
+ 141: <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">scenarioIdx</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>])).<span class="ruby-identifier">nil?</span>
993
+ 142:
994
+ 143: <span class="ruby-identifier">task</span>[<span class="ruby-value str">'assignedresources'</span>, <span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">resource</span>)
995
+ 144: <span class="ruby-keyword kw">end</span></pre>
990
996
  </div>
991
997
 
992
998
  </div>
@@ -1017,19 +1023,19 @@ Return a textual expression of the function call.
1017
1023
  <div class="method-source-code"
1018
1024
  id="isfeatureof-source">
1019
1025
  <pre>
1020
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 145</span>
1021
- 145: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isfeatureof</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1022
- 146: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1023
- 147: <span class="ruby-comment cmt"># The result can only be true when called for a Task property.</span>
1024
- 148: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
1025
- 149: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>
1026
- 150: <span class="ruby-comment cmt"># 1st arg must be a task ID.</span>
1027
- 151: <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">task</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">task</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
1028
- 152: <span class="ruby-comment cmt"># 2nd arg must be a scenario index.</span>
1029
- 153: <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">scenarioIdx</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>])).<span class="ruby-identifier">nil?</span>
1030
- 154:
1031
- 155: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">isFeatureOf</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">task</span>)
1032
- 156: <span class="ruby-keyword kw">end</span></pre>
1026
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 146</span>
1027
+ 146: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isfeatureof</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1028
+ 147: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1029
+ 148: <span class="ruby-comment cmt"># The result can only be true when called for a Task property.</span>
1030
+ 149: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
1031
+ 150: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">project</span>
1032
+ 151: <span class="ruby-comment cmt"># 1st arg must be a task ID.</span>
1033
+ 152: <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">task</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">task</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
1034
+ 153: <span class="ruby-comment cmt"># 2nd arg must be a scenario index.</span>
1035
+ 154: <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">scenarioIdx</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>])).<span class="ruby-identifier">nil?</span>
1036
+ 155:
1037
+ 156: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">isFeatureOf</span>(<span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-identifier">task</span>)
1038
+ 157: <span class="ruby-keyword kw">end</span></pre>
1033
1039
  </div>
1034
1040
 
1035
1041
  </div>
@@ -1060,12 +1066,12 @@ Return a textual expression of the function call.
1060
1066
  <div class="method-source-code"
1061
1067
  id="isleaf-source">
1062
1068
  <pre>
1063
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 158</span>
1064
- 158: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isleaf</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1065
- 159: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1066
- 160: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>
1067
- 161: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">leaf?</span>
1068
- 162: <span class="ruby-keyword kw">end</span></pre>
1069
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 159</span>
1070
+ 159: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isleaf</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1071
+ 160: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1072
+ 161: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>
1073
+ 162: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">leaf?</span>
1074
+ 163: <span class="ruby-keyword kw">end</span></pre>
1069
1075
  </div>
1070
1076
 
1071
1077
  </div>
@@ -1096,28 +1102,28 @@ Return a textual expression of the function call.
1096
1102
  <div class="method-source-code"
1097
1103
  id="isongoing-source">
1098
1104
  <pre>
1099
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 164</span>
1100
- 164: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isongoing</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1101
- 165: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1102
- 166: <span class="ruby-comment cmt"># The result can only be true when called for a Task property.</span>
1103
- 167: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">task</span> = <span class="ruby-identifier">property</span>).<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
1104
- 168: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">task</span>.<span class="ruby-identifier">project</span>
1105
- 169: <span class="ruby-comment cmt"># 1st arg must be a scenario index.</span>
1106
- 170: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
1107
- 171: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Unknown scenario '#{args[0]}' used for function &quot;</span> <span class="ruby-operator">+</span>
1108
- 172: <span class="ruby-value str">&quot;isongoing()&quot;</span>)
1109
- 173: <span class="ruby-keyword kw">end</span>
1110
- 174:
1111
- 175: <span class="ruby-identifier">query</span> = <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>
1112
- 176: <span class="ruby-identifier">iv1</span> = <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>)
1113
- 177: <span class="ruby-identifier">tStart</span> = <span class="ruby-identifier">task</span>[<span class="ruby-value str">'start'</span>, <span class="ruby-identifier">scenarioIdx</span>]
1114
- 178: <span class="ruby-identifier">tEnd</span> = <span class="ruby-identifier">task</span>[<span class="ruby-value str">'end'</span>, <span class="ruby-identifier">scenarioIdx</span>]
1115
- 179: <span class="ruby-comment cmt"># This helps to show tasks with scheduling errors.</span>
1116
- 180: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">tStart</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">tEnd</span>
1117
- 181: <span class="ruby-identifier">iv2</span> = <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">tStart</span>, <span class="ruby-identifier">tEnd</span>)
1118
- 182:
1119
- 183: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">iv1</span>.<span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">iv2</span>)
1120
- 184: <span class="ruby-keyword kw">end</span></pre>
1105
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 165</span>
1106
+ 165: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isongoing</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1107
+ 166: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1108
+ 167: <span class="ruby-comment cmt"># The result can only be true when called for a Task property.</span>
1109
+ 168: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">task</span> = <span class="ruby-identifier">property</span>).<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
1110
+ 169: <span class="ruby-identifier">project</span> = <span class="ruby-identifier">task</span>.<span class="ruby-identifier">project</span>
1111
+ 170: <span class="ruby-comment cmt"># 1st arg must be a scenario index.</span>
1112
+ 171: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])).<span class="ruby-identifier">nil?</span>
1113
+ 172: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Unknown scenario '#{args[0]}' used for function &quot;</span> <span class="ruby-operator">+</span>
1114
+ 173: <span class="ruby-value str">&quot;isongoing()&quot;</span>)
1115
+ 174: <span class="ruby-keyword kw">end</span>
1116
+ 175:
1117
+ 176: <span class="ruby-identifier">query</span> = <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>
1118
+ 177: <span class="ruby-identifier">iv1</span> = <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>, <span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>)
1119
+ 178: <span class="ruby-identifier">tStart</span> = <span class="ruby-identifier">task</span>[<span class="ruby-value str">'start'</span>, <span class="ruby-identifier">scenarioIdx</span>]
1120
+ 179: <span class="ruby-identifier">tEnd</span> = <span class="ruby-identifier">task</span>[<span class="ruby-value str">'end'</span>, <span class="ruby-identifier">scenarioIdx</span>]
1121
+ 180: <span class="ruby-comment cmt"># This helps to show tasks with scheduling errors.</span>
1122
+ 181: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">tStart</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">tEnd</span>
1123
+ 182: <span class="ruby-identifier">iv2</span> = <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">tStart</span>, <span class="ruby-identifier">tEnd</span>)
1124
+ 183:
1125
+ 184: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">iv1</span>.<span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">iv2</span>)
1126
+ 185: <span class="ruby-keyword kw">end</span></pre>
1121
1127
  </div>
1122
1128
 
1123
1129
  </div>
@@ -1148,12 +1154,12 @@ Return a textual expression of the function call.
1148
1154
  <div class="method-source-code"
1149
1155
  id="isresource-source">
1150
1156
  <pre>
1151
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 186</span>
1152
- 186: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isresource</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1153
- 187: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1154
- 188: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>
1155
- 189: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Resource</span>)
1156
- 190: <span class="ruby-keyword kw">end</span></pre>
1157
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 187</span>
1158
+ 187: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isresource</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1159
+ 188: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1160
+ 189: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>
1161
+ 190: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Resource</span>)
1162
+ 191: <span class="ruby-keyword kw">end</span></pre>
1157
1163
  </div>
1158
1164
 
1159
1165
  </div>
@@ -1184,12 +1190,12 @@ Return a textual expression of the function call.
1184
1190
  <div class="method-source-code"
1185
1191
  id="istask-source">
1186
1192
  <pre>
1187
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 192</span>
1188
- 192: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">istask</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1189
- 193: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1190
- 194: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>
1191
- 195: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
1192
- 196: <span class="ruby-keyword kw">end</span></pre>
1193
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 193</span>
1194
+ 193: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">istask</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1195
+ 194: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1196
+ 195: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>
1197
+ 196: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Task</span>)
1198
+ 197: <span class="ruby-keyword kw">end</span></pre>
1193
1199
  </div>
1194
1200
 
1195
1201
  </div>
@@ -1223,14 +1229,14 @@ Return the property and scope property as determined by the
1223
1229
  <div class="method-source-code"
1224
1230
  id="properties-source">
1225
1231
  <pre>
1226
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 85</span>
1227
- 85: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)
1228
- 86: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@invertProperties</span>
1229
- 87: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span>, <span class="ruby-keyword kw">nil</span>
1230
- 88: <span class="ruby-keyword kw">else</span>
1231
- 89: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span>, <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span>
1232
- 90: <span class="ruby-keyword kw">end</span>
1233
- 91: <span class="ruby-keyword kw">end</span></pre>
1232
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 86</span>
1233
+ 86: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)
1234
+ 87: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@invertProperties</span>
1235
+ 88: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span>, <span class="ruby-keyword kw">nil</span>
1236
+ 89: <span class="ruby-keyword kw">else</span>
1237
+ 90: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span>, <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span>
1238
+ 91: <span class="ruby-keyword kw">end</span>
1239
+ 92: <span class="ruby-keyword kw">end</span></pre>
1234
1240
  </div>
1235
1241
 
1236
1242
  </div>
@@ -1261,12 +1267,12 @@ Return the property and scope property as determined by the
1261
1267
  <div class="method-source-code"
1262
1268
  id="treelevel-source">
1263
1269
  <pre>
1264
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 198</span>
1265
- 198: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">treelevel</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1266
- 199: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1267
- 200: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>
1268
- 201: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">level</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1269
- 202: <span class="ruby-keyword kw">end</span></pre>
1270
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 199</span>
1271
+ 199: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">treelevel</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">args</span>)
1272
+ 200: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">properties</span>(<span class="ruby-identifier">expr</span>)[<span class="ruby-value">0</span>]
1273
+ 201: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">property</span>
1274
+ 202: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">level</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1275
+ 203: <span class="ruby-keyword kw">end</span></pre>
1270
1276
  </div>
1271
1277
 
1272
1278
  </div>