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
@@ -171,6 +171,8 @@
171
171
 
172
172
  <li><a href="#method-i-upto">#upto</a></li>
173
173
 
174
+ <li><a href="#method-i-utc">#utc</a></li>
175
+
174
176
  <li><a href="#method-i-wday">#wday</a></li>
175
177
 
176
178
  <li><a href="#method-i-week">#week</a></li>
@@ -319,12 +321,24 @@
319
321
 
320
322
  <li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
321
323
 
324
+ <li><a href="../TaskJuggler/ICalReport.html">TaskJuggler::ICalReport</a></li>
325
+
326
+ <li><a href="../TaskJuggler/ICalendar.html">TaskJuggler::ICalendar</a></li>
327
+
328
+ <li><a href="../TaskJuggler/ICalendar/Component.html">TaskJuggler::ICalendar::Component</a></li>
329
+
330
+ <li><a href="../TaskJuggler/ICalendar/Event.html">TaskJuggler::ICalendar::Event</a></li>
331
+
332
+ <li><a href="../TaskJuggler/ICalendar/Journal.html">TaskJuggler::ICalendar::Journal</a></li>
333
+
334
+ <li><a href="../TaskJuggler/ICalendar/Person.html">TaskJuggler::ICalendar::Person</a></li>
335
+
336
+ <li><a href="../TaskJuggler/ICalendar/Todo.html">TaskJuggler::ICalendar::Todo</a></li>
337
+
322
338
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
323
339
 
324
340
  <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
325
341
 
326
- <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
327
-
328
342
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
329
343
 
330
344
  <li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
@@ -439,6 +453,8 @@
439
453
 
440
454
  <li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
441
455
 
456
+ <li><a href="../TaskJuggler/ReportScenario.html">TaskJuggler::ReportScenario</a></li>
457
+
442
458
  <li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
443
459
 
444
460
  <li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
@@ -497,6 +513,8 @@
497
513
 
498
514
  <li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
499
515
 
516
+ <li><a href="../TaskJuggler/ScoreboardInterval.html">TaskJuggler::ScoreboardInterval</a></li>
517
+
500
518
  <li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
501
519
 
502
520
  <li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
@@ -543,6 +561,10 @@
543
561
 
544
562
  <li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
545
563
 
564
+ <li><a href="../TaskJuggler/TagFile.html">TaskJuggler::TagFile</a></li>
565
+
566
+ <li><a href="../TaskJuggler/TagFile/TagFileEntry.html">TaskJuggler::TagFile::TagFileEntry</a></li>
567
+
546
568
  <li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
547
569
 
548
570
  <li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
@@ -593,6 +615,10 @@
593
615
 
594
616
  <li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
595
617
 
618
+ <li><a href="../TaskJuggler/TimeInterval.html">TaskJuggler::TimeInterval</a></li>
619
+
620
+ <li><a href="../TaskJuggler/TimeIntervalListAttribute.html">TaskJuggler::TimeIntervalListAttribute</a></li>
621
+
596
622
  <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
597
623
 
598
624
  <li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
@@ -787,33 +813,33 @@ Check if <tt>zone</tt> is a valid time zone.
787
813
  <div class="method-source-code"
788
814
  id="check-ime-one-source">
789
815
  <pre>
790
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 65</span>
791
- 65: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">checkTimeZone</span>(<span class="ruby-identifier">zone</span>)
792
- 66: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">zone</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'UTC'</span>
793
- 67:
794
- 68: <span class="ruby-comment cmt"># Valid time zones must be of the form 'Region/City'</span>
795
- 69: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">zone</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'/'</span>)
796
- 70:
797
- 71: <span class="ruby-comment cmt"># Save curent value of TZ</span>
798
- 72: <span class="ruby-identifier">tz</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'TZ'</span>]
799
- 73: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'TZ'</span>] = <span class="ruby-identifier">zone</span>
800
- 74: <span class="ruby-identifier">newZone</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">zone</span>
801
- 75: <span class="ruby-comment cmt"># If the time zone is valid, the OS can convert a zone like</span>
802
- 76: <span class="ruby-comment cmt"># 'America/Denver' into 'MST'. Unknown time zones are either not</span>
803
- 77: <span class="ruby-comment cmt"># converted or cause a fallback to UTC.</span>
804
- 78: <span class="ruby-comment cmt"># Since glibc 2.10 Time.new.zone only return the region for illegal</span>
805
- 79: <span class="ruby-comment cmt"># zones instead of the full zone string like it does on earlier</span>
806
- 80: <span class="ruby-comment cmt"># versions.</span>
807
- 81: <span class="ruby-identifier">region</span> = <span class="ruby-identifier">zone</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">zone</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">'/'</span>) <span class="ruby-operator">-</span> <span class="ruby-value">1</span>]
808
- 82: <span class="ruby-identifier">res</span> = (<span class="ruby-identifier">newZone</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">zone</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">newZone</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">region</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">newZone</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'UTC'</span>)
809
- 83: <span class="ruby-comment cmt"># Restore TZ if it was set earlier.</span>
810
- 84: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tz</span>
811
- 85: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'TZ'</span>] = <span class="ruby-identifier">tz</span>
812
- 86: <span class="ruby-keyword kw">else</span>
813
- 87: <span class="ruby-constant">ENV</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">'TZ'</span>)
814
- 88: <span class="ruby-keyword kw">end</span>
815
- 89: <span class="ruby-identifier">res</span>
816
- 90: <span class="ruby-keyword kw">end</span></pre>
816
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 64</span>
817
+ 64: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">checkTimeZone</span>(<span class="ruby-identifier">zone</span>)
818
+ 65: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">zone</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'UTC'</span>
819
+ 66:
820
+ 67: <span class="ruby-comment cmt"># Valid time zones must be of the form 'Region/City'</span>
821
+ 68: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">zone</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'/'</span>)
822
+ 69:
823
+ 70: <span class="ruby-comment cmt"># Save curent value of TZ</span>
824
+ 71: <span class="ruby-identifier">tz</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'TZ'</span>]
825
+ 72: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'TZ'</span>] = <span class="ruby-identifier">zone</span>
826
+ 73: <span class="ruby-identifier">newZone</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">zone</span>
827
+ 74: <span class="ruby-comment cmt"># If the time zone is valid, the OS can convert a zone like</span>
828
+ 75: <span class="ruby-comment cmt"># 'America/Denver' into 'MST'. Unknown time zones are either not</span>
829
+ 76: <span class="ruby-comment cmt"># converted or cause a fallback to UTC.</span>
830
+ 77: <span class="ruby-comment cmt"># Since glibc 2.10 Time.new.zone only return the region for illegal</span>
831
+ 78: <span class="ruby-comment cmt"># zones instead of the full zone string like it does on earlier</span>
832
+ 79: <span class="ruby-comment cmt"># versions.</span>
833
+ 80: <span class="ruby-identifier">region</span> = <span class="ruby-identifier">zone</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">zone</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">'/'</span>) <span class="ruby-operator">-</span> <span class="ruby-value">1</span>]
834
+ 81: <span class="ruby-identifier">res</span> = (<span class="ruby-identifier">newZone</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">zone</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">newZone</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">region</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">newZone</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'UTC'</span>)
835
+ 82: <span class="ruby-comment cmt"># Restore TZ if it was set earlier.</span>
836
+ 83: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tz</span>
837
+ 84: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'TZ'</span>] = <span class="ruby-identifier">tz</span>
838
+ 85: <span class="ruby-keyword kw">else</span>
839
+ 86: <span class="ruby-constant">ENV</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">'TZ'</span>)
840
+ 87: <span class="ruby-keyword kw">end</span>
841
+ 88: <span class="ruby-identifier">res</span>
842
+ 89: <span class="ruby-keyword kw">end</span></pre>
817
843
  </div>
818
844
 
819
845
  </div>
@@ -852,27 +878,27 @@ seconds after Epoch.
852
878
  <div class="method-source-code"
853
879
  id="new-source">
854
880
  <pre>
855
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 43</span>
856
- 43: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">nil</span>)
857
- 44: <span class="ruby-ivar">@timeZone</span> = <span class="ruby-identifier">@@tz</span>
858
- 45:
859
- 46: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">t</span>
860
- 47: <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>
861
- 48: <span class="ruby-ivar">@time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
862
- 49: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Time</span>
863
- 50: <span class="ruby-ivar">@time</span> = <span class="ruby-identifier">t</span>
864
- 51: <span class="ruby-ivar">@timeZone</span> = <span class="ruby-keyword kw">nil</span>
865
- 52: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">TjTime</span>
866
- 53: <span class="ruby-ivar">@time</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time</span>
867
- 54: <span class="ruby-ivar">@timeZone</span> = <span class="ruby-keyword kw">nil</span>
868
- 55: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span>
869
- 56: <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">t</span>)
870
- 57: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Array</span>
871
- 58: <span class="ruby-ivar">@time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">mktime</span>(*<span class="ruby-identifier">t</span>)
872
- 59: <span class="ruby-keyword kw">else</span>
873
- 60: <span class="ruby-ivar">@time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">at</span>(<span class="ruby-identifier">t</span>)
874
- 61: <span class="ruby-keyword kw">end</span>
875
- 62: <span class="ruby-keyword kw">end</span></pre>
881
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 42</span>
882
+ 42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">nil</span>)
883
+ 43: <span class="ruby-ivar">@timeZone</span> = <span class="ruby-identifier">@@tz</span>
884
+ 44:
885
+ 45: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">t</span>
886
+ 46: <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>
887
+ 47: <span class="ruby-ivar">@time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
888
+ 48: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Time</span>
889
+ 49: <span class="ruby-ivar">@time</span> = <span class="ruby-identifier">t</span>
890
+ 50: <span class="ruby-ivar">@timeZone</span> = <span class="ruby-keyword kw">nil</span>
891
+ 51: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">TjTime</span>
892
+ 52: <span class="ruby-ivar">@time</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time</span>
893
+ 53: <span class="ruby-ivar">@timeZone</span> = <span class="ruby-keyword kw">nil</span>
894
+ 54: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span>
895
+ 55: <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">t</span>)
896
+ 56: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Array</span>
897
+ 57: <span class="ruby-ivar">@time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">mktime</span>(*<span class="ruby-identifier">t</span>)
898
+ 58: <span class="ruby-keyword kw">else</span>
899
+ 59: <span class="ruby-ivar">@time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">at</span>(<span class="ruby-identifier">t</span>)
900
+ 60: <span class="ruby-keyword kw">end</span>
901
+ 61: <span class="ruby-keyword kw">end</span></pre>
876
902
  </div>
877
903
 
878
904
  </div>
@@ -906,19 +932,19 @@ href="../String.html">String</a> known to the underlying operating system.
906
932
  <div class="method-source-code"
907
933
  id="set-ime-one-source">
908
934
  <pre>
909
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 94</span>
910
- 94: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">setTimeZone</span>(<span class="ruby-identifier">zone</span>)
911
- 95: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">zone</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">checkTimeZone</span>(<span class="ruby-identifier">zone</span>)
912
- 96: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Illegal time zone #{zone}&quot;</span>
913
- 97: <span class="ruby-keyword kw">end</span>
914
- 98:
915
- 99: <span class="ruby-identifier">oldTimeZone</span> = <span class="ruby-identifier">@@tz</span>
916
- 100:
917
- 101: <span class="ruby-identifier">@@tz</span> = <span class="ruby-identifier">zone</span>
918
- 102: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'TZ'</span>] = <span class="ruby-identifier">zone</span>
919
- 103:
920
- 104: <span class="ruby-identifier">oldTimeZone</span>
921
- 105: <span class="ruby-keyword kw">end</span></pre>
935
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 93</span>
936
+ 93: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">setTimeZone</span>(<span class="ruby-identifier">zone</span>)
937
+ 94: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">zone</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">checkTimeZone</span>(<span class="ruby-identifier">zone</span>)
938
+ 95: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Illegal time zone #{zone}&quot;</span>
939
+ 96: <span class="ruby-keyword kw">end</span>
940
+ 97:
941
+ 98: <span class="ruby-identifier">oldTimeZone</span> = <span class="ruby-identifier">@@tz</span>
942
+ 99:
943
+ 100: <span class="ruby-identifier">@@tz</span> = <span class="ruby-identifier">zone</span>
944
+ 101: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'TZ'</span>] = <span class="ruby-identifier">zone</span>
945
+ 102:
946
+ 103: <span class="ruby-identifier">oldTimeZone</span>
947
+ 104: <span class="ruby-keyword kw">end</span></pre>
922
948
  </div>
923
949
 
924
950
  </div>
@@ -951,10 +977,10 @@ Return the name of the currently active time zone.
951
977
  <div class="method-source-code"
952
978
  id="time-one-source">
953
979
  <pre>
954
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 108</span>
955
- 108: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">timeZone</span>
956
- 109: <span class="ruby-identifier">@@tz</span>
957
- 110: <span class="ruby-keyword kw">end</span></pre>
980
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 107</span>
981
+ 107: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">timeZone</span>
982
+ 108: <span class="ruby-identifier">@@tz</span>
983
+ 109: <span class="ruby-keyword kw">end</span></pre>
958
984
  </div>
959
985
 
960
986
  </div>
@@ -994,10 +1020,10 @@ Convert the time to seconds since Epoch and return the module of
994
1020
  <div class="method-source-code"
995
1021
  id="--source">
996
1022
  <pre>
997
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 140</span>
998
- 140: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">%</span>(<span class="ruby-identifier">val</span>)
999
- 141: <span class="ruby-ivar">@time</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">val</span>
1000
- 142: <span class="ruby-keyword kw">end</span></pre>
1023
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 144</span>
1024
+ 144: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">%</span>(<span class="ruby-identifier">val</span>)
1025
+ 145: <span class="ruby-ivar">@time</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">val</span>
1026
+ 146: <span class="ruby-keyword kw">end</span></pre>
1001
1027
  </div>
1002
1028
 
1003
1029
  </div>
@@ -1030,10 +1056,10 @@ Add <em>secs</em> number of seconds to the time.
1030
1056
  <div class="method-source-code"
1031
1057
  id="--source">
1032
1058
  <pre>
1033
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 125</span>
1034
- 125: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">+</span>(<span class="ruby-identifier">secs</span>)
1035
- 126: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@time</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">secs</span>)
1036
- 127: <span class="ruby-keyword kw">end</span></pre>
1059
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 129</span>
1060
+ 129: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">+</span>(<span class="ruby-identifier">secs</span>)
1061
+ 130: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@time</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">secs</span>)
1062
+ 131: <span class="ruby-keyword kw">end</span></pre>
1037
1063
  </div>
1038
1064
 
1039
1065
  </div>
@@ -1067,14 +1093,14 @@ between <em>arg</em> and this time.
1067
1093
  <div class="method-source-code"
1068
1094
  id="--source">
1069
1095
  <pre>
1070
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 131</span>
1071
- 131: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">-</span>(<span class="ruby-identifier">arg</span>)
1072
- 132: <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>)
1073
- 133: <span class="ruby-ivar">@time</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">time</span>
1074
- 134: <span class="ruby-keyword kw">else</span>
1075
- 135: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@time</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">arg</span>)
1076
- 136: <span class="ruby-keyword kw">end</span>
1077
- 137: <span class="ruby-keyword kw">end</span></pre>
1096
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 135</span>
1097
+ 135: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">-</span>(<span class="ruby-identifier">arg</span>)
1098
+ 136: <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>)
1099
+ 137: <span class="ruby-ivar">@time</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">time</span>
1100
+ 138: <span class="ruby-keyword kw">else</span>
1101
+ 139: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@time</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">arg</span>)
1102
+ 140: <span class="ruby-keyword kw">end</span>
1103
+ 141: <span class="ruby-keyword kw">end</span></pre>
1078
1104
  </div>
1079
1105
 
1080
1106
  </div>
@@ -1107,11 +1133,11 @@ Return true if time is smaller than <em>t</em>.
1107
1133
  <div class="method-source-code"
1108
1134
  id="--source">
1109
1135
  <pre>
1110
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 145</span>
1111
- 145: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;</span>(<span class="ruby-identifier">t</span>)
1112
- 146: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">t</span>
1113
- 147: <span class="ruby-ivar">@time</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time</span>
1114
- 148: <span class="ruby-keyword kw">end</span></pre>
1136
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 149</span>
1137
+ 149: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;</span>(<span class="ruby-identifier">t</span>)
1138
+ 150: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">t</span>
1139
+ 151: <span class="ruby-ivar">@time</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time</span>
1140
+ 152: <span class="ruby-keyword kw">end</span></pre>
1115
1141
  </div>
1116
1142
 
1117
1143
  </div>
@@ -1144,11 +1170,11 @@ Return true if time is smaller or equal than <em>t</em>.
1144
1170
  <div class="method-source-code"
1145
1171
  id="--source">
1146
1172
  <pre>
1147
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 151</span>
1148
- 151: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;=</span>(<span class="ruby-identifier">t</span>)
1149
- 152: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">t</span>
1150
- 153: <span class="ruby-ivar">@time</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time</span>
1151
- 154: <span class="ruby-keyword kw">end</span></pre>
1173
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 155</span>
1174
+ 155: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;=</span>(<span class="ruby-identifier">t</span>)
1175
+ 156: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">t</span>
1176
+ 157: <span class="ruby-ivar">@time</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time</span>
1177
+ 158: <span class="ruby-keyword kw">end</span></pre>
1152
1178
  </div>
1153
1179
 
1154
1180
  </div>
@@ -1181,11 +1207,11 @@ Coparison operator for time with another time <em>t</em>.
1181
1207
  <div class="method-source-code"
1182
1208
  id="--source">
1183
1209
  <pre>
1184
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 175</span>
1185
- 175: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;=&gt;</span>(<span class="ruby-identifier">t</span>)
1186
- 176: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">t</span>
1187
- 177: <span class="ruby-ivar">@time</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time</span>
1188
- 178: <span class="ruby-keyword kw">end</span></pre>
1210
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 179</span>
1211
+ 179: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;=&gt;</span>(<span class="ruby-identifier">t</span>)
1212
+ 180: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">t</span>
1213
+ 181: <span class="ruby-ivar">@time</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time</span>
1214
+ 182: <span class="ruby-keyword kw">end</span></pre>
1189
1215
  </div>
1190
1216
 
1191
1217
  </div>
@@ -1218,11 +1244,11 @@ Return true if time and <em>t</em> are identical.
1218
1244
  <div class="method-source-code"
1219
1245
  id="--source">
1220
1246
  <pre>
1221
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 169</span>
1222
- 169: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">t</span>)
1223
- 170: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">t</span>
1224
- 171: <span class="ruby-ivar">@time</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time</span>
1225
- 172: <span class="ruby-keyword kw">end</span></pre>
1247
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 173</span>
1248
+ 173: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">t</span>)
1249
+ 174: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">t</span>
1250
+ 175: <span class="ruby-ivar">@time</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time</span>
1251
+ 176: <span class="ruby-keyword kw">end</span></pre>
1226
1252
  </div>
1227
1253
 
1228
1254
  </div>
@@ -1255,11 +1281,11 @@ Return true if time is larger than <em>t</em>.
1255
1281
  <div class="method-source-code"
1256
1282
  id="--source">
1257
1283
  <pre>
1258
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 157</span>
1259
- 157: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&gt;</span>(<span class="ruby-identifier">t</span>)
1260
- 158: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">t</span>
1261
- 159: <span class="ruby-ivar">@time</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time</span>
1262
- 160: <span class="ruby-keyword kw">end</span></pre>
1284
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 161</span>
1285
+ 161: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&gt;</span>(<span class="ruby-identifier">t</span>)
1286
+ 162: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">t</span>
1287
+ 163: <span class="ruby-ivar">@time</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time</span>
1288
+ 164: <span class="ruby-keyword kw">end</span></pre>
1263
1289
  </div>
1264
1290
 
1265
1291
  </div>
@@ -1292,11 +1318,11 @@ Return true if time is larger or equal than <em>t</em>.
1292
1318
  <div class="method-source-code"
1293
1319
  id="--source">
1294
1320
  <pre>
1295
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 163</span>
1296
- 163: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&gt;=</span>(<span class="ruby-identifier">t</span>)
1297
- 164: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">t</span>
1298
- 165: <span class="ruby-ivar">@time</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time</span>
1299
- 166: <span class="ruby-keyword kw">end</span></pre>
1321
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 167</span>
1322
+ 167: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&gt;=</span>(<span class="ruby-identifier">t</span>)
1323
+ 168: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">t</span>
1324
+ 169: <span class="ruby-ivar">@time</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">time</span>
1325
+ 170: <span class="ruby-keyword kw">end</span></pre>
1300
1326
  </div>
1301
1327
 
1302
1328
  </div>
@@ -1330,10 +1356,10 @@ Align the date to a time grid. The grid distance is determined by
1330
1356
  <div class="method-source-code"
1331
1357
  id="align-source">
1332
1358
  <pre>
1333
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 113</span>
1334
- 113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">align</span>(<span class="ruby-identifier">clock</span>)
1335
- 114: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>((<span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">clock</span>) * <span class="ruby-identifier">clock</span>)
1336
- 115: <span class="ruby-keyword kw">end</span></pre>
1359
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 112</span>
1360
+ 112: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">align</span>(<span class="ruby-identifier">clock</span>)
1361
+ 113: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>((<span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">clock</span>) * <span class="ruby-identifier">clock</span>)
1362
+ 114: <span class="ruby-keyword kw">end</span></pre>
1337
1363
  </div>
1338
1364
 
1339
1365
  </div>
@@ -1366,12 +1392,12 @@ Normalize time to the beginning of the current hour.
1366
1392
  <div class="method-source-code"
1367
1393
  id="begin-f-our-source">
1368
1394
  <pre>
1369
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 191</span>
1370
- 191: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">beginOfHour</span>
1371
- 192: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
1372
- 193: <span class="ruby-identifier">sec</span> = <span class="ruby-identifier">min</span> = <span class="ruby-value">0</span>
1373
- 194: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
1374
- 195: <span class="ruby-keyword kw">end</span></pre>
1395
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 195</span>
1396
+ 195: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">beginOfHour</span>
1397
+ 196: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
1398
+ 197: <span class="ruby-identifier">sec</span> = <span class="ruby-identifier">min</span> = <span class="ruby-value">0</span>
1399
+ 198: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
1400
+ 199: <span class="ruby-keyword kw">end</span></pre>
1375
1401
  </div>
1376
1402
 
1377
1403
  </div>
@@ -1404,13 +1430,13 @@ Normalize time to the beginning of the current month.
1404
1430
  <div class="method-source-code"
1405
1431
  id="begin-f-onth-source">
1406
1432
  <pre>
1407
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 220</span>
1408
- 220: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">beginOfMonth</span>
1409
- 221: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
1410
- 222: <span class="ruby-identifier">sec</span> = <span class="ruby-identifier">min</span> = <span class="ruby-identifier">hour</span> = <span class="ruby-value">0</span>
1411
- 223: <span class="ruby-identifier">day</span> = <span class="ruby-value">1</span>
1412
- 224: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
1413
- 225: <span class="ruby-keyword kw">end</span></pre>
1433
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 224</span>
1434
+ 224: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">beginOfMonth</span>
1435
+ 225: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
1436
+ 226: <span class="ruby-identifier">sec</span> = <span class="ruby-identifier">min</span> = <span class="ruby-identifier">hour</span> = <span class="ruby-value">0</span>
1437
+ 227: <span class="ruby-identifier">day</span> = <span class="ruby-value">1</span>
1438
+ 228: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
1439
+ 229: <span class="ruby-keyword kw">end</span></pre>
1414
1440
  </div>
1415
1441
 
1416
1442
  </div>
@@ -1443,14 +1469,14 @@ Normalize time to the beginning of the current quarter.
1443
1469
  <div class="method-source-code"
1444
1470
  id="begin-f-uarter-source">
1445
1471
  <pre>
1446
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 228</span>
1447
- 228: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">beginOfQuarter</span>
1448
- 229: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
1449
- 230: <span class="ruby-identifier">sec</span> = <span class="ruby-identifier">min</span> = <span class="ruby-identifier">hour</span> = <span class="ruby-value">0</span>
1450
- 231: <span class="ruby-identifier">day</span> = <span class="ruby-value">1</span>
1451
- 232: <span class="ruby-identifier">month</span> = ((<span class="ruby-identifier">month</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-operator">%</span> <span class="ruby-value">3</span> ) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1452
- 233: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
1453
- 234: <span class="ruby-keyword kw">end</span></pre>
1472
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 232</span>
1473
+ 232: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">beginOfQuarter</span>
1474
+ 233: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
1475
+ 234: <span class="ruby-identifier">sec</span> = <span class="ruby-identifier">min</span> = <span class="ruby-identifier">hour</span> = <span class="ruby-value">0</span>
1476
+ 235: <span class="ruby-identifier">day</span> = <span class="ruby-value">1</span>
1477
+ 236: <span class="ruby-identifier">month</span> = ((<span class="ruby-identifier">month</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-operator">%</span> <span class="ruby-value">3</span> ) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1478
+ 237: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
1479
+ 238: <span class="ruby-keyword kw">end</span></pre>
1454
1480
  </div>
1455
1481
 
1456
1482
  </div>
@@ -1484,19 +1510,19 @@ determines whether the week should start on Monday or Sunday.
1484
1510
  <div class="method-source-code"
1485
1511
  id="begin-f-eek-source">
1486
1512
  <pre>
1487
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 206</span>
1488
- 206: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">beginOfWeek</span>(<span class="ruby-identifier">startMonday</span>)
1489
- 207: <span class="ruby-identifier">t</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
1490
- 208: <span class="ruby-comment cmt"># Set time to noon, 12:00:00</span>
1491
- 209: <span class="ruby-identifier">t</span>[<span class="ruby-value">0</span>, <span class="ruby-value">3</span>] = [ <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">12</span> ]
1492
- 210: <span class="ruby-identifier">weekday</span> = <span class="ruby-identifier">t</span>[<span class="ruby-value">6</span>]
1493
- 211: <span class="ruby-identifier">t</span>.<span class="ruby-identifier">slice!</span>(<span class="ruby-value">6</span>, <span class="ruby-value">4</span>)
1494
- 212: <span class="ruby-identifier">t</span>.<span class="ruby-identifier">reverse!</span>
1495
- 213: <span class="ruby-comment cmt"># Substract the number of days determined by the weekday t[6] and set time</span>
1496
- 214: <span class="ruby-comment cmt"># to midnight of that day.</span>
1497
- 215: (<span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Time</span>.<span class="ruby-identifier">local</span>(*<span class="ruby-identifier">t</span>)) <span class="ruby-operator">-</span>
1498
- 216: (<span class="ruby-identifier">weekday</span> <span class="ruby-operator">-</span> (<span class="ruby-identifier">startMonday</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>)) * <span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span>).<span class="ruby-identifier">midnight</span>
1499
- 217: <span class="ruby-keyword kw">end</span></pre>
1513
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 210</span>
1514
+ 210: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">beginOfWeek</span>(<span class="ruby-identifier">startMonday</span>)
1515
+ 211: <span class="ruby-identifier">t</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
1516
+ 212: <span class="ruby-comment cmt"># Set time to noon, 12:00:00</span>
1517
+ 213: <span class="ruby-identifier">t</span>[<span class="ruby-value">0</span>, <span class="ruby-value">3</span>] = [ <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">12</span> ]
1518
+ 214: <span class="ruby-identifier">weekday</span> = <span class="ruby-identifier">t</span>[<span class="ruby-value">6</span>]
1519
+ 215: <span class="ruby-identifier">t</span>.<span class="ruby-identifier">slice!</span>(<span class="ruby-value">6</span>, <span class="ruby-value">4</span>)
1520
+ 216: <span class="ruby-identifier">t</span>.<span class="ruby-identifier">reverse!</span>
1521
+ 217: <span class="ruby-comment cmt"># Substract the number of days determined by the weekday t[6] and set time</span>
1522
+ 218: <span class="ruby-comment cmt"># to midnight of that day.</span>
1523
+ 219: (<span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Time</span>.<span class="ruby-identifier">local</span>(*<span class="ruby-identifier">t</span>)) <span class="ruby-operator">-</span>
1524
+ 220: (<span class="ruby-identifier">weekday</span> <span class="ruby-operator">-</span> (<span class="ruby-identifier">startMonday</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>)) * <span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span>).<span class="ruby-identifier">midnight</span>
1525
+ 221: <span class="ruby-keyword kw">end</span></pre>
1500
1526
  </div>
1501
1527
 
1502
1528
  </div>
@@ -1529,13 +1555,13 @@ Normalize time to the beginning of the current year.
1529
1555
  <div class="method-source-code"
1530
1556
  id="begin-f-ear-source">
1531
1557
  <pre>
1532
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 237</span>
1533
- 237: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">beginOfYear</span>
1534
- 238: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
1535
- 239: <span class="ruby-identifier">sec</span> = <span class="ruby-identifier">min</span> = <span class="ruby-identifier">hour</span> = <span class="ruby-value">0</span>
1536
- 240: <span class="ruby-identifier">day</span> = <span class="ruby-identifier">month</span> = <span class="ruby-value">1</span>
1537
- 241: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
1538
- 242: <span class="ruby-keyword kw">end</span></pre>
1558
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 241</span>
1559
+ 241: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">beginOfYear</span>
1560
+ 242: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
1561
+ 243: <span class="ruby-identifier">sec</span> = <span class="ruby-identifier">min</span> = <span class="ruby-identifier">hour</span> = <span class="ruby-value">0</span>
1562
+ 244: <span class="ruby-identifier">day</span> = <span class="ruby-identifier">month</span> = <span class="ruby-value">1</span>
1563
+ 245: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
1564
+ 246: <span class="ruby-keyword kw">end</span></pre>
1539
1565
  </div>
1540
1566
 
1541
1567
  </div>
@@ -1568,10 +1594,10 @@ Return the day of the month (1..n).
1568
1594
  <div class="method-source-code"
1569
1595
  id="day-source">
1570
1596
  <pre>
1571
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 399</span>
1572
- 399: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">day</span>
1573
- 400: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">day</span>
1574
- 401: <span class="ruby-keyword kw">end</span></pre>
1597
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 403</span>
1598
+ 403: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">day</span>
1599
+ 404: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">day</span>
1600
+ 405: <span class="ruby-keyword kw">end</span></pre>
1575
1601
  </div>
1576
1602
 
1577
1603
  </div>
@@ -1605,10 +1631,10 @@ is always rounded up.
1605
1631
  <div class="method-source-code"
1606
1632
  id="days-o-source">
1607
1633
  <pre>
1608
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 336</span>
1609
- 336: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">daysTo</span>(<span class="ruby-identifier">date</span>)
1610
- 337: <span class="ruby-identifier">countIntervals</span>(<span class="ruby-identifier">date</span>, <span class="ruby-value">:sameTimeNextDay</span>)
1611
- 338: <span class="ruby-keyword kw">end</span></pre>
1634
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 340</span>
1635
+ 340: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">daysTo</span>(<span class="ruby-identifier">date</span>)
1636
+ 341: <span class="ruby-identifier">countIntervals</span>(<span class="ruby-identifier">date</span>, <span class="ruby-value">:sameTimeNextDay</span>)
1637
+ 342: <span class="ruby-keyword kw">end</span></pre>
1612
1638
  </div>
1613
1639
 
1614
1640
  </div>
@@ -1641,10 +1667,10 @@ Return the hours of the day (0..23)
1641
1667
  <div class="method-source-code"
1642
1668
  id="hour-source">
1643
1669
  <pre>
1644
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 394</span>
1645
- 394: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hour</span>
1646
- 395: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">hour</span>
1647
- 396: <span class="ruby-keyword kw">end</span></pre>
1670
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 398</span>
1671
+ 398: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hour</span>
1672
+ 399: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">hour</span>
1673
+ 400: <span class="ruby-keyword kw">end</span></pre>
1648
1674
  </div>
1649
1675
 
1650
1676
  </div>
@@ -1677,10 +1703,10 @@ Return a new time that is <em>hours</em> later than time.
1677
1703
  <div class="method-source-code"
1678
1704
  id="hours-ater-source">
1679
1705
  <pre>
1680
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 245</span>
1681
- 245: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hoursLater</span>(<span class="ruby-identifier">hours</span>)
1682
- 246: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@time</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">hours</span> * <span class="ruby-value">3600</span>)
1683
- 247: <span class="ruby-keyword kw">end</span></pre>
1706
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 249</span>
1707
+ 249: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hoursLater</span>(<span class="ruby-identifier">hours</span>)
1708
+ 250: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@time</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">hours</span> * <span class="ruby-value">3600</span>)
1709
+ 251: <span class="ruby-keyword kw">end</span></pre>
1684
1710
  </div>
1685
1711
 
1686
1712
  </div>
@@ -1714,11 +1740,11 @@ is always rounded up.
1714
1740
  <div class="method-source-code"
1715
1741
  id="hours-o-source">
1716
1742
  <pre>
1717
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 329</span>
1718
- 329: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hoursTo</span>(<span class="ruby-identifier">date</span>)
1719
- 330: <span class="ruby-identifier">t1</span>, <span class="ruby-identifier">t2</span> = <span class="ruby-identifier">order</span>(<span class="ruby-identifier">date</span>)
1720
- 331: ((<span class="ruby-identifier">t2</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">t1</span>) <span class="ruby-operator">/</span> <span class="ruby-value">3600</span>).<span class="ruby-identifier">ceil</span>
1721
- 332: <span class="ruby-keyword kw">end</span></pre>
1743
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 333</span>
1744
+ 333: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hoursTo</span>(<span class="ruby-identifier">date</span>)
1745
+ 334: <span class="ruby-identifier">t1</span>, <span class="ruby-identifier">t2</span> = <span class="ruby-identifier">order</span>(<span class="ruby-identifier">date</span>)
1746
+ 335: ((<span class="ruby-identifier">t2</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">t1</span>) <span class="ruby-operator">/</span> <span class="ruby-value">3600</span>).<span class="ruby-identifier">ceil</span>
1747
+ 336: <span class="ruby-keyword kw">end</span></pre>
1722
1748
  </div>
1723
1749
 
1724
1750
  </div>
@@ -1751,12 +1777,12 @@ Normalize time to the beginning of the current day.
1751
1777
  <div class="method-source-code"
1752
1778
  id="midnight-source">
1753
1779
  <pre>
1754
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 198</span>
1755
- 198: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">midnight</span>
1756
- 199: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
1757
- 200: <span class="ruby-identifier">sec</span> = <span class="ruby-identifier">min</span> = <span class="ruby-identifier">hour</span> = <span class="ruby-value">0</span>
1758
- 201: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
1759
- 202: <span class="ruby-keyword kw">end</span></pre>
1780
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 202</span>
1781
+ 202: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">midnight</span>
1782
+ 203: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
1783
+ 204: <span class="ruby-identifier">sec</span> = <span class="ruby-identifier">min</span> = <span class="ruby-identifier">hour</span> = <span class="ruby-value">0</span>
1784
+ 205: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
1785
+ 206: <span class="ruby-keyword kw">end</span></pre>
1760
1786
  </div>
1761
1787
 
1762
1788
  </div>
@@ -1818,10 +1844,10 @@ Return the month of the year (1..12)
1818
1844
  <div class="method-source-code"
1819
1845
  id="month-source">
1820
1846
  <pre>
1821
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 404</span>
1822
- 404: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">month</span>
1823
- 405: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">month</span>
1824
- 406: <span class="ruby-keyword kw">end</span></pre>
1847
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 408</span>
1848
+ 408: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">month</span>
1849
+ 409: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">month</span>
1850
+ 410: <span class="ruby-keyword kw">end</span></pre>
1825
1851
  </div>
1826
1852
 
1827
1853
  </div>
@@ -1859,10 +1885,10 @@ Return the abbreviated month name and the full year. E. g. &#8216;Feb
1859
1885
  <div class="method-source-code"
1860
1886
  id="month-nd-ear-source">
1861
1887
  <pre>
1862
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 432</span>
1863
- 432: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">monthAndYear</span>
1864
- 433: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">'%b %Y'</span>)
1865
- 434: <span class="ruby-keyword kw">end</span></pre>
1888
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 436</span>
1889
+ 436: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">monthAndYear</span>
1890
+ 437: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">'%b %Y'</span>)
1891
+ 438: <span class="ruby-keyword kw">end</span></pre>
1866
1892
  </div>
1867
1893
 
1868
1894
  </div>
@@ -1896,10 +1922,10 @@ is always rounded up.
1896
1922
  <div class="method-source-code"
1897
1923
  id="months-o-source">
1898
1924
  <pre>
1899
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 348</span>
1900
- 348: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">monthsTo</span>(<span class="ruby-identifier">date</span>)
1901
- 349: <span class="ruby-identifier">countIntervals</span>(<span class="ruby-identifier">date</span>, <span class="ruby-value">:sameTimeNextMonth</span>)
1902
- 350: <span class="ruby-keyword kw">end</span></pre>
1925
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 352</span>
1926
+ 352: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">monthsTo</span>(<span class="ruby-identifier">date</span>)
1927
+ 353: <span class="ruby-identifier">countIntervals</span>(<span class="ruby-identifier">date</span>, <span class="ruby-value">:sameTimeNextMonth</span>)
1928
+ 354: <span class="ruby-keyword kw">end</span></pre>
1903
1929
  </div>
1904
1930
 
1905
1931
  </div>
@@ -1936,14 +1962,14 @@ Friday 0:00 will be returned. If <em>date</em> is a Tuesday and
1936
1962
  <div class="method-source-code"
1937
1963
  id="next-ay-f-eek-source">
1938
1964
  <pre>
1939
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 319</span>
1940
- 319: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextDayOfWeek</span>(<span class="ruby-identifier">dow</span>)
1941
- 320: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Day of week must be 0 - 6.&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">dow</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">dow</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">6</span>
1942
- 321: <span class="ruby-identifier">d</span> = <span class="ruby-identifier">midnight</span>.<span class="ruby-identifier">sameTimeNextDay</span>
1943
- 322: <span class="ruby-identifier">currentDoW</span> = <span class="ruby-identifier">d</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">'%w'</span>).<span class="ruby-identifier">to_i</span>
1944
- 323: <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>((<span class="ruby-identifier">dow</span> <span class="ruby-operator">+</span> <span class="ruby-value">7</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">currentDoW</span>) <span class="ruby-operator">%</span> <span class="ruby-value">7</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">d</span> = <span class="ruby-identifier">d</span>.<span class="ruby-identifier">sameTimeNextDay</span> }
1945
- 324: <span class="ruby-identifier">d</span>
1946
- 325: <span class="ruby-keyword kw">end</span></pre>
1965
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 323</span>
1966
+ 323: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextDayOfWeek</span>(<span class="ruby-identifier">dow</span>)
1967
+ 324: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Day of week must be 0 - 6.&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">dow</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">dow</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">6</span>
1968
+ 325: <span class="ruby-identifier">d</span> = <span class="ruby-identifier">midnight</span>.<span class="ruby-identifier">sameTimeNextDay</span>
1969
+ 326: <span class="ruby-identifier">currentDoW</span> = <span class="ruby-identifier">d</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">'%w'</span>).<span class="ruby-identifier">to_i</span>
1970
+ 327: <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>((<span class="ruby-identifier">dow</span> <span class="ruby-operator">+</span> <span class="ruby-value">7</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">currentDoW</span>) <span class="ruby-operator">%</span> <span class="ruby-value">7</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">d</span> = <span class="ruby-identifier">d</span>.<span class="ruby-identifier">sameTimeNextDay</span> }
1971
+ 328: <span class="ruby-identifier">d</span>
1972
+ 329: <span class="ruby-keyword kw">end</span></pre>
1947
1973
  </div>
1948
1974
 
1949
1975
  </div>
@@ -1976,10 +2002,10 @@ Return the number of the quarter prefixed by a &#8216;Q&#8217;.
1976
2002
  <div class="method-source-code"
1977
2003
  id="quarter-ame-source">
1978
2004
  <pre>
1979
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 421</span>
1980
- 421: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">quarterName</span>
1981
- 422: <span class="ruby-node">&quot;Q#{(localtime.mon / 3) + 1}&quot;</span>
1982
- 423: <span class="ruby-keyword kw">end</span></pre>
2005
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 425</span>
2006
+ 425: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">quarterName</span>
2007
+ 426: <span class="ruby-node">&quot;Q#{(localtime.mon / 3) + 1}&quot;</span>
2008
+ 427: <span class="ruby-keyword kw">end</span></pre>
1983
2009
  </div>
1984
2010
 
1985
2011
  </div>
@@ -2013,10 +2039,10 @@ result is always rounded up.
2013
2039
  <div class="method-source-code"
2014
2040
  id="quarters-o-source">
2015
2041
  <pre>
2016
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 354</span>
2017
- 354: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">quartersTo</span>(<span class="ruby-identifier">date</span>)
2018
- 355: <span class="ruby-identifier">countIntervals</span>(<span class="ruby-identifier">date</span>, <span class="ruby-value">:sameTimeNextQuarter</span>)
2019
- 356: <span class="ruby-keyword kw">end</span></pre>
2042
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 358</span>
2043
+ 358: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">quartersTo</span>(<span class="ruby-identifier">date</span>)
2044
+ 359: <span class="ruby-identifier">countIntervals</span>(<span class="ruby-identifier">date</span>, <span class="ruby-value">:sameTimeNextQuarter</span>)
2045
+ 360: <span class="ruby-keyword kw">end</span></pre>
2020
2046
  </div>
2021
2047
 
2022
2048
  </div>
@@ -2050,18 +2076,18 @@ day.
2050
2076
  <div class="method-source-code"
2051
2077
  id="same-ime-ext-ay-source">
2052
2078
  <pre>
2053
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 256</span>
2054
- 256: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sameTimeNextDay</span>
2055
- 257: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
2056
- 258: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">day</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">lastDayOfMonth</span>(<span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span>)
2057
- 259: <span class="ruby-identifier">day</span> = <span class="ruby-value">1</span>
2058
- 260: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">month</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-value">12</span>
2059
- 261: <span class="ruby-identifier">month</span> = <span class="ruby-value">1</span>
2060
- 262: <span class="ruby-identifier">year</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
2061
- 263: <span class="ruby-keyword kw">end</span>
2062
- 264: <span class="ruby-keyword kw">end</span>
2063
- 265: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
2064
- 266: <span class="ruby-keyword kw">end</span></pre>
2079
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 260</span>
2080
+ 260: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sameTimeNextDay</span>
2081
+ 261: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
2082
+ 262: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">day</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">lastDayOfMonth</span>(<span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span>)
2083
+ 263: <span class="ruby-identifier">day</span> = <span class="ruby-value">1</span>
2084
+ 264: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">month</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-value">12</span>
2085
+ 265: <span class="ruby-identifier">month</span> = <span class="ruby-value">1</span>
2086
+ 266: <span class="ruby-identifier">year</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
2087
+ 267: <span class="ruby-keyword kw">end</span>
2088
+ 268: <span class="ruby-keyword kw">end</span>
2089
+ 269: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
2090
+ 270: <span class="ruby-keyword kw">end</span></pre>
2065
2091
  </div>
2066
2092
 
2067
2093
  </div>
@@ -2094,10 +2120,10 @@ Return a new time that is 1 hour later than time.
2094
2120
  <div class="method-source-code"
2095
2121
  id="same-ime-ext-our-source">
2096
2122
  <pre>
2097
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 250</span>
2098
- 250: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sameTimeNextHour</span>
2099
- 251: <span class="ruby-identifier">hoursLater</span>(<span class="ruby-value">1</span>)
2100
- 252: <span class="ruby-keyword kw">end</span></pre>
2123
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 254</span>
2124
+ 254: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sameTimeNextHour</span>
2125
+ 255: <span class="ruby-identifier">hoursLater</span>(<span class="ruby-value">1</span>)
2126
+ 256: <span class="ruby-keyword kw">end</span></pre>
2101
2127
  </div>
2102
2128
 
2103
2129
  </div>
@@ -2131,17 +2157,17 @@ day.
2131
2157
  <div class="method-source-code"
2132
2158
  id="same-ime-ext-onth-source">
2133
2159
  <pre>
2134
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 284</span>
2135
- 284: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sameTimeNextMonth</span>
2136
- 285: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
2137
- 286: <span class="ruby-identifier">monMax</span> = <span class="ruby-identifier">month</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">leapYear?</span>(<span class="ruby-identifier">year</span>) <span class="ruby-operator">?</span> <span class="ruby-value">29</span> <span class="ruby-operator">:</span> <span class="ruby-constant">MON_MAX</span>[<span class="ruby-identifier">month</span>]
2138
- 287: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">month</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-value">12</span>
2139
- 288: <span class="ruby-identifier">month</span> = <span class="ruby-value">1</span>
2140
- 289: <span class="ruby-identifier">year</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
2141
- 290: <span class="ruby-keyword kw">end</span>
2142
- 291: <span class="ruby-identifier">day</span> = <span class="ruby-identifier">monMax</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">day</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">lastDayOfMonth</span>(<span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span>)
2143
- 292: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
2144
- 293: <span class="ruby-keyword kw">end</span></pre>
2160
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 288</span>
2161
+ 288: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sameTimeNextMonth</span>
2162
+ 289: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
2163
+ 290: <span class="ruby-identifier">monMax</span> = <span class="ruby-identifier">month</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">leapYear?</span>(<span class="ruby-identifier">year</span>) <span class="ruby-operator">?</span> <span class="ruby-value">29</span> <span class="ruby-operator">:</span> <span class="ruby-constant">MON_MAX</span>[<span class="ruby-identifier">month</span>]
2164
+ 291: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">month</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-value">12</span>
2165
+ 292: <span class="ruby-identifier">month</span> = <span class="ruby-value">1</span>
2166
+ 293: <span class="ruby-identifier">year</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
2167
+ 294: <span class="ruby-keyword kw">end</span>
2168
+ 295: <span class="ruby-identifier">day</span> = <span class="ruby-identifier">monMax</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">day</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">lastDayOfMonth</span>(<span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span>)
2169
+ 296: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
2170
+ 297: <span class="ruby-keyword kw">end</span></pre>
2145
2171
  </div>
2146
2172
 
2147
2173
  </div>
@@ -2175,15 +2201,15 @@ day.
2175
2201
  <div class="method-source-code"
2176
2202
  id="same-ime-ext-uarter-source">
2177
2203
  <pre>
2178
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 297</span>
2179
- 297: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sameTimeNextQuarter</span>
2180
- 298: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
2181
- 299: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">month</span> <span class="ruby-operator">+=</span> <span class="ruby-value">3</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-value">12</span>
2182
- 300: <span class="ruby-identifier">month</span> <span class="ruby-operator">-=</span> <span class="ruby-value">12</span>
2183
- 301: <span class="ruby-identifier">year</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
2184
- 302: <span class="ruby-keyword kw">end</span>
2185
- 303: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
2186
- 304: <span class="ruby-keyword kw">end</span></pre>
2204
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 301</span>
2205
+ 301: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sameTimeNextQuarter</span>
2206
+ 302: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
2207
+ 303: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">month</span> <span class="ruby-operator">+=</span> <span class="ruby-value">3</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-value">12</span>
2208
+ 304: <span class="ruby-identifier">month</span> <span class="ruby-operator">-=</span> <span class="ruby-value">12</span>
2209
+ 305: <span class="ruby-identifier">year</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
2210
+ 306: <span class="ruby-keyword kw">end</span>
2211
+ 307: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
2212
+ 308: <span class="ruby-keyword kw">end</span></pre>
2187
2213
  </div>
2188
2214
 
2189
2215
  </div>
@@ -2217,18 +2243,18 @@ day.
2217
2243
  <div class="method-source-code"
2218
2244
  id="same-ime-ext-eek-source">
2219
2245
  <pre>
2220
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 270</span>
2221
- 270: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sameTimeNextWeek</span>
2222
- 271: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
2223
- 272: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">day</span> <span class="ruby-operator">+=</span> <span class="ruby-value">7</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">lastDayOfMonth</span>(<span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span>)
2224
- 273: <span class="ruby-identifier">day</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">lastDayOfMonth</span>(<span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span>)
2225
- 274: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">month</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-value">12</span>
2226
- 275: <span class="ruby-identifier">month</span> = <span class="ruby-value">1</span>
2227
- 276: <span class="ruby-identifier">year</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
2228
- 277: <span class="ruby-keyword kw">end</span>
2229
- 278: <span class="ruby-keyword kw">end</span>
2230
- 279: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
2231
- 280: <span class="ruby-keyword kw">end</span></pre>
2246
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 274</span>
2247
+ 274: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sameTimeNextWeek</span>
2248
+ 275: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
2249
+ 276: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">day</span> <span class="ruby-operator">+=</span> <span class="ruby-value">7</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">lastDayOfMonth</span>(<span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span>)
2250
+ 277: <span class="ruby-identifier">day</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">lastDayOfMonth</span>(<span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span>)
2251
+ 278: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">month</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>) <span class="ruby-operator">&gt;</span> <span class="ruby-value">12</span>
2252
+ 279: <span class="ruby-identifier">month</span> = <span class="ruby-value">1</span>
2253
+ 280: <span class="ruby-identifier">year</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
2254
+ 281: <span class="ruby-keyword kw">end</span>
2255
+ 282: <span class="ruby-keyword kw">end</span>
2256
+ 283: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span> ])
2257
+ 284: <span class="ruby-keyword kw">end</span></pre>
2232
2258
  </div>
2233
2259
 
2234
2260
  </div>
@@ -2262,12 +2288,12 @@ day.
2262
2288
  <div class="method-source-code"
2263
2289
  id="same-ime-ext-ear-source">
2264
2290
  <pre>
2265
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 308</span>
2266
- 308: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sameTimeNextYear</span>
2267
- 309: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
2268
- 310: <span class="ruby-identifier">year</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
2269
- 311: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span>])
2270
- 312: <span class="ruby-keyword kw">end</span></pre>
2291
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 312</span>
2292
+ 312: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sameTimeNextYear</span>
2293
+ 313: <span class="ruby-identifier">sec</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span> = <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
2294
+ 314: <span class="ruby-identifier">year</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
2295
+ 315: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">min</span>, <span class="ruby-identifier">sec</span>, <span class="ruby-value">0</span>])
2296
+ 316: <span class="ruby-keyword kw">end</span></pre>
2271
2297
  </div>
2272
2298
 
2273
2299
  </div>
@@ -2301,11 +2327,11 @@ in the time zone specified by <em>tz</em>.
2301
2327
  <div class="method-source-code"
2302
2328
  id="seconds-f-ay-source">
2303
2329
  <pre>
2304
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 119</span>
2305
- 119: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">secondsOfDay</span>(<span class="ruby-identifier">tz</span> = <span class="ruby-keyword kw">nil</span>)
2306
- 120: <span class="ruby-identifier">lt</span> = <span class="ruby-identifier">localtime</span>
2307
- 121: (<span class="ruby-identifier">lt</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">lt</span>.<span class="ruby-identifier">gmt_offset</span>) <span class="ruby-operator">%</span> (<span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span>)
2308
- 122: <span class="ruby-keyword kw">end</span></pre>
2330
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 123</span>
2331
+ 123: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">secondsOfDay</span>(<span class="ruby-identifier">tz</span> = <span class="ruby-keyword kw">nil</span>)
2332
+ 124: <span class="ruby-identifier">lt</span> = <span class="ruby-identifier">localtime</span>
2333
+ 125: (<span class="ruby-identifier">lt</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">lt</span>.<span class="ruby-identifier">gmt_offset</span>) <span class="ruby-operator">%</span> (<span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-value">24</span>)
2334
+ 126: <span class="ruby-keyword kw">end</span></pre>
2309
2335
  </div>
2310
2336
 
2311
2337
  </div>
@@ -2338,10 +2364,10 @@ Return the abbreviated month name.
2338
2364
  <div class="method-source-code"
2339
2365
  id="short-onth-ame-source">
2340
2366
  <pre>
2341
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 416</span>
2342
- 416: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shortMonthName</span>
2343
- 417: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">'%b'</span>)
2344
- 418: <span class="ruby-keyword kw">end</span></pre>
2367
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 420</span>
2368
+ 420: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shortMonthName</span>
2369
+ 421: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">'%b'</span>)
2370
+ 422: <span class="ruby-keyword kw">end</span></pre>
2345
2371
  </div>
2346
2372
 
2347
2373
  </div>
@@ -2372,10 +2398,10 @@ Return the abbreviated month name.
2372
2398
  <div class="method-source-code"
2373
2399
  id="strftime-source">
2374
2400
  <pre>
2375
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 384</span>
2376
- 384: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">strftime</span>(<span class="ruby-identifier">format</span>)
2377
- 385: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-identifier">format</span>)
2378
- 386: <span class="ruby-keyword kw">end</span></pre>
2401
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 388</span>
2402
+ 388: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">strftime</span>(<span class="ruby-identifier">format</span>)
2403
+ 389: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-identifier">format</span>)
2404
+ 390: <span class="ruby-keyword kw">end</span></pre>
2379
2405
  </div>
2380
2406
 
2381
2407
  </div>
@@ -2406,10 +2432,10 @@ Return the abbreviated month name.
2406
2432
  <div class="method-source-code"
2407
2433
  id="to-a-source">
2408
2434
  <pre>
2409
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 380</span>
2410
- 380: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_a</span>
2411
- 381: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
2412
- 382: <span class="ruby-keyword kw">end</span></pre>
2435
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 384</span>
2436
+ 384: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_a</span>
2437
+ 385: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_a</span>
2438
+ 386: <span class="ruby-keyword kw">end</span></pre>
2413
2439
  </div>
2414
2440
 
2415
2441
  </div>
@@ -2442,10 +2468,10 @@ Return the seconds since Epoch.
2442
2468
  <div class="method-source-code"
2443
2469
  id="to-i-source">
2444
2470
  <pre>
2445
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 376</span>
2446
- 376: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_i</span>
2447
- 377: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_i</span>
2448
- 378: <span class="ruby-keyword kw">end</span></pre>
2471
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 380</span>
2472
+ 380: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_i</span>
2473
+ 381: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">to_i</span>
2474
+ 382: <span class="ruby-keyword kw">end</span></pre>
2449
2475
  </div>
2450
2476
 
2451
2477
  </div>
@@ -2479,15 +2505,15 @@ nil, it returns &#8216;unkown&#8217;.
2479
2505
  <div class="method-source-code"
2480
2506
  id="to-s-source">
2481
2507
  <pre>
2482
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 366</span>
2483
- 366: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">format</span> = <span class="ruby-keyword kw">nil</span>)
2484
- 367: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">'unknown'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@time</span>.<span class="ruby-identifier">nil?</span>
2485
- 368: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">format</span>.<span class="ruby-identifier">nil?</span>
2486
- 369: <span class="ruby-identifier">format</span> = <span class="ruby-value str">'%Y-%m-%d-%H:%M'</span> <span class="ruby-operator">+</span> (<span class="ruby-ivar">@time</span>.<span class="ruby-identifier">sec</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-value str">':%S'</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">'-%z'</span>
2487
- 370: <span class="ruby-keyword kw">end</span>
2488
- 371: <span class="ruby-comment cmt"># Always report values in local timezone</span>
2489
- 372: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-identifier">format</span>)
2490
- 373: <span class="ruby-keyword kw">end</span></pre>
2508
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 370</span>
2509
+ 370: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">format</span> = <span class="ruby-keyword kw">nil</span>)
2510
+ 371: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">'unknown'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@time</span>.<span class="ruby-identifier">nil?</span>
2511
+ 372: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">format</span>.<span class="ruby-identifier">nil?</span>
2512
+ 373: <span class="ruby-identifier">format</span> = <span class="ruby-value str">'%Y-%m-%d-%H:%M'</span> <span class="ruby-operator">+</span> (<span class="ruby-ivar">@time</span>.<span class="ruby-identifier">sec</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-value str">':%S'</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">'-%z'</span>
2513
+ 374: <span class="ruby-keyword kw">end</span>
2514
+ 375: <span class="ruby-comment cmt"># Always report values in local timezone</span>
2515
+ 376: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-identifier">format</span>)
2516
+ 377: <span class="ruby-keyword kw">end</span></pre>
2491
2517
  </div>
2492
2518
 
2493
2519
  </div>
@@ -2521,14 +2547,50 @@ increasing time by <em>step</em> on each iteration.
2521
2547
  <div class="method-source-code"
2522
2548
  id="upto-source">
2523
2549
  <pre>
2524
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 182</span>
2525
- 182: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">upto</span>(<span class="ruby-identifier">endDate</span>, <span class="ruby-identifier">step</span> = <span class="ruby-value">1</span>)
2526
- 183: <span class="ruby-identifier">t</span> = <span class="ruby-ivar">@time</span>
2527
- 184: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">t</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">endDate</span>.<span class="ruby-identifier">time</span>
2528
- 185: <span class="ruby-keyword kw">yield</span>(<span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">t</span>))
2529
- 186: <span class="ruby-identifier">t</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">step</span>
2530
- 187: <span class="ruby-keyword kw">end</span>
2531
- 188: <span class="ruby-keyword kw">end</span></pre>
2550
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 186</span>
2551
+ 186: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">upto</span>(<span class="ruby-identifier">endDate</span>, <span class="ruby-identifier">step</span> = <span class="ruby-value">1</span>)
2552
+ 187: <span class="ruby-identifier">t</span> = <span class="ruby-ivar">@time</span>
2553
+ 188: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">t</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">endDate</span>.<span class="ruby-identifier">time</span>
2554
+ 189: <span class="ruby-keyword kw">yield</span>(<span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">t</span>))
2555
+ 190: <span class="ruby-identifier">t</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">step</span>
2556
+ 191: <span class="ruby-keyword kw">end</span>
2557
+ 192: <span class="ruby-keyword kw">end</span></pre>
2558
+ </div>
2559
+
2560
+ </div>
2561
+
2562
+
2563
+
2564
+
2565
+ </div>
2566
+
2567
+
2568
+ <div id="utc-method" class="method-detail ">
2569
+ <a name="method-i-utc"></a>
2570
+
2571
+ <div class="method-heading">
2572
+
2573
+ <span class="method-name">utc</span><span
2574
+ class="method-args">()</span>
2575
+ <span class="method-click-advice">click to toggle source</span>
2576
+
2577
+ </div>
2578
+
2579
+ <div class="method-description">
2580
+
2581
+ <p>
2582
+ Return the time object in UTC.
2583
+ </p>
2584
+
2585
+
2586
+
2587
+ <div class="method-source-code"
2588
+ id="utc-source">
2589
+ <pre>
2590
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 117</span>
2591
+ 117: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">utc</span>
2592
+ 118: <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@time</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">gmtime</span>)
2593
+ 119: <span class="ruby-keyword kw">end</span></pre>
2532
2594
  </div>
2533
2595
 
2534
2596
  </div>
@@ -2561,10 +2623,10 @@ Return the day of the week. 0 for Sunday, 1 for Monday and so on.
2561
2623
  <div class="method-source-code"
2562
2624
  id="wday-source">
2563
2625
  <pre>
2564
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 389</span>
2565
- 389: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">wday</span>
2566
- 390: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">wday</span>
2567
- 391: <span class="ruby-keyword kw">end</span></pre>
2626
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 393</span>
2627
+ 393: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">wday</span>
2628
+ 394: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">wday</span>
2629
+ 395: <span class="ruby-keyword kw">end</span></pre>
2568
2630
  </div>
2569
2631
 
2570
2632
  </div>
@@ -2598,10 +2660,10 @@ counting should be for weeks starting Mondays or Sundays.
2598
2660
  <div class="method-source-code"
2599
2661
  id="week-source">
2600
2662
  <pre>
2601
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 427</span>
2602
- 427: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">week</span>(<span class="ruby-identifier">weekStartsMonday</span>)
2603
- 428: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-identifier">weekStartsMonday</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'%W'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'%U'</span>)
2604
- 429: <span class="ruby-keyword kw">end</span></pre>
2663
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 431</span>
2664
+ 431: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">week</span>(<span class="ruby-identifier">weekStartsMonday</span>)
2665
+ 432: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-identifier">weekStartsMonday</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'%W'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'%U'</span>)
2666
+ 433: <span class="ruby-keyword kw">end</span></pre>
2605
2667
  </div>
2606
2668
 
2607
2669
  </div>
@@ -2635,10 +2697,10 @@ Return the abbreviated weekday and the full date. E. g. &#8216;Sat
2635
2697
  <div class="method-source-code"
2636
2698
  id="weekday-nd-ate-source">
2637
2699
  <pre>
2638
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 437</span>
2639
- 437: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">weekdayAndDate</span>
2640
- 438: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">'%A %Y-%m-%d'</span>)
2641
- 439: <span class="ruby-keyword kw">end</span></pre>
2700
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 441</span>
2701
+ 441: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">weekdayAndDate</span>
2702
+ 442: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">'%A %Y-%m-%d'</span>)
2703
+ 443: <span class="ruby-keyword kw">end</span></pre>
2642
2704
  </div>
2643
2705
 
2644
2706
  </div>
@@ -2672,10 +2734,10 @@ is always rounded up.
2672
2734
  <div class="method-source-code"
2673
2735
  id="weeks-o-source">
2674
2736
  <pre>
2675
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 342</span>
2676
- 342: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">weeksTo</span>(<span class="ruby-identifier">date</span>)
2677
- 343: <span class="ruby-identifier">countIntervals</span>(<span class="ruby-identifier">date</span>, <span class="ruby-value">:sameTimeNextWeek</span>)
2678
- 344: <span class="ruby-keyword kw">end</span></pre>
2737
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 346</span>
2738
+ 346: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">weeksTo</span>(<span class="ruby-identifier">date</span>)
2739
+ 347: <span class="ruby-identifier">countIntervals</span>(<span class="ruby-identifier">date</span>, <span class="ruby-value">:sameTimeNextWeek</span>)
2740
+ 348: <span class="ruby-keyword kw">end</span></pre>
2679
2741
  </div>
2680
2742
 
2681
2743
  </div>
@@ -2708,10 +2770,10 @@ Return the year.
2708
2770
  <div class="method-source-code"
2709
2771
  id="year-source">
2710
2772
  <pre>
2711
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 411</span>
2712
- 411: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">year</span>
2713
- 412: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">year</span>
2714
- 413: <span class="ruby-keyword kw">end</span></pre>
2773
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 415</span>
2774
+ 415: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">year</span>
2775
+ 416: <span class="ruby-identifier">localtime</span>.<span class="ruby-identifier">year</span>
2776
+ 417: <span class="ruby-keyword kw">end</span></pre>
2715
2777
  </div>
2716
2778
 
2717
2779
  </div>
@@ -2745,10 +2807,10 @@ is always rounded up.
2745
2807
  <div class="method-source-code"
2746
2808
  id="years-o-source">
2747
2809
  <pre>
2748
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 360</span>
2749
- 360: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">yearsTo</span>(<span class="ruby-identifier">date</span>)
2750
- 361: <span class="ruby-identifier">countIntervals</span>(<span class="ruby-identifier">date</span>, <span class="ruby-value">:sameTimeNextYear</span>)
2751
- 362: <span class="ruby-keyword kw">end</span></pre>
2810
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 364</span>
2811
+ 364: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">yearsTo</span>(<span class="ruby-identifier">date</span>)
2812
+ 365: <span class="ruby-identifier">countIntervals</span>(<span class="ruby-identifier">date</span>, <span class="ruby-value">:sameTimeNextYear</span>)
2813
+ 366: <span class="ruby-keyword kw">end</span></pre>
2752
2814
  </div>
2753
2815
 
2754
2816
  </div>
@@ -2785,16 +2847,16 @@ is always rounded up.
2785
2847
  <div class="method-source-code"
2786
2848
  id="count-ntervals-source">
2787
2849
  <pre>
2788
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 547</span>
2789
- 547: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">countIntervals</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">stepFunc</span>)
2790
- 548: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
2791
- 549: <span class="ruby-identifier">t1</span>, <span class="ruby-identifier">t2</span> = <span class="ruby-identifier">order</span>(<span class="ruby-identifier">date</span>)
2792
- 550: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">t1</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">t2</span>
2793
- 551: <span class="ruby-identifier">t1</span> = <span class="ruby-identifier">t1</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">stepFunc</span>)
2794
- 552: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
2795
- 553: <span class="ruby-keyword kw">end</span>
2796
- 554: <span class="ruby-identifier">i</span>
2797
- 555: <span class="ruby-keyword kw">end</span></pre>
2850
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 551</span>
2851
+ 551: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">countIntervals</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">stepFunc</span>)
2852
+ 552: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
2853
+ 553: <span class="ruby-identifier">t1</span>, <span class="ruby-identifier">t2</span> = <span class="ruby-identifier">order</span>(<span class="ruby-identifier">date</span>)
2854
+ 554: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">t1</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">t2</span>
2855
+ 555: <span class="ruby-identifier">t1</span> = <span class="ruby-identifier">t1</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">stepFunc</span>)
2856
+ 556: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
2857
+ 557: <span class="ruby-keyword kw">end</span>
2858
+ 558: <span class="ruby-identifier">i</span>
2859
+ 559: <span class="ruby-keyword kw">end</span></pre>
2798
2860
  </div>
2799
2861
 
2800
2862
  </div>
@@ -2825,10 +2887,10 @@ is always rounded up.
2825
2887
  <div class="method-source-code"
2826
2888
  id="last-ay-f-onth-source">
2827
2889
  <pre>
2828
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 557</span>
2829
- 557: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lastDayOfMonth</span>(<span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span>)
2830
- 558: <span class="ruby-identifier">month</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">leapYear?</span>(<span class="ruby-identifier">year</span>) <span class="ruby-operator">?</span> <span class="ruby-value">29</span> <span class="ruby-operator">:</span> <span class="ruby-constant">MON_MAX</span>[<span class="ruby-identifier">month</span>]
2831
- 559: <span class="ruby-keyword kw">end</span></pre>
2890
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 561</span>
2891
+ 561: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lastDayOfMonth</span>(<span class="ruby-identifier">month</span>, <span class="ruby-identifier">year</span>)
2892
+ 562: <span class="ruby-identifier">month</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">leapYear?</span>(<span class="ruby-identifier">year</span>) <span class="ruby-operator">?</span> <span class="ruby-value">29</span> <span class="ruby-operator">:</span> <span class="ruby-constant">MON_MAX</span>[<span class="ruby-identifier">month</span>]
2893
+ 563: <span class="ruby-keyword kw">end</span></pre>
2832
2894
  </div>
2833
2895
 
2834
2896
  </div>
@@ -2859,17 +2921,17 @@ is always rounded up.
2859
2921
  <div class="method-source-code"
2860
2922
  id="leap-ear--source">
2861
2923
  <pre>
2862
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 561</span>
2863
- 561: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">leapYear?</span>(<span class="ruby-identifier">year</span>)
2864
- 562: <span class="ruby-keyword kw">case</span>
2865
- 563: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">year</span> <span class="ruby-operator">%</span> <span class="ruby-value">400</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
2866
- 564: <span class="ruby-keyword kw">true</span>
2867
- 565: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">year</span> <span class="ruby-operator">%</span> <span class="ruby-value">100</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
2868
- 566: <span class="ruby-keyword kw">false</span>
2869
- 567: <span class="ruby-keyword kw">else</span>
2870
- 568: <span class="ruby-identifier">year</span> <span class="ruby-operator">%</span> <span class="ruby-value">4</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
2871
- 569: <span class="ruby-keyword kw">end</span>
2872
- 570: <span class="ruby-keyword kw">end</span></pre>
2924
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 565</span>
2925
+ 565: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">leapYear?</span>(<span class="ruby-identifier">year</span>)
2926
+ 566: <span class="ruby-keyword kw">case</span>
2927
+ 567: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">year</span> <span class="ruby-operator">%</span> <span class="ruby-value">400</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
2928
+ 568: <span class="ruby-keyword kw">true</span>
2929
+ 569: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">year</span> <span class="ruby-operator">%</span> <span class="ruby-value">100</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
2930
+ 570: <span class="ruby-keyword kw">false</span>
2931
+ 571: <span class="ruby-keyword kw">else</span>
2932
+ 572: <span class="ruby-identifier">year</span> <span class="ruby-operator">%</span> <span class="ruby-value">4</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
2933
+ 573: <span class="ruby-keyword kw">end</span>
2934
+ 574: <span class="ruby-keyword kw">end</span></pre>
2873
2935
  </div>
2874
2936
 
2875
2937
  </div>
@@ -2900,26 +2962,26 @@ is always rounded up.
2900
2962
  <div class="method-source-code"
2901
2963
  id="localtime-source">
2902
2964
  <pre>
2903
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 572</span>
2904
- 572: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">localtime</span>
2905
- 573: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@time</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@timeZone</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">@@tz</span>
2906
- 574:
2907
- 575: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@time</span>.<span class="ruby-identifier">utc?</span>
2908
- 576: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">@@tz</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'UTC'</span>
2909
- 577: <span class="ruby-comment cmt"># @time is already in the right zone (UTC)</span>
2910
- 578: <span class="ruby-ivar">@time</span>
2911
- 579: <span class="ruby-keyword kw">else</span>
2912
- 580: <span class="ruby-ivar">@time</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">localtime</span>
2913
- 581: <span class="ruby-keyword kw">end</span>
2914
- 582: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">@@tz</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'UTC'</span>
2915
- 583: <span class="ruby-comment cmt"># @time is not in UTC, so convert it to local time.</span>
2916
- 584: <span class="ruby-ivar">@time</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">gmtime</span>
2917
- 585: <span class="ruby-keyword kw">else</span>
2918
- 586: <span class="ruby-comment cmt"># To convert a Time object from one local time to another, we need to</span>
2919
- 587: <span class="ruby-comment cmt"># conver to UTC first and then to the new local time.</span>
2920
- 588: <span class="ruby-ivar">@time</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">gmtime</span>.<span class="ruby-identifier">localtime</span>
2921
- 589: <span class="ruby-keyword kw">end</span>
2922
- 590: <span class="ruby-keyword kw">end</span></pre>
2965
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 576</span>
2966
+ 576: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">localtime</span>
2967
+ 577: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@time</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@timeZone</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">@@tz</span>
2968
+ 578:
2969
+ 579: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@time</span>.<span class="ruby-identifier">utc?</span>
2970
+ 580: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">@@tz</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'UTC'</span>
2971
+ 581: <span class="ruby-comment cmt"># @time is already in the right zone (UTC)</span>
2972
+ 582: <span class="ruby-ivar">@time</span>
2973
+ 583: <span class="ruby-keyword kw">else</span>
2974
+ 584: <span class="ruby-ivar">@time</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">localtime</span>
2975
+ 585: <span class="ruby-keyword kw">end</span>
2976
+ 586: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">@@tz</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'UTC'</span>
2977
+ 587: <span class="ruby-comment cmt"># @time is not in UTC, so convert it to local time.</span>
2978
+ 588: <span class="ruby-ivar">@time</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">gmtime</span>
2979
+ 589: <span class="ruby-keyword kw">else</span>
2980
+ 590: <span class="ruby-comment cmt"># To convert a Time object from one local time to another, we need to</span>
2981
+ 591: <span class="ruby-comment cmt"># conver to UTC first and then to the new local time.</span>
2982
+ 592: <span class="ruby-ivar">@time</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">gmtime</span>.<span class="ruby-identifier">localtime</span>
2983
+ 593: <span class="ruby-keyword kw">end</span>
2984
+ 594: <span class="ruby-keyword kw">end</span></pre>
2923
2985
  </div>
2924
2986
 
2925
2987
  </div>
@@ -2950,10 +3012,10 @@ is always rounded up.
2950
3012
  <div class="method-source-code"
2951
3013
  id="order-source">
2952
3014
  <pre>
2953
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 543</span>
2954
- 543: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">order</span>(<span class="ruby-identifier">date</span>)
2955
- 544: <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">date</span> <span class="ruby-operator">?</span> [ <span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">date</span> ] <span class="ruby-operator">:</span> [ <span class="ruby-identifier">date</span>, <span class="ruby-keyword kw">self</span> ]
2956
- 545: <span class="ruby-keyword kw">end</span></pre>
3015
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 547</span>
3016
+ 547: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">order</span>(<span class="ruby-identifier">date</span>)
3017
+ 548: <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">date</span> <span class="ruby-operator">?</span> [ <span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">date</span> ] <span class="ruby-operator">:</span> [ <span class="ruby-identifier">date</span>, <span class="ruby-keyword kw">self</span> ]
3018
+ 549: <span class="ruby-keyword kw">end</span></pre>
2957
3019
  </div>
2958
3020
 
2959
3021
  </div>
@@ -2984,106 +3046,106 @@ is always rounded up.
2984
3046
  <div class="method-source-code"
2985
3047
  id="parse-source">
2986
3048
  <pre>
2987
- <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 443</span>
2988
- 443: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">t</span>)
2989
- 444: <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">time</span>, <span class="ruby-identifier">zone</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'-'</span>, <span class="ruby-value">5</span>)
2990
- 445:
2991
- 446: <span class="ruby-comment cmt"># Check the year</span>
2992
- 447: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">year</span>
2993
- 448: <span class="ruby-identifier">year</span> = <span class="ruby-identifier">year</span>.<span class="ruby-identifier">to_i</span>
2994
- 449: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">year</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">1970</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">year</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">2035</span>
2995
- 450: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Year #{year} out of range (1970 - 2035)&quot;</span>
2996
- 451: <span class="ruby-keyword kw">end</span>
2997
- 452: <span class="ruby-keyword kw">else</span>
2998
- 453: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Year not specified&quot;</span>
2999
- 454: <span class="ruby-keyword kw">end</span>
3000
- 455:
3001
- 456: <span class="ruby-comment cmt"># Check the month</span>
3002
- 457: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">month</span>
3003
- 458: <span class="ruby-identifier">month</span> = <span class="ruby-identifier">month</span>.<span class="ruby-identifier">to_i</span>
3004
- 459: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">month</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">1</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">month</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">12</span>
3005
- 460: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Month #{month} out of range (1 - 12)&quot;</span>
3006
- 461: <span class="ruby-keyword kw">end</span>
3007
- 462: <span class="ruby-keyword kw">else</span>
3008
- 463: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Month not specified&quot;</span>
3009
- 464: <span class="ruby-keyword kw">end</span>
3010
- 465:
3011
- 466: <span class="ruby-comment cmt"># Check the day</span>
3012
- 467: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">day</span>
3013
- 468: <span class="ruby-identifier">day</span> = <span class="ruby-identifier">day</span>.<span class="ruby-identifier">to_i</span>
3014
- 469: <span class="ruby-identifier">maxDay</span> = [ <span class="ruby-value">0</span>, <span class="ruby-value">31</span>, <span class="ruby-constant">Date</span>.<span class="ruby-identifier">gregorian_leap?</span>(<span class="ruby-identifier">year</span>) <span class="ruby-operator">?</span> <span class="ruby-value">29</span> <span class="ruby-operator">:</span> <span class="ruby-value">28</span>, <span class="ruby-value">31</span>, <span class="ruby-value">30</span>, <span class="ruby-value">31</span>,
3015
- 470: <span class="ruby-value">30</span>, <span class="ruby-value">31</span>, <span class="ruby-value">31</span>, <span class="ruby-value">30</span>, <span class="ruby-value">31</span>, <span class="ruby-value">30</span>, <span class="ruby-value">31</span> ]
3016
- 471: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">month</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">1</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">month</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">maxDay</span>[<span class="ruby-identifier">month</span>]
3017
- 472: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Day #{day} out of range (1 - #{maxDay[month]})&quot;</span>
3018
- 473: <span class="ruby-keyword kw">end</span>
3019
- 474: <span class="ruby-keyword kw">else</span>
3020
- 475: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Day not specified&quot;</span>
3021
- 476: <span class="ruby-keyword kw">end</span>
3022
- 477:
3023
- 478: <span class="ruby-comment cmt"># The time is optional. Will be expanded to 00:00:00.</span>
3024
- 479: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">time</span>
3025
- 480: <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">minute</span>, <span class="ruby-identifier">second</span> = <span class="ruby-identifier">time</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">':'</span>)
3049
+ <span class="ruby-comment cmt"># File lib/taskjuggler/TjTime.rb, line 447</span>
3050
+ 447: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">t</span>)
3051
+ 448: <span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">time</span>, <span class="ruby-identifier">zone</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'-'</span>, <span class="ruby-value">5</span>)
3052
+ 449:
3053
+ 450: <span class="ruby-comment cmt"># Check the year</span>
3054
+ 451: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">year</span>
3055
+ 452: <span class="ruby-identifier">year</span> = <span class="ruby-identifier">year</span>.<span class="ruby-identifier">to_i</span>
3056
+ 453: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">year</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">1970</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">year</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">2035</span>
3057
+ 454: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Year #{year} out of range (1970 - 2035)&quot;</span>
3058
+ 455: <span class="ruby-keyword kw">end</span>
3059
+ 456: <span class="ruby-keyword kw">else</span>
3060
+ 457: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Year not specified&quot;</span>
3061
+ 458: <span class="ruby-keyword kw">end</span>
3062
+ 459:
3063
+ 460: <span class="ruby-comment cmt"># Check the month</span>
3064
+ 461: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">month</span>
3065
+ 462: <span class="ruby-identifier">month</span> = <span class="ruby-identifier">month</span>.<span class="ruby-identifier">to_i</span>
3066
+ 463: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">month</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">1</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">month</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">12</span>
3067
+ 464: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Month #{month} out of range (1 - 12)&quot;</span>
3068
+ 465: <span class="ruby-keyword kw">end</span>
3069
+ 466: <span class="ruby-keyword kw">else</span>
3070
+ 467: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Month not specified&quot;</span>
3071
+ 468: <span class="ruby-keyword kw">end</span>
3072
+ 469:
3073
+ 470: <span class="ruby-comment cmt"># Check the day</span>
3074
+ 471: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">day</span>
3075
+ 472: <span class="ruby-identifier">day</span> = <span class="ruby-identifier">day</span>.<span class="ruby-identifier">to_i</span>
3076
+ 473: <span class="ruby-identifier">maxDay</span> = [ <span class="ruby-value">0</span>, <span class="ruby-value">31</span>, <span class="ruby-constant">Date</span>.<span class="ruby-identifier">gregorian_leap?</span>(<span class="ruby-identifier">year</span>) <span class="ruby-operator">?</span> <span class="ruby-value">29</span> <span class="ruby-operator">:</span> <span class="ruby-value">28</span>, <span class="ruby-value">31</span>, <span class="ruby-value">30</span>, <span class="ruby-value">31</span>,
3077
+ 474: <span class="ruby-value">30</span>, <span class="ruby-value">31</span>, <span class="ruby-value">31</span>, <span class="ruby-value">30</span>, <span class="ruby-value">31</span>, <span class="ruby-value">30</span>, <span class="ruby-value">31</span> ]
3078
+ 475: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">month</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">1</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">month</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">maxDay</span>[<span class="ruby-identifier">month</span>]
3079
+ 476: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Day #{day} out of range (1 - #{maxDay[month]})&quot;</span>
3080
+ 477: <span class="ruby-keyword kw">end</span>
3081
+ 478: <span class="ruby-keyword kw">else</span>
3082
+ 479: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Day not specified&quot;</span>
3083
+ 480: <span class="ruby-keyword kw">end</span>
3026
3084
  481:
3027
- 482: <span class="ruby-comment cmt"># Check hour</span>
3028
- 483: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hour</span>
3029
- 484: <span class="ruby-identifier">hour</span> = <span class="ruby-identifier">hour</span>.<span class="ruby-identifier">to_i</span>
3030
- 485: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hour</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">hour</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">23</span>
3031
- 486: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Hour #{hour} out of range (0 - 23)&quot;</span>
3032
- 487: <span class="ruby-keyword kw">end</span>
3033
- 488: <span class="ruby-keyword kw">else</span>
3034
- 489: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Hour not specified&quot;</span>
3035
- 490: <span class="ruby-keyword kw">end</span>
3036
- 491:
3037
- 492: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minute</span>
3038
- 493: <span class="ruby-identifier">minute</span> = <span class="ruby-identifier">minute</span>.<span class="ruby-identifier">to_i</span>
3039
- 494: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minute</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">minute</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">59</span>
3040
- 495: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Minute #{minute} out of range (0 - 59)&quot;</span>
3041
- 496: <span class="ruby-keyword kw">end</span>
3042
- 497: <span class="ruby-keyword kw">else</span>
3043
- 498: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Minute not specified&quot;</span>
3044
- 499: <span class="ruby-keyword kw">end</span>
3045
- 500:
3046
- 501: <span class="ruby-comment cmt"># Check sencond. This value is optional and defaults to 0.</span>
3047
- 502: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">second</span>
3048
- 503: <span class="ruby-identifier">second</span> = <span class="ruby-identifier">second</span>.<span class="ruby-identifier">to_i</span>
3049
- 504: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">second</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">second</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">59</span>
3050
- 505: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Second #{second} out of range (0 - 59)&quot;</span>
3051
- 506: <span class="ruby-keyword kw">end</span>
3052
- 507: <span class="ruby-keyword kw">else</span>
3053
- 508: <span class="ruby-identifier">second</span> = <span class="ruby-value">0</span>
3054
- 509: <span class="ruby-keyword kw">end</span>
3055
- 510: <span class="ruby-keyword kw">else</span>
3056
- 511: <span class="ruby-identifier">hour</span> = <span class="ruby-identifier">minute</span> = <span class="ruby-identifier">second</span> = <span class="ruby-value">0</span>
3057
- 512: <span class="ruby-keyword kw">end</span>
3058
- 513:
3059
- 514: <span class="ruby-comment cmt"># The zone is optional and defaults to the current time zone.</span>
3060
- 515: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">zone</span>
3061
- 516: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">zone</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">--</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">zone</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">++</span>
3062
- 517: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Time zone adjustment must be prefixed by &quot;</span> <span class="ruby-operator">+</span>
3063
- 518: <span class="ruby-node">&quot;+ or -, not #{zone[0]}&quot;</span>
3064
- 519: <span class="ruby-keyword kw">end</span>
3065
- 520: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">zone</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">!=</span> <span class="ruby-value">5</span>
3066
- 521: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Time zone adjustment must use (+/-)HHMM format&quot;</span>
3067
- 522: <span class="ruby-keyword kw">end</span>
3068
- 523:
3069
- 524: <span class="ruby-ivar">@time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">utc</span>(<span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">minute</span>, <span class="ruby-identifier">second</span>)
3070
- 525: <span class="ruby-identifier">sign</span> = <span class="ruby-identifier">zone</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">--</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>
3071
- 526: <span class="ruby-identifier">tzHour</span> = <span class="ruby-identifier">zone</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>].<span class="ruby-identifier">to_i</span>
3072
- 527: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tzHour</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">tzHour</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">12</span>
3073
- 528: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Time zone adjustment hour out of range &quot;</span> <span class="ruby-operator">+</span>
3074
- 529: <span class="ruby-node">&quot;(0 - 12) but is #{tzHour}&quot;</span>
3075
- 530: <span class="ruby-keyword kw">end</span>
3076
- 531: <span class="ruby-identifier">tzMinute</span> = <span class="ruby-identifier">zone</span>[<span class="ruby-value">3</span><span class="ruby-operator">..</span><span class="ruby-value">4</span>].<span class="ruby-identifier">to_i</span>
3077
- 532: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tzMinute</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">tzMinute</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">59</span>
3078
- 533: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Time zone adjustment minute out of range &quot;</span> <span class="ruby-operator">+</span>
3079
- 534: <span class="ruby-node">&quot;(0 - 59) but is #{tzMinute}&quot;</span>
3080
- 535: <span class="ruby-keyword kw">end</span>
3081
- 536: <span class="ruby-ivar">@time</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">sign</span> * (<span class="ruby-identifier">tzHour</span> * <span class="ruby-value">3600</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">tzMinute</span> * <span class="ruby-value">60</span>)
3082
- 537: <span class="ruby-ivar">@timeZone</span> = <span class="ruby-value str">'UTC'</span>
3083
- 538: <span class="ruby-keyword kw">else</span>
3084
- 539: <span class="ruby-ivar">@time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">mktime</span>(<span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">minute</span>, <span class="ruby-identifier">second</span>)
3085
- 540: <span class="ruby-keyword kw">end</span>
3086
- 541: <span class="ruby-keyword kw">end</span></pre>
3085
+ 482: <span class="ruby-comment cmt"># The time is optional. Will be expanded to 00:00:00.</span>
3086
+ 483: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">time</span>
3087
+ 484: <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">minute</span>, <span class="ruby-identifier">second</span> = <span class="ruby-identifier">time</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">':'</span>)
3088
+ 485:
3089
+ 486: <span class="ruby-comment cmt"># Check hour</span>
3090
+ 487: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hour</span>
3091
+ 488: <span class="ruby-identifier">hour</span> = <span class="ruby-identifier">hour</span>.<span class="ruby-identifier">to_i</span>
3092
+ 489: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hour</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">hour</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">23</span>
3093
+ 490: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Hour #{hour} out of range (0 - 23)&quot;</span>
3094
+ 491: <span class="ruby-keyword kw">end</span>
3095
+ 492: <span class="ruby-keyword kw">else</span>
3096
+ 493: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Hour not specified&quot;</span>
3097
+ 494: <span class="ruby-keyword kw">end</span>
3098
+ 495:
3099
+ 496: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minute</span>
3100
+ 497: <span class="ruby-identifier">minute</span> = <span class="ruby-identifier">minute</span>.<span class="ruby-identifier">to_i</span>
3101
+ 498: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minute</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">minute</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">59</span>
3102
+ 499: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Minute #{minute} out of range (0 - 59)&quot;</span>
3103
+ 500: <span class="ruby-keyword kw">end</span>
3104
+ 501: <span class="ruby-keyword kw">else</span>
3105
+ 502: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Minute not specified&quot;</span>
3106
+ 503: <span class="ruby-keyword kw">end</span>
3107
+ 504:
3108
+ 505: <span class="ruby-comment cmt"># Check sencond. This value is optional and defaults to 0.</span>
3109
+ 506: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">second</span>
3110
+ 507: <span class="ruby-identifier">second</span> = <span class="ruby-identifier">second</span>.<span class="ruby-identifier">to_i</span>
3111
+ 508: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">second</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">second</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">59</span>
3112
+ 509: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Second #{second} out of range (0 - 59)&quot;</span>
3113
+ 510: <span class="ruby-keyword kw">end</span>
3114
+ 511: <span class="ruby-keyword kw">else</span>
3115
+ 512: <span class="ruby-identifier">second</span> = <span class="ruby-value">0</span>
3116
+ 513: <span class="ruby-keyword kw">end</span>
3117
+ 514: <span class="ruby-keyword kw">else</span>
3118
+ 515: <span class="ruby-identifier">hour</span> = <span class="ruby-identifier">minute</span> = <span class="ruby-identifier">second</span> = <span class="ruby-value">0</span>
3119
+ 516: <span class="ruby-keyword kw">end</span>
3120
+ 517:
3121
+ 518: <span class="ruby-comment cmt"># The zone is optional and defaults to the current time zone.</span>
3122
+ 519: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">zone</span>
3123
+ 520: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">zone</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">--</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">zone</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">++</span>
3124
+ 521: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Time zone adjustment must be prefixed by &quot;</span> <span class="ruby-operator">+</span>
3125
+ 522: <span class="ruby-node">&quot;+ or -, not #{zone[0]}&quot;</span>
3126
+ 523: <span class="ruby-keyword kw">end</span>
3127
+ 524: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">zone</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">!=</span> <span class="ruby-value">5</span>
3128
+ 525: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Time zone adjustment must use (+/-)HHMM format&quot;</span>
3129
+ 526: <span class="ruby-keyword kw">end</span>
3130
+ 527:
3131
+ 528: <span class="ruby-ivar">@time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">utc</span>(<span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">minute</span>, <span class="ruby-identifier">second</span>)
3132
+ 529: <span class="ruby-identifier">sign</span> = <span class="ruby-identifier">zone</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">--</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>
3133
+ 530: <span class="ruby-identifier">tzHour</span> = <span class="ruby-identifier">zone</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>].<span class="ruby-identifier">to_i</span>
3134
+ 531: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tzHour</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">tzHour</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">12</span>
3135
+ 532: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Time zone adjustment hour out of range &quot;</span> <span class="ruby-operator">+</span>
3136
+ 533: <span class="ruby-node">&quot;(0 - 12) but is #{tzHour}&quot;</span>
3137
+ 534: <span class="ruby-keyword kw">end</span>
3138
+ 535: <span class="ruby-identifier">tzMinute</span> = <span class="ruby-identifier">zone</span>[<span class="ruby-value">3</span><span class="ruby-operator">..</span><span class="ruby-value">4</span>].<span class="ruby-identifier">to_i</span>
3139
+ 536: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tzMinute</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">tzMinute</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">59</span>
3140
+ 537: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">&quot;Time zone adjustment minute out of range &quot;</span> <span class="ruby-operator">+</span>
3141
+ 538: <span class="ruby-node">&quot;(0 - 59) but is #{tzMinute}&quot;</span>
3142
+ 539: <span class="ruby-keyword kw">end</span>
3143
+ 540: <span class="ruby-ivar">@time</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">sign</span> * (<span class="ruby-identifier">tzHour</span> * <span class="ruby-value">3600</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">tzMinute</span> * <span class="ruby-value">60</span>)
3144
+ 541: <span class="ruby-ivar">@timeZone</span> = <span class="ruby-value str">'UTC'</span>
3145
+ 542: <span class="ruby-keyword kw">else</span>
3146
+ 543: <span class="ruby-ivar">@time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">mktime</span>(<span class="ruby-identifier">year</span>, <span class="ruby-identifier">month</span>, <span class="ruby-identifier">day</span>, <span class="ruby-identifier">hour</span>, <span class="ruby-identifier">minute</span>, <span class="ruby-identifier">second</span>)
3147
+ 544: <span class="ruby-keyword kw">end</span>
3148
+ 545: <span class="ruby-keyword kw">end</span></pre>
3087
3149
  </div>
3088
3150
 
3089
3151
  </div>