taskjuggler 0.1.1 → 0.2.0

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 (563) hide show
  1. data/CHANGELOG +37 -5
  2. data/README.rdoc +4 -2
  3. data/benchmarks/UTF-8-Strings.rb +58 -0
  4. data/benchmarks/css/tjmanual.css +0 -1
  5. data/benchmarks/htmltaskreport-1.html +47702 -0
  6. data/benchmarks/htmltaskreport-2.html +23345 -0
  7. data/benchmarks/htmltaskreport-3.html +23265 -0
  8. data/benchmarks/htmltaskreport-4.html +22135 -0
  9. data/benchmarks/profile.clt +36082 -0
  10. data/benchmarks/tj3.profile +0 -0
  11. data/benchmarks/tj3.profile.grind +6185 -0
  12. data/benchmarks/tj3.profile.symbols +432 -0
  13. data/benchmarks/tj3.profile.txt +448 -0
  14. data/data/tjp.vim +689 -0
  15. data/doc/AppConfig.html +26 -2
  16. data/doc/CHANGELOG.html +60 -8
  17. data/doc/COPYING.html +26 -2
  18. data/doc/Diff/Hunk.html +26 -2
  19. data/doc/Diff.html +26 -2
  20. data/doc/Diffable.html +26 -2
  21. data/doc/DiffableString.html +26 -2
  22. data/doc/Object.html +26 -104
  23. data/doc/README_rdoc.html +39 -7
  24. data/doc/RuntimeConfig.html +26 -2
  25. data/doc/String.html +26 -2
  26. data/doc/TaskJuggler/Account.html +27 -3
  27. data/doc/TaskJuggler/AccountAttribute.html +30 -6
  28. data/doc/TaskJuggler/AccountScenario.html +28 -4
  29. data/doc/TaskJuggler/Allocation.html +33 -9
  30. data/doc/TaskJuggler/AllocationAttribute.html +31 -7
  31. data/doc/TaskJuggler/AttributeBase.html +162 -111
  32. data/doc/TaskJuggler/AttributeDefinition.html +26 -2
  33. data/doc/TaskJuggler/AttributeOverwrite.html +26 -2
  34. data/doc/TaskJuggler/BatchProcessor.html +26 -2
  35. data/doc/TaskJuggler/Booking.html +29 -5
  36. data/doc/TaskJuggler/BookingListAttribute.html +29 -5
  37. data/doc/TaskJuggler/BooleanAttribute.html +30 -6
  38. data/doc/TaskJuggler/CSVFile.html +26 -2
  39. data/doc/TaskJuggler/CellSettingPattern.html +26 -2
  40. data/doc/TaskJuggler/CellSettingPatternList.html +26 -2
  41. data/doc/TaskJuggler/Charge.html +30 -6
  42. data/doc/TaskJuggler/ChargeListAttribute.html +29 -5
  43. data/doc/TaskJuggler/ChargeSet.html +26 -2
  44. data/doc/TaskJuggler/ChargeSetListAttribute.html +30 -6
  45. data/doc/TaskJuggler/CollisionDetector.html +26 -2
  46. data/doc/TaskJuggler/ColumnListAttribute.html +28 -4
  47. data/doc/TaskJuggler/ColumnTable.html +26 -2
  48. data/doc/TaskJuggler/Daemon.html +26 -2
  49. data/doc/TaskJuggler/DataCache.html +26 -2
  50. data/doc/TaskJuggler/DataCacheEntry.html +26 -2
  51. data/doc/TaskJuggler/DateAttribute.html +30 -6
  52. data/doc/TaskJuggler/DefinitionListAttribute.html +28 -4
  53. data/doc/TaskJuggler/DependencyListAttribute.html +30 -6
  54. data/doc/TaskJuggler/DurationAttribute.html +31 -7
  55. data/doc/TaskJuggler/FileList.html +26 -2
  56. data/doc/TaskJuggler/FileRecord.html +26 -2
  57. data/doc/TaskJuggler/FixnumAttribute.html +28 -4
  58. data/doc/TaskJuggler/FlagListAttribute.html +30 -6
  59. data/doc/TaskJuggler/FloatAttribute.html +29 -5
  60. data/doc/TaskJuggler/FormatListAttribute.html +29 -5
  61. data/doc/TaskJuggler/GanttChart.html +26 -2
  62. data/doc/TaskJuggler/GanttContainer.html +26 -2
  63. data/doc/TaskJuggler/GanttHeader.html +26 -2
  64. data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -2
  65. data/doc/TaskJuggler/GanttLine.html +27 -3
  66. data/doc/TaskJuggler/GanttLoadStack.html +26 -2
  67. data/doc/TaskJuggler/GanttMilestone.html +26 -2
  68. data/doc/TaskJuggler/GanttRouter.html +26 -2
  69. data/doc/TaskJuggler/GanttTaskBar.html +26 -2
  70. data/doc/TaskJuggler/HTMLDocument.html +26 -2
  71. data/doc/TaskJuggler/HTMLElements.html +623 -0
  72. data/doc/TaskJuggler/HTMLGraphics.html +26 -2
  73. data/doc/TaskJuggler/ICalReport.html +864 -0
  74. data/doc/TaskJuggler/ICalendar/Component.html +969 -0
  75. data/doc/TaskJuggler/ICalendar/Event.html +742 -0
  76. data/doc/TaskJuggler/ICalendar/Journal.html +722 -0
  77. data/doc/TaskJuggler/ICalendar/Person.html +633 -0
  78. data/doc/TaskJuggler/ICalendar/Todo.html +789 -0
  79. data/doc/TaskJuggler/ICalendar.html +1035 -0
  80. data/doc/TaskJuggler/Interval.html +99 -172
  81. data/doc/TaskJuggler/IntervalList.html +31 -7
  82. data/doc/TaskJuggler/JobInfo.html +26 -2
  83. data/doc/TaskJuggler/Journal.html +26 -2
  84. data/doc/TaskJuggler/JournalEntry.html +26 -2
  85. data/doc/TaskJuggler/JournalEntryList.html +26 -2
  86. data/doc/TaskJuggler/KeywordArray.html +26 -2
  87. data/doc/TaskJuggler/KeywordDocumentation.html +26 -2
  88. data/doc/TaskJuggler/Limits/Limit.html +124 -49
  89. data/doc/TaskJuggler/Limits.html +139 -156
  90. data/doc/TaskJuggler/LimitsAttribute.html +39 -14
  91. data/doc/TaskJuggler/ListAttributeBase.html +35 -11
  92. data/doc/TaskJuggler/Log.html +26 -2
  93. data/doc/TaskJuggler/LogFile.html +26 -2
  94. data/doc/TaskJuggler/LogicalAttribute.html +26 -2
  95. data/doc/TaskJuggler/LogicalExpression.html +26 -2
  96. data/doc/TaskJuggler/LogicalExpressionAttribute.html +35 -11
  97. data/doc/TaskJuggler/LogicalExpressionListAttribute.html +35 -11
  98. data/doc/TaskJuggler/LogicalFlag.html +26 -2
  99. data/doc/TaskJuggler/LogicalFunction.html +28 -4
  100. data/doc/TaskJuggler/LogicalOperation.html +26 -2
  101. data/doc/TaskJuggler/ManagerResponsibilities.html +26 -2
  102. data/doc/TaskJuggler/ManagerStatusRecord.html +26 -2
  103. data/doc/TaskJuggler/Message.html +26 -2
  104. data/doc/TaskJuggler/MessageHandler.html +108 -62
  105. data/doc/TaskJuggler/Navigator.html +26 -2
  106. data/doc/TaskJuggler/NavigatorElement.html +26 -2
  107. data/doc/TaskJuggler/NikuProject.html +26 -2
  108. data/doc/TaskJuggler/NikuReport.html +27 -3
  109. data/doc/TaskJuggler/NikuResource.html +26 -2
  110. data/doc/TaskJuggler/NodeListAttribute.html +31 -7
  111. data/doc/TaskJuggler/PlaceHolderCell.html +26 -2
  112. data/doc/TaskJuggler/ProcessIntercom.html +26 -2
  113. data/doc/TaskJuggler/ProcessIntercomIface.html +26 -2
  114. data/doc/TaskJuggler/Project.html +1236 -973
  115. data/doc/TaskJuggler/ProjectBroker.html +26 -2
  116. data/doc/TaskJuggler/ProjectBrokerIface.html +26 -2
  117. data/doc/TaskJuggler/ProjectFileParser.html +29 -4
  118. data/doc/TaskJuggler/ProjectFileScanner.html +56 -31
  119. data/doc/TaskJuggler/ProjectRecord.html +26 -2
  120. data/doc/TaskJuggler/ProjectServer.html +26 -2
  121. data/doc/TaskJuggler/ProjectServerIface.html +26 -2
  122. data/doc/TaskJuggler/PropertyAttribute.html +35 -11
  123. data/doc/TaskJuggler/PropertyList.html +26 -2
  124. data/doc/TaskJuggler/PropertySet.html +126 -106
  125. data/doc/TaskJuggler/PropertyTreeNode.html +595 -551
  126. data/doc/TaskJuggler/Query.html +127 -100
  127. data/doc/TaskJuggler/RTFHandlers.html +26 -2
  128. data/doc/TaskJuggler/RTFNavigator.html +26 -2
  129. data/doc/TaskJuggler/RTFQuery.html +28 -4
  130. data/doc/TaskJuggler/RTFReport.html +26 -2
  131. data/doc/TaskJuggler/RTFReportLink.html +26 -2
  132. data/doc/TaskJuggler/RTFWithQuerySupport.html +26 -2
  133. data/doc/TaskJuggler/RealFormat.html +26 -2
  134. data/doc/TaskJuggler/RealFormatAttribute.html +31 -7
  135. data/doc/TaskJuggler/ReferenceAttribute.html +58 -34
  136. data/doc/TaskJuggler/Report.html +427 -284
  137. data/doc/TaskJuggler/ReportBase.html +28 -102
  138. data/doc/TaskJuggler/ReportContext.html +26 -2
  139. data/doc/TaskJuggler/ReportScenario.html +633 -0
  140. data/doc/TaskJuggler/ReportServer.html +26 -2
  141. data/doc/TaskJuggler/ReportServerIface.html +26 -2
  142. data/doc/TaskJuggler/ReportServerRecord.html +26 -2
  143. data/doc/TaskJuggler/ReportServlet.html +26 -2
  144. data/doc/TaskJuggler/ReportTable.html +26 -2
  145. data/doc/TaskJuggler/ReportTableCell.html +26 -2
  146. data/doc/TaskJuggler/ReportTableColumn.html +26 -2
  147. data/doc/TaskJuggler/ReportTableLegend.html +26 -2
  148. data/doc/TaskJuggler/ReportTableLine.html +26 -2
  149. data/doc/TaskJuggler/Resource.html +225 -163
  150. data/doc/TaskJuggler/ResourceListAttribute.html +71 -47
  151. data/doc/TaskJuggler/ResourceListRE.html +26 -2
  152. data/doc/TaskJuggler/ResourceScenario.html +645 -603
  153. data/doc/TaskJuggler/RichText.html +26 -2
  154. data/doc/TaskJuggler/RichTextAttribute.html +53 -29
  155. data/doc/TaskJuggler/RichTextDocument.html +26 -2
  156. data/doc/TaskJuggler/RichTextElement.html +26 -2
  157. data/doc/TaskJuggler/RichTextFunctionExample.html +26 -2
  158. data/doc/TaskJuggler/RichTextFunctionHandler.html +26 -2
  159. data/doc/TaskJuggler/RichTextImage.html +26 -2
  160. data/doc/TaskJuggler/RichTextIntermediate.html +29 -5
  161. data/doc/TaskJuggler/RichTextParser.html +26 -2
  162. data/doc/TaskJuggler/RichTextScanner.html +26 -2
  163. data/doc/TaskJuggler/RichTextSnip.html +26 -2
  164. data/doc/TaskJuggler/RichTextSyntaxRules.html +26 -2
  165. data/doc/TaskJuggler/Scenario.html +26 -2
  166. data/doc/TaskJuggler/ScenarioData.html +95 -28
  167. data/doc/TaskJuggler/ScenarioListAttribute.html +39 -15
  168. data/doc/TaskJuggler/Scoreboard.html +137 -73
  169. data/doc/TaskJuggler/ScoreboardInterval.html +1116 -0
  170. data/doc/TaskJuggler/SheetHandlerBase.html +26 -2
  171. data/doc/TaskJuggler/SheetReceiver.html +26 -2
  172. data/doc/TaskJuggler/SheetSender.html +26 -2
  173. data/doc/TaskJuggler/Shift.html +27 -3
  174. data/doc/TaskJuggler/ShiftAssignment.html +27 -3
  175. data/doc/TaskJuggler/ShiftAssignments.html +174 -149
  176. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +41 -16
  177. data/doc/TaskJuggler/ShiftScenario.html +26 -2
  178. data/doc/TaskJuggler/SimpleQueryExpander.html +26 -2
  179. data/doc/TaskJuggler/SortListAttribute.html +35 -11
  180. data/doc/TaskJuggler/StatusSheetReceiver.html +26 -2
  181. data/doc/TaskJuggler/StatusSheetReport.html +26 -2
  182. data/doc/TaskJuggler/StatusSheetSender.html +26 -2
  183. data/doc/TaskJuggler/StdIoWrapper.html +26 -2
  184. data/doc/TaskJuggler/StringAttribute.html +39 -15
  185. data/doc/TaskJuggler/SymbolAttribute.html +35 -11
  186. data/doc/TaskJuggler/SyntaxReference.html +26 -2
  187. data/doc/TaskJuggler/TOCEntry.html +26 -2
  188. data/doc/TaskJuggler/TSResourceRecord.html +26 -2
  189. data/doc/TaskJuggler/TSTaskRecord.html +26 -2
  190. data/doc/TaskJuggler/TableColumnDefinition.html +26 -2
  191. data/doc/TaskJuggler/TableOfContents.html +26 -2
  192. data/doc/TaskJuggler/TableReport.html +239 -214
  193. data/doc/TaskJuggler/TagFile/TagFileEntry.html +841 -0
  194. data/doc/TaskJuggler/TagFile.html +817 -0
  195. data/doc/TaskJuggler/Task.html +27 -3
  196. data/doc/TaskJuggler/TaskDepListAttribute.html +47 -23
  197. data/doc/TaskJuggler/TaskDependency.html +26 -2
  198. data/doc/TaskJuggler/TaskListAttribute.html +47 -23
  199. data/doc/TaskJuggler/TaskListRE.html +26 -2
  200. data/doc/TaskJuggler/TaskScenario.html +2235 -2178
  201. data/doc/TaskJuggler/TernarySearchTree.html +26 -2
  202. data/doc/TaskJuggler/TextFormatter.html +26 -2
  203. data/doc/TaskJuggler/TextParser/Macro.html +26 -2
  204. data/doc/TaskJuggler/TextParser/MacroTable.html +26 -2
  205. data/doc/TaskJuggler/TextParser/Pattern.html +26 -2
  206. data/doc/TaskJuggler/TextParser/Rule.html +26 -2
  207. data/doc/TaskJuggler/TextParser/Scanner/BufferStreamHandle.html +32 -8
  208. data/doc/TaskJuggler/TextParser/Scanner/FileStreamHandle.html +39 -15
  209. data/doc/TaskJuggler/TextParser/Scanner/MacroStackEntry.html +26 -2
  210. data/doc/TaskJuggler/TextParser/Scanner/StreamHandle.html +119 -86
  211. data/doc/TaskJuggler/TextParser/Scanner.html +317 -291
  212. data/doc/TaskJuggler/TextParser/SourceFileInfo.html +26 -2
  213. data/doc/TaskJuggler/TextParser/StackElement.html +26 -2
  214. data/doc/TaskJuggler/TextParser/State.html +26 -2
  215. data/doc/TaskJuggler/TextParser/StateTransition.html +26 -2
  216. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +26 -2
  217. data/doc/TaskJuggler/TextParser/TokenDoc.html +26 -2
  218. data/doc/TaskJuggler/TextParser.html +85 -61
  219. data/doc/TaskJuggler/TextReport.html +26 -2
  220. data/doc/TaskJuggler/TimeInterval.html +841 -0
  221. data/doc/TaskJuggler/{IntervalListAttribute.html → TimeIntervalListAttribute.html} +33 -9
  222. data/doc/TaskJuggler/TimeSheet.html +26 -2
  223. data/doc/TaskJuggler/TimeSheetReceiver.html +26 -2
  224. data/doc/TaskJuggler/TimeSheetRecord.html +27 -3
  225. data/doc/TaskJuggler/TimeSheetReport.html +29 -5
  226. data/doc/TaskJuggler/TimeSheetSender.html +26 -2
  227. data/doc/TaskJuggler/TimeSheetSummary.html +26 -2
  228. data/doc/TaskJuggler/TimeSheets.html +26 -2
  229. data/doc/TaskJuggler/Tj3.html +150 -111
  230. data/doc/TaskJuggler/Tj3AppBase.html +26 -2
  231. data/doc/TaskJuggler/Tj3Client.html +26 -2
  232. data/doc/TaskJuggler/Tj3Daemon.html +26 -2
  233. data/doc/TaskJuggler/Tj3Man.html +26 -2
  234. data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -2
  235. data/doc/TaskJuggler/Tj3SsReceiver.html +26 -2
  236. data/doc/TaskJuggler/Tj3SsSender.html +26 -2
  237. data/doc/TaskJuggler/Tj3TsReceiver.html +26 -2
  238. data/doc/TaskJuggler/Tj3TsSender.html +26 -2
  239. data/doc/TaskJuggler/Tj3TsSummary.html +26 -2
  240. data/doc/TaskJuggler/TjException.html +26 -2
  241. data/doc/TaskJuggler/TjRuntimeError.html +26 -2
  242. data/doc/TaskJuggler/TjTime.html +539 -477
  243. data/doc/TaskJuggler/TjpExample.html +26 -2
  244. data/doc/TaskJuggler/TjpExportRE.html +240 -161
  245. data/doc/TaskJuggler/TjpSyntaxRules.html +4236 -3844
  246. data/doc/TaskJuggler/URLParameter.html +26 -2
  247. data/doc/TaskJuggler/UserManual.html +26 -2
  248. data/doc/TaskJuggler/VimSyntax.html +31 -7
  249. data/doc/TaskJuggler/WebServer.html +26 -2
  250. data/doc/TaskJuggler/WelcomePage.html +26 -2
  251. data/doc/TaskJuggler/WorkingHours.html +227 -152
  252. data/doc/TaskJuggler/WorkingHoursAttribute.html +62 -38
  253. data/doc/TaskJuggler/XMLBlob.html +26 -2
  254. data/doc/TaskJuggler/XMLComment.html +26 -2
  255. data/doc/TaskJuggler/XMLDocument.html +26 -2
  256. data/doc/TaskJuggler/XMLElement.html +26 -2
  257. data/doc/TaskJuggler/XMLNamedText.html +26 -2
  258. data/doc/TaskJuggler/XMLText.html +26 -2
  259. data/doc/TaskJuggler.html +486 -427
  260. data/doc/index.html +801 -659
  261. data/doc/lib/taskjuggler/AccountScenario_rb.html +1 -1
  262. data/doc/lib/taskjuggler/Account_rb.html +1 -1
  263. data/doc/lib/taskjuggler/AlgorithmDiff_rb.html +1 -1
  264. data/doc/lib/taskjuggler/Allocation_rb.html +1 -1
  265. data/doc/lib/taskjuggler/AppConfig_rb.html +1 -1
  266. data/doc/lib/taskjuggler/AttributeBase_rb.html +1 -1
  267. data/doc/lib/taskjuggler/AttributeDefinition_rb.html +1 -1
  268. data/doc/lib/taskjuggler/Attributes_rb.html +1 -1
  269. data/doc/lib/taskjuggler/BatchProcessor_rb.html +1 -1
  270. data/doc/lib/taskjuggler/Booking_rb.html +1 -1
  271. data/doc/lib/taskjuggler/ChargeSet_rb.html +1 -1
  272. data/doc/lib/taskjuggler/Charge_rb.html +1 -1
  273. data/doc/lib/taskjuggler/DataCache_rb.html +1 -1
  274. data/doc/lib/taskjuggler/FileList_rb.html +1 -1
  275. data/doc/lib/taskjuggler/HTMLDocument_rb.html +1 -1
  276. data/doc/lib/{ruby-signal-bug_rb.html → taskjuggler/HTMLElements_rb.html} +9 -9
  277. data/doc/lib/{exchangebug_rb.html → taskjuggler/ICalendar_rb.html} +9 -9
  278. data/doc/lib/taskjuggler/IntervalList_rb.html +1 -1
  279. data/doc/lib/taskjuggler/Interval_rb.html +1 -1
  280. data/doc/lib/taskjuggler/Journal_rb.html +1 -1
  281. data/doc/lib/taskjuggler/KeywordArray_rb.html +1 -1
  282. data/doc/lib/taskjuggler/KeywordDocumentation_rb.html +1 -1
  283. data/doc/lib/taskjuggler/Limits_rb.html +1 -1
  284. data/doc/lib/taskjuggler/LogFile_rb.html +1 -1
  285. data/doc/lib/taskjuggler/Log_rb.html +1 -1
  286. data/doc/lib/taskjuggler/LogicalExpression_rb.html +1 -1
  287. data/doc/lib/taskjuggler/LogicalFunction_rb.html +1 -1
  288. data/doc/lib/taskjuggler/LogicalOperation_rb.html +1 -1
  289. data/doc/lib/taskjuggler/MessageHandler_rb.html +1 -1
  290. data/doc/lib/taskjuggler/ProjectFileParser_rb.html +1 -1
  291. data/doc/lib/taskjuggler/ProjectFileScanner_rb.html +1 -1
  292. data/doc/lib/taskjuggler/Project_rb.html +1 -1
  293. data/doc/lib/taskjuggler/PropertyList_rb.html +1 -1
  294. data/doc/lib/taskjuggler/PropertySet_rb.html +1 -1
  295. data/doc/lib/taskjuggler/PropertyTreeNode_rb.html +1 -1
  296. data/doc/lib/taskjuggler/Query_rb.html +1 -1
  297. data/doc/lib/taskjuggler/RealFormat_rb.html +1 -1
  298. data/doc/lib/taskjuggler/ResourceScenario_rb.html +1 -1
  299. data/doc/lib/taskjuggler/Resource_rb.html +1 -1
  300. data/doc/lib/taskjuggler/RichText/Document_rb.html +1 -1
  301. data/doc/lib/taskjuggler/RichText/Element_rb.html +1 -1
  302. data/doc/lib/taskjuggler/RichText/FunctionExample_rb.html +1 -1
  303. data/doc/lib/taskjuggler/RichText/FunctionHandler_rb.html +1 -1
  304. data/doc/lib/taskjuggler/RichText/Parser_rb.html +1 -1
  305. data/doc/lib/taskjuggler/RichText/RTFHandlers_rb.html +1 -1
  306. data/doc/lib/taskjuggler/RichText/RTFNavigator_rb.html +1 -1
  307. data/doc/lib/taskjuggler/RichText/RTFQuery_rb.html +1 -1
  308. data/doc/lib/taskjuggler/RichText/RTFReportLink_rb.html +1 -1
  309. data/doc/lib/taskjuggler/RichText/RTFReport_rb.html +1 -1
  310. data/doc/lib/taskjuggler/RichText/RTFWithQuerySupport_rb.html +1 -1
  311. data/doc/lib/taskjuggler/RichText/Scanner_rb.html +1 -1
  312. data/doc/lib/taskjuggler/RichText/Snip_rb.html +1 -1
  313. data/doc/lib/taskjuggler/RichText/SyntaxRules_rb.html +1 -1
  314. data/doc/lib/taskjuggler/RichText/TOCEntry_rb.html +1 -1
  315. data/doc/lib/taskjuggler/RichText/TableOfContents_rb.html +1 -1
  316. data/doc/lib/taskjuggler/RichText_rb.html +1 -1
  317. data/doc/lib/taskjuggler/RuntimeConfig_rb.html +1 -1
  318. data/doc/lib/taskjuggler/ScenarioData_rb.html +1 -1
  319. data/doc/lib/taskjuggler/Scenario_rb.html +1 -1
  320. data/doc/lib/taskjuggler/Scoreboard_rb.html +1 -1
  321. data/doc/lib/taskjuggler/SheetHandlerBase_rb.html +1 -1
  322. data/doc/lib/taskjuggler/SheetReceiver_rb.html +1 -1
  323. data/doc/lib/taskjuggler/SheetSender_rb.html +1 -1
  324. data/doc/lib/taskjuggler/ShiftAssignments_rb.html +1 -1
  325. data/doc/lib/taskjuggler/ShiftScenario_rb.html +1 -1
  326. data/doc/lib/taskjuggler/Shift_rb.html +1 -1
  327. data/doc/lib/taskjuggler/SimpleQueryExpander_rb.html +1 -1
  328. data/doc/lib/taskjuggler/StatusSheetReceiver_rb.html +1 -1
  329. data/doc/lib/taskjuggler/StatusSheetSender_rb.html +1 -1
  330. data/doc/lib/taskjuggler/StdIoWrapper_rb.html +1 -1
  331. data/doc/lib/taskjuggler/SyntaxReference_rb.html +1 -1
  332. data/doc/lib/taskjuggler/TableColumnDefinition_rb.html +1 -1
  333. data/doc/lib/taskjuggler/TaskDependency_rb.html +1 -1
  334. data/doc/lib/taskjuggler/TaskJuggler_rb.html +1 -1
  335. data/doc/lib/taskjuggler/TaskScenario_rb.html +1 -1
  336. data/doc/lib/taskjuggler/Task_rb.html +1 -1
  337. data/doc/lib/taskjuggler/TernarySearchTree_rb.html +1 -1
  338. data/doc/lib/taskjuggler/TextFormatter_rb.html +1 -1
  339. data/doc/lib/taskjuggler/TextParser/MacroTable_rb.html +1 -1
  340. data/doc/lib/taskjuggler/TextParser/Pattern_rb.html +1 -1
  341. data/doc/lib/taskjuggler/TextParser/Rule_rb.html +1 -1
  342. data/doc/lib/taskjuggler/TextParser/Scanner_rb.html +1 -1
  343. data/doc/lib/taskjuggler/TextParser/SourceFileInfo_rb.html +1 -1
  344. data/doc/lib/taskjuggler/TextParser/StackElement_rb.html +1 -1
  345. data/doc/lib/taskjuggler/TextParser/State_rb.html +1 -1
  346. data/doc/lib/taskjuggler/TextParser/TokenDoc_rb.html +1 -1
  347. data/doc/lib/taskjuggler/TextParser_rb.html +1 -1
  348. data/doc/lib/taskjuggler/TimeSheetReceiver_rb.html +1 -1
  349. data/doc/lib/taskjuggler/TimeSheetSender_rb.html +1 -1
  350. data/doc/lib/taskjuggler/TimeSheetSummary_rb.html +1 -1
  351. data/doc/lib/taskjuggler/TimeSheets_rb.html +1 -1
  352. data/doc/lib/taskjuggler/Tj3AppBase_rb.html +1 -1
  353. data/doc/lib/taskjuggler/Tj3Config_rb.html +1 -1
  354. data/doc/lib/taskjuggler/Tj3SheetAppBase_rb.html +1 -1
  355. data/doc/lib/taskjuggler/TjException_rb.html +1 -1
  356. data/doc/lib/taskjuggler/TjTime_rb.html +1 -1
  357. data/doc/lib/taskjuggler/TjpExample_rb.html +1 -1
  358. data/doc/lib/taskjuggler/TjpSyntaxRules_rb.html +1 -1
  359. data/doc/lib/taskjuggler/URLParameter_rb.html +1 -1
  360. data/doc/lib/taskjuggler/UTF8String_rb.html +1 -1
  361. data/doc/lib/taskjuggler/UserManual_rb.html +1 -1
  362. data/doc/lib/taskjuggler/VimSyntax_rb.html +1 -1
  363. data/doc/lib/taskjuggler/WorkingHours_rb.html +1 -1
  364. data/doc/lib/taskjuggler/XMLDocument_rb.html +1 -1
  365. data/doc/lib/taskjuggler/XMLElement_rb.html +1 -1
  366. data/doc/lib/taskjuggler/apps/Tj3Client_rb.html +1 -1
  367. data/doc/lib/taskjuggler/apps/Tj3Daemon_rb.html +1 -1
  368. data/doc/lib/taskjuggler/apps/Tj3Man_rb.html +1 -1
  369. data/doc/lib/taskjuggler/apps/Tj3SsReceiver_rb.html +1 -1
  370. data/doc/lib/taskjuggler/apps/Tj3SsSender_rb.html +1 -1
  371. data/doc/lib/taskjuggler/apps/Tj3TsReceiver_rb.html +1 -1
  372. data/doc/lib/taskjuggler/apps/Tj3TsSender_rb.html +1 -1
  373. data/doc/lib/taskjuggler/apps/Tj3TsSummary_rb.html +1 -1
  374. data/doc/lib/taskjuggler/apps/Tj3_rb.html +1 -1
  375. data/doc/lib/taskjuggler/daemon/Daemon_rb.html +1 -1
  376. data/doc/lib/taskjuggler/daemon/ProcessIntercom_rb.html +1 -1
  377. data/doc/lib/taskjuggler/daemon/ProjectBroker_rb.html +1 -1
  378. data/doc/lib/taskjuggler/daemon/ProjectServer_rb.html +1 -1
  379. data/doc/lib/taskjuggler/daemon/ReportServer_rb.html +1 -1
  380. data/doc/lib/taskjuggler/daemon/ReportServlet_rb.html +1 -1
  381. data/doc/lib/taskjuggler/daemon/WebServer_rb.html +1 -1
  382. data/doc/lib/taskjuggler/daemon/WelcomePage_rb.html +1 -1
  383. data/doc/lib/taskjuggler/deep_copy_rb.html +1 -1
  384. data/doc/lib/taskjuggler/reports/CSVFile_rb.html +1 -1
  385. data/doc/lib/taskjuggler/reports/CollisionDetector_rb.html +1 -1
  386. data/doc/lib/taskjuggler/reports/ColumnTable_rb.html +1 -1
  387. data/doc/lib/taskjuggler/reports/GanttChart_rb.html +1 -1
  388. data/doc/lib/taskjuggler/reports/GanttContainer_rb.html +1 -1
  389. data/doc/lib/taskjuggler/reports/GanttHeaderScaleItem_rb.html +1 -1
  390. data/doc/lib/taskjuggler/reports/GanttHeader_rb.html +1 -1
  391. data/doc/lib/taskjuggler/reports/GanttLine_rb.html +1 -1
  392. data/doc/lib/taskjuggler/reports/GanttLoadStack_rb.html +1 -1
  393. data/doc/lib/taskjuggler/reports/GanttMilestone_rb.html +1 -1
  394. data/doc/lib/taskjuggler/reports/GanttRouter_rb.html +1 -1
  395. data/doc/lib/taskjuggler/reports/GanttTaskBar_rb.html +1 -1
  396. data/doc/lib/taskjuggler/reports/HTMLGraphics_rb.html +1 -1
  397. data/doc/lib/taskjuggler/reports/ICalReport_rb.html +71 -0
  398. data/doc/lib/taskjuggler/reports/Navigator_rb.html +1 -1
  399. data/doc/lib/taskjuggler/reports/NikuReport_rb.html +1 -1
  400. data/doc/lib/taskjuggler/reports/ReportBase_rb.html +1 -1
  401. data/doc/lib/taskjuggler/reports/ReportContext_rb.html +1 -1
  402. data/doc/lib/taskjuggler/reports/ReportTableCell_rb.html +1 -1
  403. data/doc/lib/taskjuggler/reports/ReportTableColumn_rb.html +1 -1
  404. data/doc/lib/taskjuggler/reports/ReportTableLegend_rb.html +1 -1
  405. data/doc/lib/taskjuggler/reports/ReportTableLine_rb.html +1 -1
  406. data/doc/lib/taskjuggler/reports/ReportTable_rb.html +1 -1
  407. data/doc/lib/taskjuggler/reports/Report_rb.html +5 -1
  408. data/doc/lib/taskjuggler/reports/ResourceListRE_rb.html +1 -1
  409. data/doc/lib/taskjuggler/reports/StatusSheetReport_rb.html +1 -1
  410. data/doc/lib/taskjuggler/reports/TableReport_rb.html +1 -1
  411. data/doc/lib/taskjuggler/reports/TagFile_rb.html +71 -0
  412. data/doc/lib/taskjuggler/reports/TaskListRE_rb.html +1 -1
  413. data/doc/lib/taskjuggler/reports/TextReport_rb.html +1 -1
  414. data/doc/lib/taskjuggler/reports/TimeSheetReport_rb.html +1 -1
  415. data/doc/lib/taskjuggler/reports/TjpExportRE_rb.html +1 -1
  416. data/doc/lib/tj3_rb.html +1 -1
  417. data/doc/lib/tj3client_rb.html +1 -1
  418. data/doc/lib/tj3d_rb.html +1 -1
  419. data/doc/lib/tj3man_rb.html +1 -1
  420. data/doc/lib/tj3ss_receiver_rb.html +1 -1
  421. data/doc/lib/tj3ss_sender_rb.html +1 -1
  422. data/doc/lib/tj3ts_receiver_rb.html +1 -1
  423. data/doc/lib/tj3ts_sender_rb.html +1 -1
  424. data/doc/lib/tj3ts_summary_rb.html +1 -1
  425. data/lib/taskjuggler/Account.rb +1 -1
  426. data/lib/taskjuggler/AccountScenario.rb +1 -1
  427. data/lib/taskjuggler/Allocation.rb +5 -5
  428. data/lib/taskjuggler/AttributeBase.rb +30 -22
  429. data/lib/taskjuggler/Attributes.rb +80 -78
  430. data/lib/taskjuggler/Booking.rb +2 -2
  431. data/lib/taskjuggler/Charge.rb +3 -3
  432. data/lib/taskjuggler/ICalendar.rb +251 -0
  433. data/lib/taskjuggler/Interval.rb +215 -53
  434. data/lib/taskjuggler/IntervalList.rb +5 -5
  435. data/lib/taskjuggler/Limits.rb +79 -69
  436. data/lib/taskjuggler/LogicalFunction.rb +2 -2
  437. data/lib/taskjuggler/MessageHandler.rb +11 -6
  438. data/lib/taskjuggler/Project.rb +208 -95
  439. data/lib/taskjuggler/ProjectFileParser.rb +2 -2
  440. data/lib/taskjuggler/ProjectFileScanner.rb +7 -6
  441. data/lib/taskjuggler/PropertySet.rb +1 -5
  442. data/lib/taskjuggler/PropertyTreeNode.rb +21 -16
  443. data/lib/taskjuggler/Query.rb +10 -7
  444. data/lib/taskjuggler/Resource.rb +6 -1
  445. data/lib/taskjuggler/ResourceScenario.rb +85 -69
  446. data/lib/taskjuggler/RichText/RTFQuery.rb +2 -2
  447. data/lib/taskjuggler/ScenarioData.rb +11 -1
  448. data/lib/taskjuggler/Scoreboard.rb +8 -1
  449. data/lib/taskjuggler/Shift.rb +1 -1
  450. data/lib/taskjuggler/ShiftAssignments.rb +22 -20
  451. data/lib/taskjuggler/Task.rb +1 -1
  452. data/lib/taskjuggler/TaskJuggler.rb +65 -51
  453. data/lib/taskjuggler/TaskScenario.rb +486 -419
  454. data/lib/taskjuggler/TextParser/Scanner.rb +22 -11
  455. data/lib/taskjuggler/TimeSheets.rb +1 -1
  456. data/lib/taskjuggler/Tj3Config.rb +1 -1
  457. data/lib/taskjuggler/TjTime.rb +7 -3
  458. data/lib/taskjuggler/TjpSyntaxRules.rb +157 -23
  459. data/lib/taskjuggler/VimSyntax.rb +18 -0
  460. data/lib/taskjuggler/WorkingHours.rb +20 -4
  461. data/lib/taskjuggler/apps/Tj3.rb +16 -1
  462. data/lib/taskjuggler/reports/GanttLine.rb +1 -1
  463. data/lib/taskjuggler/reports/ICalReport.rb +136 -0
  464. data/lib/taskjuggler/reports/NikuReport.rb +1 -1
  465. data/lib/taskjuggler/reports/Report.rb +59 -0
  466. data/lib/taskjuggler/reports/ReportBase.rb +2 -67
  467. data/lib/taskjuggler/reports/TableReport.rb +9 -8
  468. data/lib/taskjuggler/reports/TagFile.rb +120 -0
  469. data/lib/taskjuggler/reports/TimeSheetReport.rb +3 -3
  470. data/lib/taskjuggler/reports/TjpExportRE.rb +33 -9
  471. data/manual/Installation +126 -0
  472. data/spec/ICalendar_spec.rb +45 -0
  473. data/spec/IntervalList_spec.rb +11 -11
  474. data/tasks/changelog.rake +150 -60
  475. data/tasks/gem.rake +1 -0
  476. data/tasks/vim.rake +2 -2
  477. data/test/TestSuite/Export-Reports/refs/Booking.tjp +1 -1
  478. data/test/TestSuite/Export-Reports/refs/CompletedWork.tji.tjp +40 -0
  479. data/test/TestSuite/Export-Reports/refs/Macro-2.tjp +10 -1
  480. data/test/TestSuite/Export-Reports/refs/TaskPrefix.tjp +1 -1
  481. data/test/TestSuite/HTML-Reports/Alerts.html +160 -412
  482. data/test/TestSuite/HTML-Reports/CellText.html +758 -0
  483. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
  484. data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
  485. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +245 -0
  486. data/test/TestSuite/HTML-Reports/Query.html +31 -0
  487. data/test/TestSuite/HTML-Reports/css/tjmanual.css +0 -20
  488. data/test/TestSuite/HTML-Reports/css/tjreport.css +6 -7
  489. data/test/TestSuite/HTML-Reports/depArrows.html +851 -0
  490. data/test/TestSuite/HTML-Reports/profile.html +37581 -0
  491. data/test/TestSuite/{Scheduler/Correct → HTML-Reports/scripts}/scripts/wz_tooltip.js +20 -20
  492. data/test/TestSuite/Scheduler/Correct/Booking.tjp +3 -3
  493. data/test/TestSuite/Scheduler/Correct/Duration.tjp +3 -3
  494. data/test/TestSuite/Scheduler/Errors/R.html +113 -0
  495. data/test/TestSuite/Scheduler/Errors/allocate_no_assigned.tjp +15 -0
  496. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/css/tjmanual.css +0 -1
  497. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/css/tjreport.css +0 -0
  498. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/details.png +0 -0
  499. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/flag-green.png +0 -0
  500. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/flag-red.png +0 -0
  501. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/flag-yellow.png +0 -0
  502. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/resource.png +0 -0
  503. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/resourcegroup.png +0 -0
  504. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/task.png +0 -0
  505. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/taskgroup.png +0 -0
  506. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/trend-down.png +0 -0
  507. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/trend-flat.png +0 -0
  508. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/trend-up.png +0 -0
  509. data/test/TestSuite/Scheduler/Errors/overbooked_duration.tjp +11 -0
  510. data/test/TestSuite/Scheduler/Errors/overbooked_effort.tjp +11 -0
  511. data/test/TestSuite/Scheduler/Errors/overbooked_length.tjp +13 -0
  512. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/scripts/wz_tooltip.js +0 -0
  513. data/test/TestSuite/StatusSheets/dev2.tji +22 -0
  514. data/test/TestSuite/Syntax/Correct/CompletedWork.tji.tjp +38 -0
  515. data/test/TestSuite/Syntax/Correct/Macro-2.tjp +5 -2
  516. data/test/TestSuite/Syntax/Errors/scenario_after_tracking.tjp +8 -0
  517. data/test/TestSuite/TimeSheets/resrep.tji +7 -0
  518. data/test/TestSuite/TimeSheets/ts.tji +351 -0
  519. data/test/TestSuite/TimeSheets/tsdef.tji +2 -0
  520. data/test/test_Limits.rb +38 -30
  521. data/test/test_Scheduler.rb +2 -2
  522. data/test/test_ShiftAssignments.rb +8 -8
  523. data/test/test_WorkingHours.rb +4 -4
  524. metadata +1015 -1005
  525. data/lib/exchangebug.rb +0 -42
  526. data/lib/ruby-signal-bug.rb +0 -55
  527. data/test/TestSuite/Export-Reports/refs/DST.tjp +0 -60
  528. data/test/TestSuite/Export-Reports/refs/ReleasePlan.tjp +0 -80
  529. data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
  530. data/test/TestSuite/HTML-Reports/reference.html +0 -51
  531. data/test/TestSuite/ReportGenerator/Correct/Alerts-1.csv +0 -412
  532. data/test/TestSuite/ReportGenerator/Correct/Alerts-1.html +0 -680
  533. data/test/TestSuite/ReportGenerator/Correct/DependencyList.csv +0 -4
  534. data/test/TestSuite/ReportGenerator/Correct/DependencyList.tjp +0 -25
  535. data/test/TestSuite/ReportGenerator/Correct/Journal-1.csv +0 -8
  536. data/test/TestSuite/ReportGenerator/Correct/Journal-2.csv +0 -8
  537. data/test/TestSuite/ReportGenerator/Correct/Journal-3.html +0 -28
  538. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +0 -3
  539. data/test/TestSuite/ReportGenerator/Correct/opennodes-1.csv +0 -2
  540. data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +0 -2
  541. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
  542. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
  543. data/test/TestSuite/Scheduler/' +0 -23
  544. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -86
  545. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +0 -413
  546. data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
  547. data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
  548. data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
  549. data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
  550. data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
  551. data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
  552. data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
  553. data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
  554. data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
  555. data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
  556. data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
  557. data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
  558. data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
  559. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/resource1_2002-03-01.tji +0 -0
  560. data/test/TestSuite/Syntax/Correct/DST.tjp +0 -11
  561. data/test/TestSuite/Syntax/Correct/ReleasePlan.tjp +0 -32
  562. data/test/TestSuite/TimeSheets/receiver.log.mod +0 -1056
  563. data/test/TestSuite/TimeSheets/uu.txt +0 -29
@@ -79,14 +79,10 @@
79
79
 
80
80
  <li><a href="#method-i-contains%3F">#contains?</a></li>
81
81
 
82
- <li><a href="#method-i-duration">#duration</a></li>
83
-
84
82
  <li><a href="#method-i-intersection">#intersection</a></li>
85
83
 
86
84
  <li><a href="#method-i-overlaps%3F">#overlaps?</a></li>
87
85
 
88
- <li><a href="#method-i-to_s">#to_s</a></li>
89
-
90
86
  </ul>
91
87
  </div>
92
88
 
@@ -223,12 +219,24 @@
223
219
 
224
220
  <li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
225
221
 
222
+ <li><a href="../TaskJuggler/ICalReport.html">TaskJuggler::ICalReport</a></li>
223
+
224
+ <li><a href="../TaskJuggler/ICalendar.html">TaskJuggler::ICalendar</a></li>
225
+
226
+ <li><a href="../TaskJuggler/ICalendar/Component.html">TaskJuggler::ICalendar::Component</a></li>
227
+
228
+ <li><a href="../TaskJuggler/ICalendar/Event.html">TaskJuggler::ICalendar::Event</a></li>
229
+
230
+ <li><a href="../TaskJuggler/ICalendar/Journal.html">TaskJuggler::ICalendar::Journal</a></li>
231
+
232
+ <li><a href="../TaskJuggler/ICalendar/Person.html">TaskJuggler::ICalendar::Person</a></li>
233
+
234
+ <li><a href="../TaskJuggler/ICalendar/Todo.html">TaskJuggler::ICalendar::Todo</a></li>
235
+
226
236
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
227
237
 
228
238
  <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
229
239
 
230
- <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
231
-
232
240
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
233
241
 
234
242
  <li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
@@ -343,6 +351,8 @@
343
351
 
344
352
  <li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
345
353
 
354
+ <li><a href="../TaskJuggler/ReportScenario.html">TaskJuggler::ReportScenario</a></li>
355
+
346
356
  <li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
347
357
 
348
358
  <li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
@@ -401,6 +411,8 @@
401
411
 
402
412
  <li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
403
413
 
414
+ <li><a href="../TaskJuggler/ScoreboardInterval.html">TaskJuggler::ScoreboardInterval</a></li>
415
+
404
416
  <li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
405
417
 
406
418
  <li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
@@ -447,6 +459,10 @@
447
459
 
448
460
  <li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
449
461
 
462
+ <li><a href="../TaskJuggler/TagFile.html">TaskJuggler::TagFile</a></li>
463
+
464
+ <li><a href="../TaskJuggler/TagFile/TagFileEntry.html">TaskJuggler::TagFile::TagFileEntry</a></li>
465
+
450
466
  <li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
451
467
 
452
468
  <li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
@@ -497,6 +513,10 @@
497
513
 
498
514
  <li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
499
515
 
516
+ <li><a href="../TaskJuggler/TimeInterval.html">TaskJuggler::TimeInterval</a></li>
517
+
518
+ <li><a href="../TaskJuggler/TimeIntervalListAttribute.html">TaskJuggler::TimeIntervalListAttribute</a></li>
519
+
500
520
  <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
501
521
 
502
522
  <li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
@@ -600,9 +620,8 @@
600
620
 
601
621
  <div id="description">
602
622
  <p>
603
- The <a href="Interval.html">Interval</a> class provides objects that model
604
- a time interval. The start end end time are represented as seconds after
605
- Jan 1, 1970. The start is part of the interval, the end is not.
623
+ This is the based class used to store several kinds of intervals in derived
624
+ classes.
606
625
  </p>
607
626
 
608
627
  </div>
@@ -619,11 +638,9 @@ Jan 1, 1970. The start is part of the interval, the end is not.
619
638
  <div id="start-attribute-method" class="method-detail">
620
639
  <a name="start"></a>
621
640
 
622
- <a name="start="></a>
623
-
624
641
  <div class="method-heading attribute-method-heading">
625
642
  <span class="method-name">start</span><span
626
- class="attribute-access-type">[RW]</span>
643
+ class="attribute-access-type">[R]</span>
627
644
  </div>
628
645
 
629
646
  <div class="method-description">
@@ -636,11 +653,9 @@ Jan 1, 1970. The start is part of the interval, the end is not.
636
653
  <div id="end-attribute-method" class="method-detail">
637
654
  <a name="end"></a>
638
655
 
639
- <a name="end="></a>
640
-
641
656
  <div class="method-heading attribute-method-heading">
642
657
  <span class="method-name">end</span><span
643
- class="attribute-access-type">[RW]</span>
658
+ class="attribute-access-type">[R]</span>
644
659
  </div>
645
660
 
646
661
  <div class="method-description">
@@ -665,7 +680,7 @@ Jan 1, 1970. The start is part of the interval, the end is not.
665
680
  <div class="method-heading">
666
681
 
667
682
  <span class="method-name">new</span><span
668
- class="method-args">(*args)</span>
683
+ class="method-args">(s, e)</span>
669
684
  <span class="method-click-advice">click to toggle source</span>
670
685
 
671
686
  </div>
@@ -673,15 +688,8 @@ Jan 1, 1970. The start is part of the interval, the end is not.
673
688
  <div class="method-description">
674
689
 
675
690
  <p>
676
- Create a new <a href="Interval.html">Interval</a>. <em>args</em> can be
677
- three different kind of arguments.
678
- </p>
679
- <p>
680
- a and b should be <a href="TjTime.html">TjTime</a> objects.
681
- </p>
682
- <p>
683
- Interval.new(a, b) | -> Interval(a, b) Interval.new(a) | ->
684
- Interval(a, a) Interval.new(iv) | -> Interval(iv.start, iv.end)
691
+ Create a new <a href="Interval.html">Interval</a> object. <em>s</em> is the
692
+ interval start, <em>e</em> the interval end (not included).
685
693
  </p>
686
694
 
687
695
 
@@ -689,32 +697,15 @@ Interval(a, a) Interval.new(iv) | -> Interval(iv.start, iv.end)
689
697
  <div class="method-source-code"
690
698
  id="new-source">
691
699
  <pre>
692
- <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 33</span>
693
- 33: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(*<span class="ruby-identifier">args</span>)
694
- 34: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
695
- 35: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
696
- 36: <span class="ruby-comment cmt"># Just one argument, a date</span>
697
- 37: <span class="ruby-ivar">@start</span> = <span class="ruby-ivar">@end</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
698
- 38: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Interval</span>)
699
- 39: <span class="ruby-comment cmt"># Just one argument, an Interval</span>
700
- 40: <span class="ruby-ivar">@start</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">start</span>
701
- 41: <span class="ruby-ivar">@end</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">end</span>
702
- 42: <span class="ruby-keyword kw">else</span>
703
- 43: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Illegal argument&quot;</span>
704
- 44: <span class="ruby-keyword kw">end</span>
705
- 45: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span>
706
- 46: <span class="ruby-comment cmt"># Two arguments, a start and end date</span>
707
- 47: <span class="ruby-ivar">@start</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
708
- 48: <span class="ruby-ivar">@end</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>]
709
- 49: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Interval start must be a date&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
710
- 50: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Interval end must be a date&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@end</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
711
- 51: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@end</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@start</span>
712
- 52: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Invalid interval&quot;</span>
713
- 53: <span class="ruby-keyword kw">end</span>
714
- 54: <span class="ruby-keyword kw">else</span>
715
- 55: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Illegal arguments&quot;</span>
716
- 56: <span class="ruby-keyword kw">end</span>
717
- 57: <span class="ruby-keyword kw">end</span></pre>
700
+ <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 26</span>
701
+ 26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">s</span>, <span class="ruby-identifier">e</span>)
702
+ 27: <span class="ruby-ivar">@start</span> = <span class="ruby-identifier">s</span>
703
+ 28: <span class="ruby-ivar">@end</span> = <span class="ruby-identifier">e</span>
704
+ 29: <span class="ruby-comment cmt"># The end must not be before the start.</span>
705
+ 30: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@end</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@start</span>
706
+ 31: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;Invalid interval (#{s} - #{e})&quot;</span>
707
+ 32: <span class="ruby-keyword kw">end</span>
708
+ 33: <span class="ruby-keyword kw">end</span></pre>
718
709
  </div>
719
710
 
720
711
  </div>
@@ -755,15 +746,16 @@ href="Interval.html">Interval</a> objects.
755
746
  <div class="method-source-code"
756
747
  id="--source">
757
748
  <pre>
758
- <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 108</span>
759
- 108: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;=&gt;</span>(<span class="ruby-identifier">iv</span>)
760
- 109: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@end</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>
761
- 110: <span class="ruby-value">1</span>
762
- 111: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@start</span>
763
- 112: <span class="ruby-value">1</span>
764
- 113: <span class="ruby-keyword kw">end</span>
765
- 114: <span class="ruby-value">0</span>
766
- 115: <span class="ruby-keyword kw">end</span></pre>
749
+ <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 85</span>
750
+ 85: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;=&gt;</span>(<span class="ruby-identifier">iv</span>)
751
+ 86: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Class mismatch&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">class</span>
752
+ 87: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@end</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>
753
+ 88: <span class="ruby-value">1</span>
754
+ 89: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@start</span>
755
+ 90: <span class="ruby-value">1</span>
756
+ 91: <span class="ruby-keyword kw">end</span>
757
+ 92: <span class="ruby-value">0</span>
758
+ 93: <span class="ruby-keyword kw">end</span></pre>
767
759
  </div>
768
760
 
769
761
  </div>
@@ -797,10 +789,11 @@ describes an identical time period.
797
789
  <div class="method-source-code"
798
790
  id="--source">
799
791
  <pre>
800
- <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 118</span>
801
- 118: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">iv</span>)
802
- 119: <span class="ruby-ivar">@start</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@end</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>
803
- 120: <span class="ruby-keyword kw">end</span></pre>
792
+ <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 96</span>
793
+ 96: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">iv</span>)
794
+ 97: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Class mismatch&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">class</span>
795
+ 98: <span class="ruby-ivar">@start</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@end</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>
796
+ 99: <span class="ruby-keyword kw">end</span></pre>
804
797
  </div>
805
798
 
806
799
  </div>
@@ -834,18 +827,19 @@ self. If <em>iv</em> does not directly attach to self, just return self.
834
827
  <div class="method-source-code"
835
828
  id="combine-source">
836
829
  <pre>
837
- <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 94</span>
838
- 94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">combine</span>(<span class="ruby-identifier">iv</span>)
839
- 95: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@start</span>
840
- 96: <span class="ruby-comment cmt"># Prepend iv</span>
841
- 97: <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span> <span class="ruby-constant">Interval</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>, <span class="ruby-ivar">@end</span>)
842
- 98: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@end</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>
843
- 99: <span class="ruby-comment cmt"># Append iv</span>
844
- 100: <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span> <span class="ruby-constant">Interval</span>(<span class="ruby-ivar">@start</span>, <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>)
845
- 101: <span class="ruby-keyword kw">else</span>
846
- 102: <span class="ruby-keyword kw">self</span>
847
- 103: <span class="ruby-keyword kw">end</span>
848
- 104: <span class="ruby-keyword kw">end</span></pre>
830
+ <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 70</span>
831
+ 70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">combine</span>(<span class="ruby-identifier">iv</span>)
832
+ 71: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Class mismatch&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">class</span>
833
+ 72: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@start</span>
834
+ 73: <span class="ruby-comment cmt"># Prepend iv</span>
835
+ 74: <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>, <span class="ruby-ivar">@end</span>)
836
+ 75: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@end</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>
837
+ 76: <span class="ruby-comment cmt"># Append iv</span>
838
+ 77: <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@start</span>, <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>)
839
+ 78: <span class="ruby-keyword kw">else</span>
840
+ 79: <span class="ruby-keyword kw">self</span>
841
+ 80: <span class="ruby-keyword kw">end</span>
842
+ 81: <span class="ruby-keyword kw">end</span></pre>
849
843
  </div>
850
844
 
851
845
  </div>
@@ -881,50 +875,16 @@ href="Interval.html">Interval</a>.
881
875
  <div class="method-source-code"
882
876
  id="contains--source">
883
877
  <pre>
884
- <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 66</span>
885
- 66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">contains?</span>(<span class="ruby-identifier">arg</span>)
886
- 67: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
887
- 68: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-identifier">arg</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">arg</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@end</span>
888
- 69: <span class="ruby-keyword kw">else</span>
889
- 70: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-ivar">@end</span>
890
- 71: <span class="ruby-keyword kw">end</span>
891
- 72: <span class="ruby-keyword kw">end</span></pre>
892
- </div>
893
-
894
- </div>
895
-
896
-
897
-
898
-
899
- </div>
900
-
901
-
902
- <div id="duration-method" class="method-detail ">
903
- <a name="method-i-duration"></a>
904
-
905
- <div class="method-heading">
906
-
907
- <span class="method-name">duration</span><span
908
- class="method-args">()</span>
909
- <span class="method-click-advice">click to toggle source</span>
910
-
911
- </div>
912
-
913
- <div class="method-description">
914
-
915
- <p>
916
- Return the duration of the <a href="Interval.html">Interval</a>.
917
- </p>
918
-
919
-
920
-
921
- <div class="method-source-code"
922
- id="duration-source">
923
- <pre>
924
- <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 60</span>
925
- 60: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">duration</span>
926
- 61: <span class="ruby-ivar">@end</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start</span>
927
- 62: <span class="ruby-keyword kw">end</span></pre>
878
+ <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 37</span>
879
+ 37: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">contains?</span>(<span class="ruby-identifier">arg</span>)
880
+ 38: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Interval</span>)
881
+ 39: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Class mismatch&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">class</span>
882
+ 40: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-ivar">@end</span>
883
+ 41: <span class="ruby-keyword kw">else</span>
884
+ 42: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Class mismatch&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">class</span>
885
+ 43: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-identifier">arg</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">arg</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@end</span>
886
+ 44: <span class="ruby-keyword kw">end</span>
887
+ 45: <span class="ruby-keyword kw">end</span></pre>
928
888
  </div>
929
889
 
930
890
  </div>
@@ -959,12 +919,13 @@ there is no overlap, nil is returned.
959
919
  <div class="method-source-code"
960
920
  id="intersection-source">
961
921
  <pre>
962
- <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 86</span>
963
- 86: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">intersection</span>(<span class="ruby-identifier">iv</span>)
964
- 87: <span class="ruby-identifier">newStart</span> = <span class="ruby-ivar">@start</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>
965
- 88: <span class="ruby-identifier">newEnd</span> = <span class="ruby-ivar">@end</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@end</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>
966
- 89: <span class="ruby-identifier">newStart</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">newEnd</span> <span class="ruby-operator">?</span> <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">newStart</span>, <span class="ruby-identifier">newEnd</span>) <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
967
- 90: <span class="ruby-keyword kw">end</span></pre>
922
+ <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 61</span>
923
+ 61: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">intersection</span>(<span class="ruby-identifier">iv</span>)
924
+ 62: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Class mismatch&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">class</span>
925
+ 63: <span class="ruby-identifier">newStart</span> = <span class="ruby-ivar">@start</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>
926
+ 64: <span class="ruby-identifier">newEnd</span> = <span class="ruby-ivar">@end</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@end</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>
927
+ 65: <span class="ruby-identifier">newStart</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">newEnd</span> <span class="ruby-operator">?</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">newStart</span>, <span class="ruby-identifier">newEnd</span>) <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
928
+ 66: <span class="ruby-keyword kw">end</span></pre>
968
929
  </div>
969
930
 
970
931
  </div>
@@ -990,7 +951,7 @@ there is no overlap, nil is returned.
990
951
 
991
952
  <p>
992
953
  Check whether the <a href="Interval.html">Interval</a> <em>arg</em>
993
- overlaps with this interval.
954
+ overlaps with this <a href="Interval.html">Interval</a>.
994
955
  </p>
995
956
 
996
957
 
@@ -998,51 +959,17 @@ overlaps with this interval.
998
959
  <div class="method-source-code"
999
960
  id="overlaps--source">
1000
961
  <pre>
1001
- <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 75</span>
1002
- 75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">arg</span>)
1003
- 76: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
1004
- 77: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-identifier">arg</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">arg</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@end</span>
1005
- 78: <span class="ruby-keyword kw">else</span>
1006
- 79: <span class="ruby-keyword kw">return</span> (<span class="ruby-ivar">@start</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@end</span>) <span class="ruby-operator">||</span>
1007
- 80: (<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">end</span>)
1008
- 81: <span class="ruby-keyword kw">end</span>
1009
- 82: <span class="ruby-keyword kw">end</span></pre>
1010
- </div>
1011
-
1012
- </div>
1013
-
1014
-
1015
-
1016
-
1017
- </div>
1018
-
1019
-
1020
- <div id="to-s-method" class="method-detail ">
1021
- <a name="method-i-to_s"></a>
1022
-
1023
- <div class="method-heading">
1024
-
1025
- <span class="method-name">to_s</span><span
1026
- class="method-args">()</span>
1027
- <span class="method-click-advice">click to toggle source</span>
1028
-
1029
- </div>
1030
-
1031
- <div class="method-description">
1032
-
1033
- <p>
1034
- Turn the <a href="Interval.html">Interval</a> into a human readable form.
1035
- </p>
1036
-
1037
-
1038
-
1039
- <div class="method-source-code"
1040
- id="to-s-source">
1041
- <pre>
1042
- <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 123</span>
1043
- 123: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
1044
- 124: <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">' - '</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@end</span>.<span class="ruby-identifier">to_s</span>
1045
- 125: <span class="ruby-keyword kw">end</span></pre>
962
+ <span class="ruby-comment cmt"># File lib/taskjuggler/Interval.rb, line 48</span>
963
+ 48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">arg</span>)
964
+ 49: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Interval</span>)
965
+ 50: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Class mismatch&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">class</span>
966
+ 51: <span class="ruby-keyword kw">return</span> (<span class="ruby-ivar">@start</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@end</span>) <span class="ruby-operator">||</span>
967
+ 52: (<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">start</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">end</span>)
968
+ 53: <span class="ruby-keyword kw">else</span>
969
+ 54: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Class mismatch&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">class</span>
970
+ 55: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-identifier">arg</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">arg</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@end</span>
971
+ 56: <span class="ruby-keyword kw">end</span>
972
+ 57: <span class="ruby-keyword kw">end</span></pre>
1046
973
  </div>
1047
974
 
1048
975
  </div>
@@ -211,12 +211,24 @@
211
211
 
212
212
  <li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
213
213
 
214
+ <li><a href="../TaskJuggler/ICalReport.html">TaskJuggler::ICalReport</a></li>
215
+
216
+ <li><a href="../TaskJuggler/ICalendar.html">TaskJuggler::ICalendar</a></li>
217
+
218
+ <li><a href="../TaskJuggler/ICalendar/Component.html">TaskJuggler::ICalendar::Component</a></li>
219
+
220
+ <li><a href="../TaskJuggler/ICalendar/Event.html">TaskJuggler::ICalendar::Event</a></li>
221
+
222
+ <li><a href="../TaskJuggler/ICalendar/Journal.html">TaskJuggler::ICalendar::Journal</a></li>
223
+
224
+ <li><a href="../TaskJuggler/ICalendar/Person.html">TaskJuggler::ICalendar::Person</a></li>
225
+
226
+ <li><a href="../TaskJuggler/ICalendar/Todo.html">TaskJuggler::ICalendar::Todo</a></li>
227
+
214
228
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
215
229
 
216
230
  <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
217
231
 
218
- <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
219
-
220
232
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
221
233
 
222
234
  <li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
@@ -331,6 +343,8 @@
331
343
 
332
344
  <li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
333
345
 
346
+ <li><a href="../TaskJuggler/ReportScenario.html">TaskJuggler::ReportScenario</a></li>
347
+
334
348
  <li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
335
349
 
336
350
  <li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
@@ -389,6 +403,8 @@
389
403
 
390
404
  <li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
391
405
 
406
+ <li><a href="../TaskJuggler/ScoreboardInterval.html">TaskJuggler::ScoreboardInterval</a></li>
407
+
392
408
  <li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
393
409
 
394
410
  <li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
@@ -435,6 +451,10 @@
435
451
 
436
452
  <li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
437
453
 
454
+ <li><a href="../TaskJuggler/TagFile.html">TaskJuggler::TagFile</a></li>
455
+
456
+ <li><a href="../TaskJuggler/TagFile/TagFileEntry.html">TaskJuggler::TagFile::TagFileEntry</a></li>
457
+
438
458
  <li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
439
459
 
440
460
  <li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
@@ -485,6 +505,10 @@
485
505
 
486
506
  <li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
487
507
 
508
+ <li><a href="../TaskJuggler/TimeInterval.html">TaskJuggler::TimeInterval</a></li>
509
+
510
+ <li><a href="../TaskJuggler/TimeIntervalListAttribute.html">TaskJuggler::TimeIntervalListAttribute</a></li>
511
+
488
512
  <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
489
513
 
490
514
  <li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
@@ -639,11 +663,11 @@ in ascending order.
639
663
  33: <span class="ruby-identifier">si</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
640
664
  34: <span class="ruby-keyword kw">elsif</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">si</span>].<span class="ruby-identifier">end</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">list</span>[<span class="ruby-identifier">li</span>].<span class="ruby-identifier">end</span>
641
665
  35: <span class="ruby-comment cmt"># self[si] does overlap with list[li] but list[li] goes further</span>
642
- 36: <span class="ruby-identifier">res</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">list</span>[<span class="ruby-identifier">li</span>].<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">si</span>].<span class="ruby-identifier">end</span>)
666
+ 36: <span class="ruby-identifier">res</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">si</span>].<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">list</span>[<span class="ruby-identifier">li</span>].<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">si</span>].<span class="ruby-identifier">end</span>)
643
667
  37: <span class="ruby-identifier">si</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
644
668
  38: <span class="ruby-keyword kw">else</span>
645
669
  39: <span class="ruby-comment cmt"># self[si] does overlap with list[li] but self[si] goes further</span>
646
- 40: <span class="ruby-identifier">res</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">list</span>[<span class="ruby-identifier">li</span>].<span class="ruby-identifier">start</span>, <span class="ruby-identifier">list</span>[<span class="ruby-identifier">li</span>].<span class="ruby-identifier">end</span>)
670
+ 40: <span class="ruby-identifier">res</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">si</span>].<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">list</span>[<span class="ruby-identifier">li</span>].<span class="ruby-identifier">start</span>, <span class="ruby-identifier">list</span>[<span class="ruby-identifier">li</span>].<span class="ruby-identifier">end</span>)
647
671
  41: <span class="ruby-identifier">li</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
648
672
  42: <span class="ruby-keyword kw">end</span>
649
673
  43: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">list</span>[<span class="ruby-identifier">li</span>].<span class="ruby-identifier">start</span> <span class="ruby-operator">&lt;</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">si</span>].<span class="ruby-identifier">start</span>
@@ -654,11 +678,11 @@ in ascending order.
654
678
  48: <span class="ruby-identifier">li</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
655
679
  49: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">list</span>[<span class="ruby-identifier">li</span>].<span class="ruby-identifier">end</span> <span class="ruby-operator">&lt;</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">si</span>].<span class="ruby-identifier">end</span>
656
680
  50: <span class="ruby-comment cmt"># list[li] does overlap with self[si] but self[si] goes further</span>
657
- 51: <span class="ruby-identifier">res</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">si</span>].<span class="ruby-identifier">start</span>, <span class="ruby-identifier">list</span>[<span class="ruby-identifier">li</span>].<span class="ruby-identifier">end</span>)
681
+ 51: <span class="ruby-identifier">res</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">si</span>].<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">si</span>].<span class="ruby-identifier">start</span>, <span class="ruby-identifier">list</span>[<span class="ruby-identifier">li</span>].<span class="ruby-identifier">end</span>)
658
682
  52: <span class="ruby-identifier">li</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
659
683
  53: <span class="ruby-keyword kw">else</span>
660
684
  54: <span class="ruby-comment cmt"># list[li] does overlap with self[si] but list[li] goes further</span>
661
- 55: <span class="ruby-identifier">res</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">si</span>].<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">si</span>].<span class="ruby-identifier">end</span>)
685
+ 55: <span class="ruby-identifier">res</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">si</span>].<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">si</span>].<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">si</span>].<span class="ruby-identifier">end</span>)
662
686
  56: <span class="ruby-identifier">si</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
663
687
  57: <span class="ruby-keyword kw">end</span>
664
688
  58: <span class="ruby-keyword kw">else</span>
@@ -724,7 +748,7 @@ with the last item.
724
748
  86: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Intervals may not overlap and must be added in &quot;</span> <span class="ruby-operator">+</span>
725
749
  87: <span class="ruby-value str">&quot;ascending order.&quot;</span>
726
750
  88: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">last</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>
727
- 89: <span class="ruby-keyword kw">self</span>[<span class="ruby-value">1</span>] = <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">last</span>.<span class="ruby-identifier">start</span>, <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>)
751
+ 89: <span class="ruby-keyword kw">self</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">last</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">last</span>.<span class="ruby-identifier">start</span>, <span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>)
728
752
  90: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>
729
753
  91: <span class="ruby-keyword kw">end</span>
730
754
  92: <span class="ruby-keyword kw">end</span>