taskjuggler 0.0.5 → 0.0.6

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 (544) hide show
  1. data/CHANGELOG +2086 -0
  2. data/benchmarks/666tasks.tjp +3183 -0
  3. data/benchmarks/booking.tjp +14 -10
  4. data/doc/AppConfig.html +95 -73
  5. data/doc/Arguments.html +22 -2
  6. data/doc/CHANGELOG.html +2587 -0
  7. data/doc/COPYING.html +21 -1
  8. data/doc/Object.html +161 -122
  9. data/doc/README.html +21 -1
  10. data/doc/RuntimeConfig.html +26 -6
  11. data/doc/String.html +38 -18
  12. data/doc/StringIO.html +579 -0
  13. data/doc/TaskJuggler.html +251 -143
  14. data/doc/TaskJuggler/Account.html +26 -6
  15. data/doc/TaskJuggler/AccountAttribute.html +28 -8
  16. data/doc/TaskJuggler/AccountScenario.html +24 -4
  17. data/doc/TaskJuggler/Allocation.html +30 -10
  18. data/doc/TaskJuggler/AllocationAttribute.html +28 -8
  19. data/doc/TaskJuggler/AttributeBase.html +46 -26
  20. data/doc/TaskJuggler/AttributeDefinition.html +22 -2
  21. data/doc/TaskJuggler/BatchProcessor.html +40 -20
  22. data/doc/TaskJuggler/Booking.html +26 -6
  23. data/doc/TaskJuggler/BookingListAttribute.html +28 -8
  24. data/doc/TaskJuggler/BooleanAttribute.html +28 -8
  25. data/doc/TaskJuggler/CSVFile.html +308 -146
  26. data/doc/TaskJuggler/CellSettingPattern.html +22 -2
  27. data/doc/TaskJuggler/CellSettingPatternList.html +26 -6
  28. data/doc/TaskJuggler/Charge.html +26 -6
  29. data/doc/TaskJuggler/ChargeListAttribute.html +26 -6
  30. data/doc/TaskJuggler/ChargeSet.html +33 -13
  31. data/doc/TaskJuggler/ChargeSetListAttribute.html +28 -8
  32. data/doc/TaskJuggler/ColumnListAttribute.html +26 -6
  33. data/doc/TaskJuggler/ColumnTable.html +24 -4
  34. data/doc/TaskJuggler/Daemon.html +26 -6
  35. data/doc/TaskJuggler/DateAttribute.html +26 -6
  36. data/doc/TaskJuggler/DefinitionListAttribute.html +22 -2
  37. data/doc/TaskJuggler/DependencyListAttribute.html +28 -8
  38. data/doc/TaskJuggler/DurationAttribute.html +28 -8
  39. data/doc/TaskJuggler/FixnumAttribute.html +24 -4
  40. data/doc/TaskJuggler/FlagListAttribute.html +28 -8
  41. data/doc/TaskJuggler/FloatAttribute.html +26 -6
  42. data/doc/TaskJuggler/FormatListAttribute.html +24 -4
  43. data/doc/TaskJuggler/GanttChart.html +147 -126
  44. data/doc/TaskJuggler/GanttContainer.html +34 -14
  45. data/doc/TaskJuggler/GanttHeader.html +28 -8
  46. data/doc/TaskJuggler/GanttHeaderScaleItem.html +24 -4
  47. data/doc/TaskJuggler/GanttLine.html +38 -18
  48. data/doc/TaskJuggler/GanttLoadStack.html +26 -6
  49. data/doc/TaskJuggler/GanttMilestone.html +34 -14
  50. data/doc/TaskJuggler/GanttRouter.html +50 -30
  51. data/doc/TaskJuggler/GanttTaskBar.html +34 -14
  52. data/doc/TaskJuggler/HTMLDocument.html +26 -6
  53. data/doc/TaskJuggler/HTMLGraphics.html +30 -10
  54. data/doc/TaskJuggler/Interval.html +40 -22
  55. data/doc/TaskJuggler/IntervalListAttribute.html +28 -8
  56. data/doc/TaskJuggler/JobInfo.html +24 -4
  57. data/doc/TaskJuggler/Journal.html +226 -147
  58. data/doc/TaskJuggler/JournalEntry.html +22 -2
  59. data/doc/TaskJuggler/JournalEntryList.html +129 -112
  60. data/doc/TaskJuggler/KeywordArray.html +26 -6
  61. data/doc/TaskJuggler/KeywordDocumentation.html +46 -26
  62. data/doc/TaskJuggler/Limits.html +152 -123
  63. data/doc/TaskJuggler/Limits/Limit.html +149 -70
  64. data/doc/TaskJuggler/LimitsAttribute.html +36 -51
  65. data/doc/TaskJuggler/ListAttributeBase.html +24 -4
  66. data/doc/TaskJuggler/Log.html +50 -32
  67. data/doc/TaskJuggler/LogFile.html +37 -17
  68. data/doc/TaskJuggler/LogicalAttribute.html +53 -33
  69. data/doc/TaskJuggler/LogicalExpression.html +26 -6
  70. data/doc/TaskJuggler/LogicalExpressionAttribute.html +32 -12
  71. data/doc/TaskJuggler/LogicalFlag.html +42 -22
  72. data/doc/TaskJuggler/LogicalFunction.html +204 -140
  73. data/doc/TaskJuggler/LogicalOperation.html +135 -111
  74. data/doc/TaskJuggler/Macro.html +22 -2
  75. data/doc/TaskJuggler/MacroParser.html +32 -12
  76. data/doc/TaskJuggler/MacroTable.html +32 -12
  77. data/doc/TaskJuggler/ManagerResponsibilities.html +24 -4
  78. data/doc/TaskJuggler/ManagerStatusRecord.html +24 -4
  79. data/doc/TaskJuggler/Message.html +24 -4
  80. data/doc/TaskJuggler/MessageHandler.html +24 -4
  81. data/doc/TaskJuggler/Navigator.html +104 -71
  82. data/doc/TaskJuggler/NavigatorElement.html +32 -12
  83. data/doc/TaskJuggler/NikuProject.html +22 -2
  84. data/doc/TaskJuggler/NikuReport.html +310 -228
  85. data/doc/TaskJuggler/NikuResource.html +22 -2
  86. data/doc/TaskJuggler/NodeListAttribute.html +615 -0
  87. data/doc/TaskJuggler/OnShiftCache.html +32 -12
  88. data/doc/TaskJuggler/ProcessIntercom.html +205 -78
  89. data/doc/TaskJuggler/ProcessIntercomIface.html +26 -6
  90. data/doc/TaskJuggler/Project.html +708 -660
  91. data/doc/TaskJuggler/ProjectBroker.html +506 -304
  92. data/doc/TaskJuggler/ProjectBrokerIface.html +61 -41
  93. data/doc/TaskJuggler/ProjectFileParser.html +429 -373
  94. data/doc/TaskJuggler/ProjectFileScanner.html +1790 -0
  95. data/doc/TaskJuggler/ProjectRecord.html +80 -60
  96. data/doc/TaskJuggler/ProjectServer.html +312 -237
  97. data/doc/TaskJuggler/ProjectServerIface.html +101 -43
  98. data/doc/TaskJuggler/PropertyAttribute.html +32 -12
  99. data/doc/TaskJuggler/PropertyList.html +166 -145
  100. data/doc/TaskJuggler/PropertySet.html +254 -224
  101. data/doc/TaskJuggler/PropertyTreeNode.html +670 -536
  102. data/doc/TaskJuggler/Query.html +169 -148
  103. data/doc/TaskJuggler/RTFHandlers.html +622 -0
  104. data/doc/TaskJuggler/RTFNavigator.html +28 -8
  105. data/doc/TaskJuggler/RTFQuery.html +40 -20
  106. data/doc/TaskJuggler/RTFReport.html +62 -25
  107. data/doc/TaskJuggler/RTFReportLink.html +765 -0
  108. data/doc/TaskJuggler/RealFormat.html +26 -6
  109. data/doc/TaskJuggler/RealFormatAttribute.html +26 -6
  110. data/doc/TaskJuggler/ReferenceAttribute.html +59 -39
  111. data/doc/TaskJuggler/Report.html +402 -251
  112. data/doc/TaskJuggler/ReportBase.html +162 -137
  113. data/doc/TaskJuggler/ReportContext.html +112 -29
  114. data/doc/TaskJuggler/ReportServer.html +89 -64
  115. data/doc/TaskJuggler/ReportServerIface.html +75 -55
  116. data/doc/TaskJuggler/ReportServerRecord.html +54 -31
  117. data/doc/TaskJuggler/ReportServlet.html +980 -0
  118. data/doc/TaskJuggler/ReportTable.html +41 -21
  119. data/doc/TaskJuggler/ReportTableCell.html +214 -170
  120. data/doc/TaskJuggler/ReportTableColumn.html +30 -10
  121. data/doc/TaskJuggler/ReportTableLegend.html +36 -16
  122. data/doc/TaskJuggler/ReportTableLine.html +32 -12
  123. data/doc/TaskJuggler/Resource.html +99 -87
  124. data/doc/TaskJuggler/ResourceListAttribute.html +59 -39
  125. data/doc/TaskJuggler/ResourceListRE.html +47 -26
  126. data/doc/TaskJuggler/ResourceScenario.html +403 -437
  127. data/doc/TaskJuggler/RichText.html +26 -6
  128. data/doc/TaskJuggler/RichTextAttribute.html +50 -30
  129. data/doc/TaskJuggler/RichTextDocument.html +37 -17
  130. data/doc/TaskJuggler/RichTextElement.html +475 -413
  131. data/doc/TaskJuggler/RichTextException.html +22 -2
  132. data/doc/TaskJuggler/RichTextFunctionExample.html +28 -8
  133. data/doc/TaskJuggler/RichTextFunctionHandler.html +24 -4
  134. data/doc/TaskJuggler/RichTextImage.html +22 -2
  135. data/doc/TaskJuggler/RichTextIntermediate.html +38 -18
  136. data/doc/TaskJuggler/RichTextParser.html +56 -34
  137. data/doc/TaskJuggler/RichTextScanner.html +82 -61
  138. data/doc/TaskJuggler/RichTextSnip.html +34 -14
  139. data/doc/TaskJuggler/RichTextSyntaxRules.html +507 -353
  140. data/doc/TaskJuggler/Scenario.html +22 -2
  141. data/doc/TaskJuggler/ScenarioData.html +30 -46
  142. data/doc/TaskJuggler/ScenarioListAttribute.html +38 -18
  143. data/doc/TaskJuggler/Scoreboard.html +42 -22
  144. data/doc/TaskJuggler/SheetHandlerBase.html +40 -20
  145. data/doc/TaskJuggler/SheetReceiver.html +333 -295
  146. data/doc/TaskJuggler/SheetSender.html +253 -230
  147. data/doc/TaskJuggler/Shift.html +26 -6
  148. data/doc/TaskJuggler/ShiftAssignment.html +89 -73
  149. data/doc/TaskJuggler/ShiftAssignments.html +226 -234
  150. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +39 -54
  151. data/doc/TaskJuggler/ShiftScenario.html +28 -8
  152. data/doc/TaskJuggler/SortListAttribute.html +34 -14
  153. data/doc/TaskJuggler/SourceFileInfo.html +24 -4
  154. data/doc/TaskJuggler/StatusSheetReceiver.html +24 -3
  155. data/doc/TaskJuggler/StatusSheetReport.html +168 -153
  156. data/doc/TaskJuggler/StatusSheetSender.html +24 -3
  157. data/doc/TaskJuggler/StringAttribute.html +38 -18
  158. data/doc/TaskJuggler/SymbolAttribute.html +32 -12
  159. data/doc/TaskJuggler/SyntaxReference.html +40 -20
  160. data/doc/TaskJuggler/TOCEntry.html +26 -6
  161. data/doc/TaskJuggler/TSResourceRecord.html +22 -2
  162. data/doc/TaskJuggler/TSTaskRecord.html +22 -2
  163. data/doc/TaskJuggler/TableColumnDefinition.html +59 -22
  164. data/doc/TaskJuggler/TableOfContents.html +26 -6
  165. data/doc/TaskJuggler/TableReport.html +937 -904
  166. data/doc/TaskJuggler/Task.html +55 -36
  167. data/doc/TaskJuggler/TaskDependency.html +24 -4
  168. data/doc/TaskJuggler/TaskListAttribute.html +50 -30
  169. data/doc/TaskJuggler/TaskListRE.html +27 -7
  170. data/doc/TaskJuggler/TaskScenario.html +1273 -1153
  171. data/doc/TaskJuggler/TextFormatter.html +28 -8
  172. data/doc/TaskJuggler/TextParser.html +585 -338
  173. data/doc/TaskJuggler/TextParser/Pattern.html +54 -34
  174. data/doc/TaskJuggler/TextParser/Rule.html +95 -73
  175. data/doc/TaskJuggler/TextParser/StackElement.html +39 -17
  176. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +24 -4
  177. data/doc/TaskJuggler/TextParser/TokenDoc.html +22 -2
  178. data/doc/TaskJuggler/TextReport.html +28 -8
  179. data/doc/TaskJuggler/TextScanner.html +400 -1404
  180. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +28 -240
  181. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +37 -184
  182. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +682 -0
  183. data/doc/TaskJuggler/TextScanner/StreamHandle.html +342 -67
  184. data/doc/TaskJuggler/TimeSheet.html +48 -28
  185. data/doc/TaskJuggler/TimeSheetReceiver.html +24 -3
  186. data/doc/TaskJuggler/TimeSheetRecord.html +47 -27
  187. data/doc/TaskJuggler/TimeSheetReport.html +154 -133
  188. data/doc/TaskJuggler/TimeSheetSender.html +24 -3
  189. data/doc/TaskJuggler/TimeSheetSummary.html +137 -91
  190. data/doc/TaskJuggler/TimeSheets.html +26 -6
  191. data/doc/TaskJuggler/Tj3AppBase.html +85 -58
  192. data/doc/TaskJuggler/Tj3Client.html +292 -238
  193. data/doc/TaskJuggler/Tj3Daemon.html +159 -74
  194. data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -6
  195. data/doc/TaskJuggler/Tj3SsReceiver.html +26 -6
  196. data/doc/TaskJuggler/Tj3SsSender.html +53 -26
  197. data/doc/TaskJuggler/Tj3TsReceiver.html +28 -7
  198. data/doc/TaskJuggler/Tj3TsSender.html +26 -6
  199. data/doc/TaskJuggler/Tj3TsSummary.html +26 -6
  200. data/doc/TaskJuggler/TjException.html +22 -2
  201. data/doc/TaskJuggler/TjTime.html +216 -160
  202. data/doc/TaskJuggler/TjpExample.html +34 -14
  203. data/doc/TaskJuggler/TjpExportRE.html +403 -407
  204. data/doc/TaskJuggler/TjpSyntaxRules.html +4805 -4408
  205. data/doc/TaskJuggler/URLParameter.html +649 -0
  206. data/doc/TaskJuggler/UserManual.html +42 -22
  207. data/doc/TaskJuggler/WebServer.html +702 -0
  208. data/doc/TaskJuggler/WorkingHours.html +38 -18
  209. data/doc/TaskJuggler/WorkingHoursAttribute.html +61 -41
  210. data/doc/TaskJuggler/XMLBlob.html +24 -4
  211. data/doc/TaskJuggler/XMLComment.html +24 -4
  212. data/doc/TaskJuggler/XMLDocument.html +30 -10
  213. data/doc/TaskJuggler/XMLElement.html +34 -14
  214. data/doc/TaskJuggler/XMLNamedText.html +22 -2
  215. data/doc/TaskJuggler/XMLText.html +24 -4
  216. data/doc/index.html +1841 -1666
  217. data/doc/lib/AccountScenario_rb.html +1 -1
  218. data/doc/lib/Account_rb.html +1 -1
  219. data/doc/lib/Allocation_rb.html +1 -1
  220. data/doc/lib/AppConfig_rb.html +2 -2
  221. data/doc/lib/AttributeBase_rb.html +1 -1
  222. data/doc/lib/AttributeDefinition_rb.html +1 -1
  223. data/doc/lib/Attributes_rb.html +2 -2
  224. data/doc/lib/BatchProcessor_rb.html +1 -1
  225. data/doc/lib/Booking_rb.html +1 -1
  226. data/doc/lib/ChargeSet_rb.html +1 -1
  227. data/doc/lib/Charge_rb.html +1 -1
  228. data/doc/lib/HTMLDocument_rb.html +1 -1
  229. data/doc/lib/Interval_rb.html +1 -1
  230. data/doc/lib/Journal_rb.html +2 -2
  231. data/doc/lib/KeywordArray_rb.html +1 -1
  232. data/doc/lib/KeywordDocumentation_rb.html +1 -1
  233. data/doc/lib/Limits_rb.html +2 -2
  234. data/doc/lib/LogFile_rb.html +2 -2
  235. data/doc/lib/Log_rb.html +1 -1
  236. data/doc/lib/LogicalExpression_rb.html +1 -1
  237. data/doc/lib/LogicalFunction_rb.html +2 -2
  238. data/doc/lib/LogicalOperation_rb.html +2 -2
  239. data/doc/lib/MacroParser_rb.html +1 -1
  240. data/doc/lib/MacroTable_rb.html +1 -1
  241. data/doc/lib/MessageHandler_rb.html +1 -1
  242. data/doc/lib/Message_rb.html +1 -1
  243. data/doc/lib/ProjectFileParser_rb.html +4 -8
  244. data/doc/lib/ProjectFileScanner_rb.html +67 -0
  245. data/doc/lib/Project_rb.html +2 -2
  246. data/doc/lib/PropertyList_rb.html +2 -2
  247. data/doc/lib/PropertySet_rb.html +2 -2
  248. data/doc/lib/PropertyTreeNode_rb.html +2 -2
  249. data/doc/lib/Query_rb.html +2 -2
  250. data/doc/lib/RTFHandlers_rb.html +73 -0
  251. data/doc/lib/RTFNavigator_rb.html +1 -1
  252. data/doc/lib/RTFQuery_rb.html +1 -1
  253. data/doc/lib/RTFReportLink_rb.html +71 -0
  254. data/doc/lib/RTFReport_rb.html +2 -2
  255. data/doc/lib/RealFormat_rb.html +1 -1
  256. data/doc/lib/ResourceScenario_rb.html +2 -2
  257. data/doc/lib/Resource_rb.html +2 -2
  258. data/doc/lib/RichTextDocument_rb.html +1 -1
  259. data/doc/lib/RichTextElement_rb.html +2 -2
  260. data/doc/lib/RichTextFunctionExample_rb.html +1 -1
  261. data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
  262. data/doc/lib/RichTextParser_rb.html +2 -2
  263. data/doc/lib/RichTextScanner_rb.html +2 -2
  264. data/doc/lib/RichTextSnip_rb.html +1 -1
  265. data/doc/lib/RichTextSyntaxRules_rb.html +2 -2
  266. data/doc/lib/RichText_rb.html +1 -1
  267. data/doc/lib/RuntimeConfig_rb.html +1 -1
  268. data/doc/lib/ScenarioData_rb.html +2 -2
  269. data/doc/lib/Scenario_rb.html +1 -1
  270. data/doc/lib/Scoreboard_rb.html +1 -1
  271. data/doc/lib/SheetHandlerBase_rb.html +1 -1
  272. data/doc/lib/SheetReceiver_rb.html +2 -2
  273. data/doc/lib/SheetSender_rb.html +4 -2
  274. data/doc/lib/ShiftAssignments_rb.html +4 -2
  275. data/doc/lib/ShiftScenario_rb.html +1 -1
  276. data/doc/lib/Shift_rb.html +1 -1
  277. data/doc/lib/SourceFileInfo_rb.html +1 -1
  278. data/doc/lib/StatusSheetReceiver_rb.html +2 -2
  279. data/doc/lib/StatusSheetSender_rb.html +2 -2
  280. data/doc/lib/SyntaxReference_rb.html +1 -1
  281. data/doc/lib/TOCEntry_rb.html +1 -1
  282. data/doc/lib/TableColumnDefinition_rb.html +2 -2
  283. data/doc/lib/TableOfContents_rb.html +1 -1
  284. data/doc/lib/TaskDependency_rb.html +1 -1
  285. data/doc/lib/TaskJuggler_rb.html +2 -2
  286. data/doc/lib/TaskScenario_rb.html +2 -2
  287. data/doc/lib/Task_rb.html +2 -2
  288. data/doc/lib/TextFormatter_rb.html +1 -1
  289. data/doc/lib/TextParser/Pattern_rb.html +1 -1
  290. data/doc/lib/TextParser/Rule_rb.html +2 -2
  291. data/doc/lib/TextParser/StackElement_rb.html +2 -2
  292. data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
  293. data/doc/lib/TextParser_rb.html +2 -2
  294. data/doc/lib/TextScanner_rb.html +6 -2
  295. data/doc/lib/TimeSheetReceiver_rb.html +2 -2
  296. data/doc/lib/TimeSheetSender_rb.html +2 -2
  297. data/doc/lib/TimeSheetSummary_rb.html +2 -2
  298. data/doc/lib/TimeSheets_rb.html +2 -2
  299. data/doc/lib/Tj3AppBase_rb.html +2 -2
  300. data/doc/lib/Tj3Config_rb.html +2 -2
  301. data/doc/lib/Tj3SheetAppBase_rb.html +2 -2
  302. data/doc/lib/TjException_rb.html +1 -1
  303. data/doc/lib/TjTime_rb.html +2 -2
  304. data/doc/lib/TjpExample_rb.html +1 -1
  305. data/doc/lib/TjpSyntaxRules_rb.html +2 -2
  306. data/doc/lib/URLParameter_rb.html +67 -0
  307. data/doc/lib/UTF8String_rb.html +1 -1
  308. data/doc/lib/UserManual_rb.html +1 -1
  309. data/doc/lib/WorkingHours_rb.html +1 -1
  310. data/doc/lib/XMLDocument_rb.html +2 -2
  311. data/doc/lib/XMLElement_rb.html +1 -1
  312. data/doc/lib/daemon/Daemon_rb.html +1 -1
  313. data/doc/lib/daemon/ProcessIntercom_rb.html +2 -2
  314. data/doc/lib/daemon/ProjectBroker_rb.html +4 -2
  315. data/doc/lib/daemon/ProjectServer_rb.html +2 -2
  316. data/doc/lib/daemon/ReportServer_rb.html +2 -2
  317. data/doc/lib/daemon/WebServer_rb.html +75 -0
  318. data/doc/lib/deep_copy_rb.html +2 -2
  319. data/doc/lib/reports/CSVFile_rb.html +2 -2
  320. data/doc/lib/reports/ColumnTable_rb.html +1 -1
  321. data/doc/lib/reports/GanttChart_rb.html +2 -2
  322. data/doc/lib/reports/GanttContainer_rb.html +1 -1
  323. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
  324. data/doc/lib/reports/GanttHeader_rb.html +1 -1
  325. data/doc/lib/reports/GanttLine_rb.html +1 -1
  326. data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
  327. data/doc/lib/reports/GanttMilestone_rb.html +1 -1
  328. data/doc/lib/reports/GanttRouter_rb.html +1 -1
  329. data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
  330. data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
  331. data/doc/lib/reports/Navigator_rb.html +2 -2
  332. data/doc/lib/reports/NikuReport_rb.html +2 -2
  333. data/doc/lib/reports/ReportBase_rb.html +2 -2
  334. data/doc/lib/reports/ReportContext_rb.html +2 -2
  335. data/doc/lib/reports/ReportTableCell_rb.html +2 -2
  336. data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
  337. data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
  338. data/doc/lib/reports/ReportTableLine_rb.html +1 -1
  339. data/doc/lib/reports/ReportTable_rb.html +2 -2
  340. data/doc/lib/reports/Report_rb.html +2 -2
  341. data/doc/lib/reports/ResourceListRE_rb.html +2 -2
  342. data/doc/lib/reports/StatusSheetReport_rb.html +2 -2
  343. data/doc/lib/reports/TableReport_rb.html +2 -2
  344. data/doc/lib/reports/TaskListRE_rb.html +2 -2
  345. data/doc/lib/reports/TextReport_rb.html +1 -1
  346. data/doc/lib/reports/TimeSheetReport_rb.html +2 -2
  347. data/doc/lib/reports/TjpExportRE_rb.html +2 -2
  348. data/doc/lib/ruby-signal-bug_rb.html +1 -1
  349. data/doc/lib/taskjuggler3_rb.html +2 -2
  350. data/doc/lib/tj3client_rb.html +2 -2
  351. data/doc/lib/tj3d_rb.html +2 -2
  352. data/doc/lib/tj3man_rb.html +1 -1
  353. data/doc/lib/tj3ss_receiver_rb.html +1 -1
  354. data/doc/lib/tj3ss_sender_rb.html +2 -2
  355. data/doc/lib/tj3ts_receiver_rb.html +2 -2
  356. data/doc/lib/tj3ts_sender_rb.html +1 -1
  357. data/doc/lib/tj3ts_summary_rb.html +1 -1
  358. data/doc/rdoc.css +9 -4
  359. data/examples/tutorial.tjp +17 -15
  360. data/gem_spec.rb +3 -0
  361. data/lib/AppConfig.rb +3 -1
  362. data/lib/Attributes.rb +10 -8
  363. data/lib/Journal.rb +55 -20
  364. data/lib/Limits.rb +72 -46
  365. data/lib/LogFile.rb +3 -3
  366. data/lib/LogicalFunction.rb +19 -6
  367. data/lib/LogicalOperation.rb +5 -1
  368. data/lib/Project.rb +37 -9
  369. data/lib/ProjectFileParser.rb +25 -22
  370. data/lib/ProjectFileScanner.rb +365 -0
  371. data/lib/PropertyList.rb +2 -1
  372. data/lib/PropertySet.rb +14 -4
  373. data/lib/PropertyTreeNode.rb +42 -29
  374. data/lib/Query.rb +3 -1
  375. data/lib/RTFHandlers.rb +35 -0
  376. data/lib/RTFReport.rb +23 -6
  377. data/lib/RTFReportLink.rb +72 -0
  378. data/lib/Resource.rb +8 -16
  379. data/lib/ResourceScenario.rb +1 -22
  380. data/lib/RichTextElement.rb +42 -0
  381. data/lib/RichTextParser.rb +6 -4
  382. data/lib/RichTextScanner.rb +5 -5
  383. data/lib/RichTextSyntaxRules.rb +48 -10
  384. data/lib/ScenarioData.rb +5 -3
  385. data/lib/SheetReceiver.rb +24 -6
  386. data/lib/SheetSender.rb +17 -13
  387. data/lib/ShiftAssignments.rb +56 -52
  388. data/lib/StatusSheetReceiver.rb +1 -0
  389. data/lib/StatusSheetSender.rb +1 -0
  390. data/lib/TableColumnDefinition.rb +4 -2
  391. data/lib/Task.rb +8 -9
  392. data/lib/TaskJuggler.rb +21 -11
  393. data/lib/TaskScenario.rb +61 -26
  394. data/lib/TextParser.rb +268 -106
  395. data/lib/TextParser/Rule.rb +4 -2
  396. data/lib/TextParser/StackElement.rb +6 -4
  397. data/lib/TextScanner.rb +283 -700
  398. data/lib/TimeSheetReceiver.rb +1 -0
  399. data/lib/TimeSheetSender.rb +1 -0
  400. data/lib/TimeSheetSummary.rb +51 -26
  401. data/lib/TimeSheets.rb +1 -1
  402. data/lib/Tj3AppBase.rb +8 -1
  403. data/lib/Tj3Config.rb +1 -1
  404. data/lib/TjTime.rb +5 -0
  405. data/lib/TjpSyntaxRules.rb +360 -144
  406. data/lib/URLParameter.rb +30 -0
  407. data/lib/XMLDocument.rb +2 -2
  408. data/lib/daemon/ProcessIntercom.rb +50 -9
  409. data/lib/daemon/ProjectBroker.rb +63 -10
  410. data/lib/daemon/ProjectServer.rb +47 -16
  411. data/lib/daemon/ReportServer.rb +9 -4
  412. data/lib/daemon/WebServer.rb +204 -0
  413. data/lib/deep_copy.rb +4 -1
  414. data/lib/reports/CSVFile.rb +150 -66
  415. data/lib/reports/GanttChart.rb +2 -1
  416. data/lib/reports/Navigator.rb +18 -5
  417. data/lib/reports/NikuReport.rb +32 -2
  418. data/lib/reports/Report.rb +65 -37
  419. data/lib/reports/ReportBase.rb +14 -9
  420. data/lib/reports/ReportContext.rb +19 -4
  421. data/lib/reports/ReportTable.rb +2 -2
  422. data/lib/reports/ReportTableCell.rb +54 -30
  423. data/lib/reports/ResourceListRE.rb +4 -3
  424. data/lib/reports/StatusSheetReport.rb +8 -13
  425. data/lib/reports/TableReport.rb +47 -32
  426. data/lib/reports/TaskListRE.rb +3 -3
  427. data/lib/reports/TimeSheetReport.rb +14 -5
  428. data/lib/reports/TjpExportRE.rb +14 -19
  429. data/lib/taskjuggler3.rb +15 -0
  430. data/lib/tj3client.rb +9 -7
  431. data/lib/tj3d.rb +38 -10
  432. data/lib/tj3ss_sender.rb +7 -0
  433. data/lib/tj3ts_receiver.rb +1 -0
  434. data/manual/Day_To_Day_Juggling +1 -1
  435. data/manual/Rich_Text_Attributes +8 -0
  436. data/manual/TaskJuggler_2x_Migration +7 -0
  437. data/manual/The_TaskJuggler_Syntax +20 -6
  438. data/prj_cfg.rb +3 -2
  439. data/tasks/changelog.rake +36 -0
  440. data/tasks/csts.rake +2 -3
  441. data/tasks/gem.rake +10 -0
  442. data/tasks/missing.rake +0 -17
  443. data/test/TestSuite/ReportGenerator/Correct/Journal.html +63 -0
  444. data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +14 -0
  445. data/test/TestSuite/{HTML-Reports/LogicalFunctions.tjp → ReportGenerator/Correct/LogicalFunctions1.tjp} +2 -2
  446. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +3 -0
  447. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.tjp +19 -0
  448. data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +66 -0
  449. data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +407 -0
  450. data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
  451. data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
  452. data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
  453. data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
  454. data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
  455. data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
  456. data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
  457. data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
  458. data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
  459. data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
  460. data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
  461. data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +2 -0
  462. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +26 -0
  463. data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +6 -0
  464. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions1-1.csv +7 -0
  465. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions2-1.csv +2 -0
  466. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +2 -0
  467. data/test/TestSuite/ReportGenerator/Correct/scripts/wz_tooltip.js +1301 -0
  468. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +20 -0
  469. data/test/TestSuite/Scheduler/Correct/Container.html +349 -0
  470. data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -4
  471. data/test/TestSuite/Scheduler/Correct/Shift2.html +464 -150
  472. data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +108 -0
  473. data/test/TestSuite/Scheduler/Correct/TimeSheet2.tjp +7 -0
  474. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +14 -0
  475. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +233 -21
  476. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +20 -20
  477. data/test/TestSuite/StatusSheetTemplates/project.tji +35 -0
  478. data/test/TestSuite/StatusSheetTemplates/project.tjp +56 -0
  479. data/test/TestSuite/StatusSheets/run +3 -2
  480. data/test/TestSuite/Syntax/Correct/Include.tjp +1 -1
  481. data/test/TestSuite/Syntax/Correct/Macro-1.tjp +1 -1
  482. data/test/TestSuite/Syntax/Correct/Macro-2.tjp +6 -0
  483. data/test/TestSuite/Syntax/Correct/Macro-3.tjp +14 -0
  484. data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +32 -0
  485. data/test/TestSuite/Syntax/Correct/css/tjmanual.css +66 -0
  486. data/test/TestSuite/Syntax/Correct/css/tjreport.css +407 -0
  487. data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
  488. data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
  489. data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
  490. data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
  491. data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
  492. data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
  493. data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
  494. data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
  495. data/test/TestSuite/Syntax/Correct/icons/trend-down.png +0 -0
  496. data/test/TestSuite/Syntax/Correct/icons/trend-flat.png +0 -0
  497. data/test/TestSuite/Syntax/Correct/icons/trend-up.png +0 -0
  498. data/test/TestSuite/Syntax/Correct/include/dir1/file2.tji +3 -0
  499. data/test/TestSuite/Syntax/Correct/include/dir1/file5.tji +2 -0
  500. data/test/TestSuite/Syntax/Correct/include/dir3/all.tji +3 -0
  501. data/test/TestSuite/Syntax/Correct/include/dir3/file1.tji +2 -0
  502. data/test/TestSuite/Syntax/Correct/include/dir3/file2.tji +1 -0
  503. data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
  504. data/test/TestSuite/Syntax/Correct/tutorial.tjp +13 -13
  505. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  506. data/test/TestSuite/Syntax/Errors/include_recursion.tjp +1 -0
  507. data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +2 -1
  508. data/test/TestSuite/Syntax/Errors/{eof_in_istring1.tjp → no_token_match1.tjp} +2 -2
  509. data/test/TestSuite/Syntax/Errors/{eof_in_istring2.tjp → no_token_match2.tjp} +2 -2
  510. data/test/TestSuite/Syntax/Errors/{eof_in_istring3.tjp → no_token_match3.tjp} +1 -1
  511. data/test/TestSuite/Syntax/Errors/{eof_in_istring4.tjp → no_token_match4.tjp} +1 -1
  512. data/test/TestSuite/Syntax/Errors/{eof_in_istring5.tjp → no_token_match5.tjp} +1 -1
  513. data/test/TestSuite/Syntax/Errors/not_scheduled.tjp +13 -0
  514. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
  515. data/test/TestSuite/TimeSheets/run +5 -5
  516. data/test/test_CSVFile.rb +75 -0
  517. data/test/test_Limits.rb +63 -5
  518. data/test/test_ProjectFileScanner.rb +163 -0
  519. data/test/test_ReportGenerator.rb +81 -0
  520. data/test/test_RichText.rb +21 -3
  521. data/test/test_Scheduler.rb +1 -1
  522. data/test/test_ShiftAssignments.rb +4 -4
  523. data/test/test_Syntax.rb +1 -1
  524. data/test/test_URLParameter.rb +30 -0
  525. metadata +126 -32
  526. data/test/TestSuite/Scheduler/Errors/not_scheduled.tjp +0 -8
  527. data/test/TestSuite/Syntax/Errors/bad_comment.tjp +0 -7
  528. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/boss_2002-03-01.tji +0 -36
  529. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev1_2002-03-01.tji +0 -48
  530. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev2_2002-03-01.tji +0 -67
  531. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev3_2002-03-01.tji +0 -67
  532. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/doc_2002-03-01.tji +0 -48
  533. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/resources.yml +0 -31
  534. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/test_2002-03-01.tji +0 -36
  535. data/test/TestSuite/TimeSheets/TimeSheetTemplates/acceptable_intervals +0 -1
  536. data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/all.tji +0 -1
  537. data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/dev2_2002-03-01.tji +0 -54
  538. data/test/TestSuite/TimeSheets/TimeSheets/all.tji +0 -2
  539. data/test/TestSuite/TimeSheets/receiver.log +0 -102
  540. data/test/TestSuite/TimeSheets/sender.log +0 -794
  541. data/test/TestSuite/TimeSheets/summary.log +0 -884
  542. data/test/TestSuite/TimeSheets/timesheets.log +0 -45
  543. data/test/TestSuite/TimeSheets/tj3d.log +0 -292
  544. data/test/test_TextScanner.rb +0 -95
@@ -69,23 +69,23 @@
69
69
  <h3 class="section-header">Methods</h3>
70
70
  <ul class="link-list">
71
71
 
72
- <li><a href="#M001499">::new</a></li>
72
+ <li><a href="#method-c-new">::new</a></li>
73
73
 
74
- <li><a href="#M001504">#coerceBoolean</a></li>
74
+ <li><a href="#method-i-coerceBoolean">#coerceBoolean</a></li>
75
75
 
76
- <li><a href="#M001505">#coerceNumber</a></li>
76
+ <li><a href="#method-i-coerceNumber">#coerceNumber</a></li>
77
77
 
78
- <li><a href="#M001506">#coerceString</a></li>
78
+ <li><a href="#method-i-coerceString">#coerceString</a></li>
79
79
 
80
- <li><a href="#M001507">#coerceTime</a></li>
80
+ <li><a href="#method-i-coerceTime">#coerceTime</a></li>
81
81
 
82
- <li><a href="#M001500">#eval</a></li>
82
+ <li><a href="#method-i-eval">#eval</a></li>
83
83
 
84
- <li><a href="#M001503">#evalBinaryOperation</a></li>
84
+ <li><a href="#method-i-evalBinaryOperation">#evalBinaryOperation</a></li>
85
85
 
86
- <li><a href="#M001502">#operand_to_s</a></li>
86
+ <li><a href="#method-i-operand_to_s">#operand_to_s</a></li>
87
87
 
88
- <li><a href="#M001501">#to_s</a></li>
88
+ <li><a href="#method-i-to_s">#to_s</a></li>
89
89
 
90
90
  </ul>
91
91
  </div>
@@ -102,6 +102,8 @@
102
102
  <h3 class="section-header">Files</h3>
103
103
  <ul>
104
104
 
105
+ <li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
106
+
105
107
  <li class="file"><a href="../COPYING.html">COPYING</a></li>
106
108
 
107
109
  <li class="file"><a href="../README.html">README</a></li>
@@ -271,6 +273,8 @@
271
273
 
272
274
  <li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
273
275
 
276
+ <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
277
+
274
278
  <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
275
279
 
276
280
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
@@ -285,6 +289,8 @@
285
289
 
286
290
  <li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
287
291
 
292
+ <li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
293
+
288
294
  <li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
289
295
 
290
296
  <li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
@@ -301,12 +307,16 @@
301
307
 
302
308
  <li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
303
309
 
310
+ <li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
311
+
304
312
  <li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
305
313
 
306
314
  <li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
307
315
 
308
316
  <li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
309
317
 
318
+ <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
319
+
310
320
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
311
321
 
312
322
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -325,6 +335,8 @@
325
335
 
326
336
  <li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
327
337
 
338
+ <li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
339
+
328
340
  <li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
329
341
 
330
342
  <li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
@@ -453,6 +465,8 @@
453
465
 
454
466
  <li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
455
467
 
468
+ <li><a href="../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
469
+
456
470
  <li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
457
471
 
458
472
  <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
@@ -497,8 +511,12 @@
497
511
 
498
512
  <li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
499
513
 
514
+ <li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
515
+
500
516
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
501
517
 
518
+ <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
519
+
502
520
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
503
521
 
504
522
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -525,6 +543,8 @@
525
543
 
526
544
  <li><a href="../String.html">String</a></li>
527
545
 
546
+ <li><a href="../StringIO.html">StringIO</a></li>
547
+
528
548
  </ul>
529
549
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
530
550
  </div>
@@ -547,9 +567,9 @@ references to project data. The <a
547
567
  href="LogicalOperation.html">LogicalOperation</a> can be evaluated in a
548
568
  certain context. This contexts determines the actual values of the project
549
569
  data references. The evaluation is done by calling <a
550
- href="LogicalOperation.html#M001500">LogicalOperation#eval</a>. The result
551
- must be of a type that responds to all the operators that are used in the
552
- eval method.
570
+ href="LogicalOperation.html#method-i-eval">LogicalOperation#eval</a>. The
571
+ result must be of a type that responds to all the operators that are used
572
+ in the eval method.
553
573
  </p>
554
574
 
555
575
  </div>
@@ -622,7 +642,7 @@ eval method.
622
642
 
623
643
 
624
644
  <div id="new-method" class="method-detail ">
625
- <a name="M001499"></a>
645
+ <a name="method-c-new"></a>
626
646
 
627
647
  <div class="method-heading">
628
648
 
@@ -668,7 +688,7 @@ can be set later.
668
688
 
669
689
 
670
690
  <div id="eval-method" class="method-detail ">
671
- <a name="M001500"></a>
691
+ <a name="method-i-eval"></a>
672
692
 
673
693
  <div class="method-heading">
674
694
 
@@ -719,24 +739,28 @@ must be of a type that responds to all the operators of this function.
719
739
  65: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">evalBinaryOperation</span>(<span class="ruby-identifier">opnd1</span>, <span class="ruby-identifier">operator</span>, <span class="ruby-identifier">opnd2</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">o</span><span class="ruby-operator">|</span>
720
740
  66: <span class="ruby-identifier">coerceNumber</span>(<span class="ruby-identifier">o</span>, <span class="ruby-identifier">expr</span>)
721
741
  67: <span class="ruby-keyword kw">end</span>
722
- 68: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">opnd1</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
723
- 69: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">evalBinaryOperation</span>(<span class="ruby-identifier">opnd1</span>, <span class="ruby-identifier">operator</span>, <span class="ruby-identifier">opnd2</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">o</span><span class="ruby-operator">|</span>
742
+ 68: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">opnd1</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">RichTextIntermediate</span>)
743
+ 69: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">evalBinaryOperation</span>(<span class="ruby-identifier">opnd1</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-identifier">operator</span>, <span class="ruby-identifier">opnd2</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">o</span><span class="ruby-operator">|</span>
724
744
  70: <span class="ruby-identifier">coerceString</span>(<span class="ruby-identifier">o</span>, <span class="ruby-identifier">expr</span>)
725
745
  71: <span class="ruby-keyword kw">end</span>
726
- 72: <span class="ruby-keyword kw">else</span>
727
- 73: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-value str">&quot;First operand of a binary operation must be a date, &quot;</span> <span class="ruby-operator">+</span>
728
- 74: <span class="ruby-node">&quot;a number or a string: #{opnd1}&quot;</span>)
729
- 75: <span class="ruby-keyword kw">end</span>
730
- 76: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&amp;'</span>
731
- 77: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>), <span class="ruby-identifier">expr</span>) <span class="ruby-operator">&amp;&amp;</span>
732
- 78: <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>), <span class="ruby-identifier">expr</span>)
733
- 79: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'|'</span>
734
- 80: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>), <span class="ruby-identifier">expr</span>) <span class="ruby-operator">||</span>
735
- 81: <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>), <span class="ruby-identifier">expr</span>)
736
- 82: <span class="ruby-keyword kw">else</span>
737
- 83: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Unknown operator #{@operator} in logical expression&quot;</span>)
738
- 84: <span class="ruby-keyword kw">end</span>
739
- 85: <span class="ruby-keyword kw">end</span></pre>
746
+ 72: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">opnd1</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
747
+ 73: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">evalBinaryOperation</span>(<span class="ruby-identifier">opnd1</span>, <span class="ruby-identifier">operator</span>, <span class="ruby-identifier">opnd2</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">o</span><span class="ruby-operator">|</span>
748
+ 74: <span class="ruby-identifier">coerceString</span>(<span class="ruby-identifier">o</span>, <span class="ruby-identifier">expr</span>)
749
+ 75: <span class="ruby-keyword kw">end</span>
750
+ 76: <span class="ruby-keyword kw">else</span>
751
+ 77: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-value str">&quot;First operand of a binary operation must be a date, &quot;</span> <span class="ruby-operator">+</span>
752
+ 78: <span class="ruby-node">&quot;a number or a string: #{opnd1.class}&quot;</span>)
753
+ 79: <span class="ruby-keyword kw">end</span>
754
+ 80: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&amp;'</span>
755
+ 81: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>), <span class="ruby-identifier">expr</span>) <span class="ruby-operator">&amp;&amp;</span>
756
+ 82: <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>), <span class="ruby-identifier">expr</span>)
757
+ 83: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'|'</span>
758
+ 84: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>), <span class="ruby-identifier">expr</span>) <span class="ruby-operator">||</span>
759
+ 85: <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>), <span class="ruby-identifier">expr</span>)
760
+ 86: <span class="ruby-keyword kw">else</span>
761
+ 87: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Unknown operator #{@operator} in logical expression&quot;</span>)
762
+ 88: <span class="ruby-keyword kw">end</span>
763
+ 89: <span class="ruby-keyword kw">end</span></pre>
740
764
  </div>
741
765
 
742
766
  </div>
@@ -748,7 +772,7 @@ must be of a type that responds to all the operators of this function.
748
772
 
749
773
 
750
774
  <div id="to-s-method" class="method-detail ">
751
- <a name="M001501"></a>
775
+ <a name="method-i-to_s"></a>
752
776
 
753
777
  <div class="method-heading">
754
778
 
@@ -769,17 +793,17 @@ Convert the operation into a textual representation.
769
793
  <div class="method-source-code"
770
794
  id="to-s-source">
771
795
  <pre>
772
- <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 88</span>
773
- 88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">query</span>)
774
- 89: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@operator</span>.<span class="ruby-identifier">nil?</span>
775
- 90: <span class="ruby-identifier">operand_to_s</span>(<span class="ruby-ivar">@operand1</span>, <span class="ruby-identifier">query</span>)
776
- 91: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">nil?</span>
777
- 92: <span class="ruby-ivar">@operator</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">operand_to_s</span>(<span class="ruby-ivar">@operand1</span>, <span class="ruby-identifier">query</span>)
778
- 93: <span class="ruby-keyword kw">else</span>
779
- 94: <span class="ruby-node">&quot;(#{operand_to_s(@operand1, query)} #{@operator} &quot;</span> <span class="ruby-operator">+</span>
780
- 95: <span class="ruby-node">&quot;#{operand_to_s(@operand2, query)})&quot;</span>
781
- 96: <span class="ruby-keyword kw">end</span>
782
- 97: <span class="ruby-keyword kw">end</span></pre>
796
+ <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 92</span>
797
+ 92: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">query</span>)
798
+ 93: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@operator</span>.<span class="ruby-identifier">nil?</span>
799
+ 94: <span class="ruby-identifier">operand_to_s</span>(<span class="ruby-ivar">@operand1</span>, <span class="ruby-identifier">query</span>)
800
+ 95: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">nil?</span>
801
+ 96: <span class="ruby-ivar">@operator</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">operand_to_s</span>(<span class="ruby-ivar">@operand1</span>, <span class="ruby-identifier">query</span>)
802
+ 97: <span class="ruby-keyword kw">else</span>
803
+ 98: <span class="ruby-node">&quot;(#{operand_to_s(@operand1, query)} #{@operator} &quot;</span> <span class="ruby-operator">+</span>
804
+ 99: <span class="ruby-node">&quot;#{operand_to_s(@operand2, query)})&quot;</span>
805
+ 100: <span class="ruby-keyword kw">end</span>
806
+ 101: <span class="ruby-keyword kw">end</span></pre>
783
807
  </div>
784
808
 
785
809
  </div>
@@ -797,7 +821,7 @@ Convert the operation into a textual representation.
797
821
 
798
822
 
799
823
  <div id="coerce-oolean-method" class="method-detail ">
800
- <a name="M001504"></a>
824
+ <a name="method-i-coerceBoolean"></a>
801
825
 
802
826
  <div class="method-heading">
803
827
 
@@ -818,17 +842,17 @@ Force the <em>val</em> into a boolean value.
818
842
  <div class="method-source-code"
819
843
  id="coerce-oolean-source">
820
844
  <pre>
821
- <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 135</span>
822
- 135: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-identifier">val</span>, <span class="ruby-identifier">expr</span>)
823
- 136: <span class="ruby-comment cmt"># First the obvious ones.</span>
824
- 137: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">val</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">TrueClass</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">FalseClass</span>
825
- 138: <span class="ruby-comment cmt"># An empty String means false, else true.</span>
826
- 139: <span class="ruby-keyword kw">return</span> <span class="ruby-operator">!</span><span class="ruby-identifier">val</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
827
- 140: <span class="ruby-comment cmt"># In TJP logic 'non 0' means false.</span>
828
- 141: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">val</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Bignum</span>)
829
- 142:
830
- 143: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Operand #{val} can't be evaluated to true or false.&quot;</span>)
831
- 144: <span class="ruby-keyword kw">end</span></pre>
845
+ <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 139</span>
846
+ 139: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-identifier">val</span>, <span class="ruby-identifier">expr</span>)
847
+ 140: <span class="ruby-comment cmt"># First the obvious ones.</span>
848
+ 141: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">val</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">TrueClass</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">FalseClass</span>
849
+ 142: <span class="ruby-comment cmt"># An empty String means false, else true.</span>
850
+ 143: <span class="ruby-keyword kw">return</span> <span class="ruby-operator">!</span><span class="ruby-identifier">val</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
851
+ 144: <span class="ruby-comment cmt"># In TJP logic 'non 0' means false.</span>
852
+ 145: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">val</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Bignum</span>)
853
+ 146:
854
+ 147: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Operand #{val} can't be evaluated to true or false.&quot;</span>)
855
+ 148: <span class="ruby-keyword kw">end</span></pre>
832
856
  </div>
833
857
 
834
858
  </div>
@@ -840,7 +864,7 @@ Force the <em>val</em> into a boolean value.
840
864
 
841
865
 
842
866
  <div id="coerce-umber-method" class="method-detail ">
843
- <a name="M001505"></a>
867
+ <a name="method-i-coerceNumber"></a>
844
868
 
845
869
  <div class="method-heading">
846
870
 
@@ -862,13 +886,13 @@ raised.
862
886
  <div class="method-source-code"
863
887
  id="coerce-umber-source">
864
888
  <pre>
865
- <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 147</span>
866
- 147: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">coerceNumber</span>(<span class="ruby-identifier">val</span>, <span class="ruby-identifier">expr</span>)
867
- 148: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Float</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Bignum</span>)
868
- 149: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Operand #{val} of type #{val.class} must be a number.&quot;</span>)
869
- 150: <span class="ruby-keyword kw">end</span>
870
- 151: <span class="ruby-identifier">val</span>
871
- 152: <span class="ruby-keyword kw">end</span></pre>
889
+ <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 151</span>
890
+ 151: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">coerceNumber</span>(<span class="ruby-identifier">val</span>, <span class="ruby-identifier">expr</span>)
891
+ 152: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Float</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Bignum</span>)
892
+ 153: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Operand #{val} of type #{val.class} must be a number.&quot;</span>)
893
+ 154: <span class="ruby-keyword kw">end</span>
894
+ 155: <span class="ruby-identifier">val</span>
895
+ 156: <span class="ruby-keyword kw">end</span></pre>
872
896
  </div>
873
897
 
874
898
  </div>
@@ -880,7 +904,7 @@ raised.
880
904
 
881
905
 
882
906
  <div id="coerce-tring-method" class="method-detail ">
883
- <a name="M001506"></a>
907
+ <a name="method-i-coerceString"></a>
884
908
 
885
909
  <div class="method-heading">
886
910
 
@@ -902,14 +926,14 @@ this fails, an exception is raised.
902
926
  <div class="method-source-code"
903
927
  id="coerce-tring-source">
904
928
  <pre>
905
- <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 155</span>
906
- 155: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">coerceString</span>(<span class="ruby-identifier">val</span>, <span class="ruby-identifier">expr</span>)
907
- 156: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'to_s'</span>)
908
- 157: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Operand #{val} of type #{val.class} can't be converted &quot;</span> <span class="ruby-operator">+</span>
909
- 158: <span class="ruby-value str">&quot;into a string&quot;</span>)
910
- 159: <span class="ruby-keyword kw">end</span>
911
- 160: <span class="ruby-identifier">val</span>
912
- 161: <span class="ruby-keyword kw">end</span></pre>
929
+ <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 159</span>
930
+ 159: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">coerceString</span>(<span class="ruby-identifier">val</span>, <span class="ruby-identifier">expr</span>)
931
+ 160: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'to_s'</span>)
932
+ 161: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Operand #{val} of type #{val.class} can't be converted &quot;</span> <span class="ruby-operator">+</span>
933
+ 162: <span class="ruby-value str">&quot;into a string&quot;</span>)
934
+ 163: <span class="ruby-keyword kw">end</span>
935
+ 164: <span class="ruby-identifier">val</span>
936
+ 165: <span class="ruby-keyword kw">end</span></pre>
913
937
  </div>
914
938
 
915
939
  </div>
@@ -921,7 +945,7 @@ this fails, an exception is raised.
921
945
 
922
946
 
923
947
  <div id="coerce-ime-method" class="method-detail ">
924
- <a name="M001507"></a>
948
+ <a name="method-i-coerceTime"></a>
925
949
 
926
950
  <div class="method-heading">
927
951
 
@@ -943,14 +967,14 @@ this fails, an exception is raised.
943
967
  <div class="method-source-code"
944
968
  id="coerce-ime-source">
945
969
  <pre>
946
- <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 164</span>
947
- 164: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">coerceTime</span>(<span class="ruby-identifier">val</span>, <span class="ruby-identifier">expr</span>)
948
- 165: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
949
- 166: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Operand #{val} of type #{val.class} can't be converted &quot;</span> <span class="ruby-operator">+</span>
950
- 167: <span class="ruby-value str">&quot;into a date&quot;</span>)
951
- 168: <span class="ruby-keyword kw">end</span>
952
- 169: <span class="ruby-identifier">val</span>
953
- 170: <span class="ruby-keyword kw">end</span></pre>
970
+ <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 168</span>
971
+ 168: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">coerceTime</span>(<span class="ruby-identifier">val</span>, <span class="ruby-identifier">expr</span>)
972
+ 169: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
973
+ 170: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Operand #{val} of type #{val.class} can't be converted &quot;</span> <span class="ruby-operator">+</span>
974
+ 171: <span class="ruby-value str">&quot;into a date&quot;</span>)
975
+ 172: <span class="ruby-keyword kw">end</span>
976
+ 173: <span class="ruby-identifier">val</span>
977
+ 174: <span class="ruby-keyword kw">end</span></pre>
954
978
  </div>
955
979
 
956
980
  </div>
@@ -962,7 +986,7 @@ this fails, an exception is raised.
962
986
 
963
987
 
964
988
  <div id="eval-inary-peration-method" class="method-detail ">
965
- <a name="M001503"></a>
989
+ <a name="method-i-evalBinaryOperation"></a>
966
990
 
967
991
  <div class="method-heading">
968
992
 
@@ -986,25 +1010,25 @@ coerced into the proper format by calling the block.
986
1010
  <div class="method-source-code"
987
1011
  id="eval-inary-peration-source">
988
1012
  <pre>
989
- <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 115</span>
990
- 115: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">evalBinaryOperation</span>(<span class="ruby-identifier">opnd1</span>, <span class="ruby-identifier">operator</span>, <span class="ruby-identifier">opnd2</span>)
991
- 116: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">operator</span>
992
- 117: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&gt;'</span>
993
- 118: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd1</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd2</span>)
994
- 119: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&gt;='</span>
995
- 120: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd1</span>) <span class="ruby-operator">&gt;=</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd2</span>)
996
- 121: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'='</span>
997
- 122: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd1</span>) <span class="ruby-operator">==</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd2</span>)
998
- 123: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&lt;'</span>
999
- 124: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd1</span>) <span class="ruby-operator">&lt;</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd2</span>)
1000
- 125: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&lt;='</span>
1001
- 126: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd1</span>) <span class="ruby-operator">&lt;=</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd2</span>)
1002
- 127: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'!='</span>
1003
- 128: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd1</span>) <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd2</span>)
1004
- 129: <span class="ruby-keyword kw">else</span>
1005
- 130: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Operator error&quot;</span>
1006
- 131: <span class="ruby-keyword kw">end</span>
1007
- 132: <span class="ruby-keyword kw">end</span></pre>
1013
+ <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 119</span>
1014
+ 119: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">evalBinaryOperation</span>(<span class="ruby-identifier">opnd1</span>, <span class="ruby-identifier">operator</span>, <span class="ruby-identifier">opnd2</span>)
1015
+ 120: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">operator</span>
1016
+ 121: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&gt;'</span>
1017
+ 122: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd1</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd2</span>)
1018
+ 123: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&gt;='</span>
1019
+ 124: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd1</span>) <span class="ruby-operator">&gt;=</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd2</span>)
1020
+ 125: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'='</span>
1021
+ 126: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd1</span>) <span class="ruby-operator">==</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd2</span>)
1022
+ 127: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&lt;'</span>
1023
+ 128: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd1</span>) <span class="ruby-operator">&lt;</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd2</span>)
1024
+ 129: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&lt;='</span>
1025
+ 130: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd1</span>) <span class="ruby-operator">&lt;=</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd2</span>)
1026
+ 131: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'!='</span>
1027
+ 132: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd1</span>) <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">opnd2</span>)
1028
+ 133: <span class="ruby-keyword kw">else</span>
1029
+ 134: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Operator error&quot;</span>
1030
+ 135: <span class="ruby-keyword kw">end</span>
1031
+ 136: <span class="ruby-keyword kw">end</span></pre>
1008
1032
  </div>
1009
1033
 
1010
1034
  </div>
@@ -1016,7 +1040,7 @@ coerced into the proper format by calling the block.
1016
1040
 
1017
1041
 
1018
1042
  <div id="operand-to-s-method" class="method-detail ">
1019
- <a name="M001502"></a>
1043
+ <a name="method-i-operand_to_s"></a>
1020
1044
 
1021
1045
  <div class="method-heading">
1022
1046
 
@@ -1035,16 +1059,16 @@ coerced into the proper format by calling the block.
1035
1059
  <div class="method-source-code"
1036
1060
  id="operand-to-s-source">
1037
1061
  <pre>
1038
- <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 101</span>
1039
- 101: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">operand_to_s</span>(<span class="ruby-identifier">operand</span>, <span class="ruby-identifier">query</span>)
1040
- 102: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">operand</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">LogicalOperation</span>)
1041
- 103: <span class="ruby-identifier">operand</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">query</span>)
1042
- 104: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">operand</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
1043
- 105: <span class="ruby-node">&quot;'#{operand}'&quot;</span>
1044
- 106: <span class="ruby-keyword kw">else</span>
1045
- 107: <span class="ruby-identifier">operand</span>.<span class="ruby-identifier">to_s</span>
1046
- 108: <span class="ruby-keyword kw">end</span>
1047
- 109: <span class="ruby-keyword kw">end</span></pre>
1062
+ <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 105</span>
1063
+ 105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">operand_to_s</span>(<span class="ruby-identifier">operand</span>, <span class="ruby-identifier">query</span>)
1064
+ 106: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">operand</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">LogicalOperation</span>)
1065
+ 107: <span class="ruby-identifier">operand</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">query</span>)
1066
+ 108: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">operand</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
1067
+ 109: <span class="ruby-node">&quot;'#{operand}'&quot;</span>
1068
+ 110: <span class="ruby-keyword kw">else</span>
1069
+ 111: <span class="ruby-identifier">operand</span>.<span class="ruby-identifier">to_s</span>
1070
+ 112: <span class="ruby-keyword kw">end</span>
1071
+ 113: <span class="ruby-keyword kw">end</span></pre>
1048
1072
  </div>
1049
1073
 
1050
1074
  </div>
@@ -69,7 +69,7 @@
69
69
  <h3 class="section-header">Methods</h3>
70
70
  <ul class="link-list">
71
71
 
72
- <li><a href="#M000662">::new</a></li>
72
+ <li><a href="#method-c-new">::new</a></li>
73
73
 
74
74
  </ul>
75
75
  </div>
@@ -86,6 +86,8 @@
86
86
  <h3 class="section-header">Files</h3>
87
87
  <ul>
88
88
 
89
+ <li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
90
+
89
91
  <li class="file"><a href="../COPYING.html">COPYING</a></li>
90
92
 
91
93
  <li class="file"><a href="../README.html">README</a></li>
@@ -255,6 +257,8 @@
255
257
 
256
258
  <li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
257
259
 
260
+ <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
261
+
258
262
  <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
259
263
 
260
264
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
@@ -269,6 +273,8 @@
269
273
 
270
274
  <li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
271
275
 
276
+ <li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
277
+
272
278
  <li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
273
279
 
274
280
  <li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
@@ -285,12 +291,16 @@
285
291
 
286
292
  <li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
287
293
 
294
+ <li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
295
+
288
296
  <li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
289
297
 
290
298
  <li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
291
299
 
292
300
  <li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
293
301
 
302
+ <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
303
+
294
304
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
295
305
 
296
306
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -309,6 +319,8 @@
309
319
 
310
320
  <li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
311
321
 
322
+ <li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
323
+
312
324
  <li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
313
325
 
314
326
  <li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
@@ -437,6 +449,8 @@
437
449
 
438
450
  <li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
439
451
 
452
+ <li><a href="../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
453
+
440
454
  <li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
441
455
 
442
456
  <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
@@ -481,8 +495,12 @@
481
495
 
482
496
  <li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
483
497
 
498
+ <li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
499
+
484
500
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
485
501
 
502
+ <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
503
+
486
504
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
487
505
 
488
506
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -509,6 +527,8 @@
509
527
 
510
528
  <li><a href="../String.html">String</a></li>
511
529
 
530
+ <li><a href="../StringIO.html">StringIO</a></li>
531
+
512
532
  </ul>
513
533
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
514
534
  </div>
@@ -588,7 +608,7 @@
588
608
 
589
609
 
590
610
  <div id="new-method" class="method-detail ">
591
- <a name="M000662"></a>
611
+ <a name="method-c-new"></a>
592
612
 
593
613
  <div class="method-heading">
594
614