taskjuggler 0.0.11 → 0.1.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 (697) hide show
  1. data/CHANGELOG +6 -1550
  2. data/benchmarks/UTF-8-Strings.rb +58 -0
  3. data/benchmarks/profile.clt +36082 -0
  4. data/benchmarks/profile.html +58182 -0
  5. data/benchmarks/runbench.rb +2 -2
  6. data/data/css/tjmanual.css +0 -1
  7. data/doc/AppConfig.html +1491 -0
  8. data/doc/CHANGELOG.html +557 -0
  9. data/doc/COPYING.html +899 -0
  10. data/doc/Diff.html +1193 -0
  11. data/doc/Diff/Hunk.html +1026 -0
  12. data/doc/Diffable.html +684 -0
  13. data/doc/DiffableString.html +684 -0
  14. data/doc/Object.html +720 -0
  15. data/doc/README_rdoc.html +742 -0
  16. data/doc/RuntimeConfig.html +856 -0
  17. data/doc/String.html +1005 -0
  18. data/doc/TaskJuggler.html +2639 -0
  19. data/doc/TaskJuggler/Account.html +753 -0
  20. data/doc/TaskJuggler/AccountAttribute.html +769 -0
  21. data/doc/TaskJuggler/AccountScenario.html +712 -0
  22. data/doc/TaskJuggler/Allocation.html +963 -0
  23. data/doc/TaskJuggler/AllocationAttribute.html +799 -0
  24. data/doc/TaskJuggler/AttributeBase.html +1328 -0
  25. data/doc/TaskJuggler/AttributeDefinition.html +815 -0
  26. data/doc/TaskJuggler/AttributeOverwrite.html +606 -0
  27. data/doc/TaskJuggler/BatchProcessor.html +1178 -0
  28. data/doc/TaskJuggler/Booking.html +859 -0
  29. data/doc/TaskJuggler/BookingListAttribute.html +769 -0
  30. data/doc/TaskJuggler/BooleanAttribute.html +769 -0
  31. data/doc/TaskJuggler/CSVFile.html +1128 -0
  32. data/doc/TaskJuggler/CellSettingPattern.html +700 -0
  33. data/doc/TaskJuggler/CellSettingPatternList.html +749 -0
  34. data/doc/TaskJuggler/Charge.html +777 -0
  35. data/doc/TaskJuggler/ChargeListAttribute.html +733 -0
  36. data/doc/TaskJuggler/ChargeSet.html +949 -0
  37. data/doc/TaskJuggler/ChargeSetListAttribute.html +778 -0
  38. data/doc/TaskJuggler/CollisionDetector.html +1089 -0
  39. data/doc/TaskJuggler/ColumnListAttribute.html +733 -0
  40. data/doc/TaskJuggler/ColumnTable.html +763 -0
  41. data/doc/TaskJuggler/Daemon.html +819 -0
  42. data/doc/TaskJuggler/DataCache.html +1025 -0
  43. data/doc/TaskJuggler/DataCacheEntry.html +737 -0
  44. data/doc/TaskJuggler/DateAttribute.html +737 -0
  45. data/doc/TaskJuggler/DefinitionListAttribute.html +655 -0
  46. data/doc/TaskJuggler/DependencyListAttribute.html +773 -0
  47. data/doc/TaskJuggler/DurationAttribute.html +770 -0
  48. data/doc/TaskJuggler/FileList.html +793 -0
  49. data/doc/TaskJuggler/FileRecord.html +702 -0
  50. data/doc/TaskJuggler/FixnumAttribute.html +691 -0
  51. data/doc/TaskJuggler/FlagListAttribute.html +769 -0
  52. data/doc/TaskJuggler/FloatAttribute.html +733 -0
  53. data/doc/TaskJuggler/FormatListAttribute.html +697 -0
  54. data/doc/TaskJuggler/GanttChart.html +1487 -0
  55. data/doc/TaskJuggler/GanttContainer.html +945 -0
  56. data/doc/TaskJuggler/GanttHeader.html +948 -0
  57. data/doc/TaskJuggler/GanttHeaderScaleItem.html +762 -0
  58. data/doc/TaskJuggler/GanttLine.html +1325 -0
  59. data/doc/TaskJuggler/GanttLoadStack.html +828 -0
  60. data/doc/TaskJuggler/GanttMilestone.html +926 -0
  61. data/doc/TaskJuggler/GanttRouter.html +1136 -0
  62. data/doc/TaskJuggler/GanttTaskBar.html +948 -0
  63. data/doc/TaskJuggler/HTMLDocument.html +754 -0
  64. data/doc/TaskJuggler/HTMLElements.html +599 -0
  65. data/doc/TaskJuggler/HTMLGraphics.html +837 -0
  66. data/doc/TaskJuggler/Interval.html +1076 -0
  67. data/doc/TaskJuggler/IntervalList.html +797 -0
  68. data/doc/TaskJuggler/IntervalListAttribute.html +773 -0
  69. data/doc/TaskJuggler/JobInfo.html +943 -0
  70. data/doc/TaskJuggler/Journal.html +1248 -0
  71. data/doc/TaskJuggler/JournalEntry.html +860 -0
  72. data/doc/TaskJuggler/JournalEntryList.html +1229 -0
  73. data/doc/TaskJuggler/KeywordArray.html +696 -0
  74. data/doc/TaskJuggler/KeywordDocumentation.html +2250 -0
  75. data/doc/TaskJuggler/Limits.html +1036 -0
  76. data/doc/TaskJuggler/Limits/Limit.html +947 -0
  77. data/doc/TaskJuggler/LimitsAttribute.html +734 -0
  78. data/doc/TaskJuggler/ListAttributeBase.html +703 -0
  79. data/doc/TaskJuggler/Log.html +1163 -0
  80. data/doc/TaskJuggler/LogFile.html +980 -0
  81. data/doc/TaskJuggler/LogicalAttribute.html +760 -0
  82. data/doc/TaskJuggler/LogicalExpression.html +801 -0
  83. data/doc/TaskJuggler/LogicalExpressionAttribute.html +691 -0
  84. data/doc/TaskJuggler/LogicalExpressionListAttribute.html +691 -0
  85. data/doc/TaskJuggler/LogicalFlag.html +753 -0
  86. data/doc/TaskJuggler/LogicalFunction.html +1409 -0
  87. data/doc/TaskJuggler/LogicalOperation.html +1144 -0
  88. data/doc/TaskJuggler/ManagerResponsibilities.html +736 -0
  89. data/doc/TaskJuggler/ManagerStatusRecord.html +740 -0
  90. data/doc/TaskJuggler/Message.html +837 -0
  91. data/doc/TaskJuggler/MessageHandler.html +1056 -0
  92. data/doc/TaskJuggler/Navigator.html +943 -0
  93. data/doc/TaskJuggler/NavigatorElement.html +994 -0
  94. data/doc/TaskJuggler/NikuProject.html +724 -0
  95. data/doc/TaskJuggler/NikuReport.html +1470 -0
  96. data/doc/TaskJuggler/NikuResource.html +694 -0
  97. data/doc/TaskJuggler/NodeListAttribute.html +655 -0
  98. data/doc/TaskJuggler/PlaceHolderCell.html +748 -0
  99. data/doc/TaskJuggler/ProcessIntercom.html +1017 -0
  100. data/doc/TaskJuggler/ProcessIntercomIface.html +773 -0
  101. data/doc/TaskJuggler/Project.html +3478 -0
  102. data/doc/TaskJuggler/ProjectBroker.html +1676 -0
  103. data/doc/TaskJuggler/ProjectBrokerIface.html +851 -0
  104. data/doc/TaskJuggler/ProjectFileParser.html +2102 -0
  105. data/doc/TaskJuggler/ProjectFileScanner.html +1896 -0
  106. data/doc/TaskJuggler/ProjectRecord.html +978 -0
  107. data/doc/TaskJuggler/ProjectServer.html +1249 -0
  108. data/doc/TaskJuggler/ProjectServerIface.html +868 -0
  109. data/doc/TaskJuggler/PropertyAttribute.html +691 -0
  110. data/doc/TaskJuggler/PropertyList.html +1399 -0
  111. data/doc/TaskJuggler/PropertySet.html +1796 -0
  112. data/doc/TaskJuggler/PropertyTreeNode.html +2851 -0
  113. data/doc/TaskJuggler/Query.html +1756 -0
  114. data/doc/TaskJuggler/RTFHandlers.html +664 -0
  115. data/doc/TaskJuggler/RTFNavigator.html +792 -0
  116. data/doc/TaskJuggler/RTFQuery.html +1083 -0
  117. data/doc/TaskJuggler/RTFReport.html +820 -0
  118. data/doc/TaskJuggler/RTFReportLink.html +812 -0
  119. data/doc/TaskJuggler/RTFWithQuerySupport.html +702 -0
  120. data/doc/TaskJuggler/RealFormat.html +805 -0
  121. data/doc/TaskJuggler/RealFormatAttribute.html +655 -0
  122. data/doc/TaskJuggler/ReferenceAttribute.html +880 -0
  123. data/doc/TaskJuggler/Report.html +1501 -0
  124. data/doc/TaskJuggler/ReportBase.html +1266 -0
  125. data/doc/TaskJuggler/ReportContext.html +837 -0
  126. data/doc/TaskJuggler/ReportServer.html +1068 -0
  127. data/doc/TaskJuggler/ReportServerIface.html +902 -0
  128. data/doc/TaskJuggler/ReportServerRecord.html +781 -0
  129. data/doc/TaskJuggler/ReportServlet.html +1029 -0
  130. data/doc/TaskJuggler/ReportTable.html +1179 -0
  131. data/doc/TaskJuggler/ReportTableCell.html +1666 -0
  132. data/doc/TaskJuggler/ReportTableColumn.html +890 -0
  133. data/doc/TaskJuggler/ReportTableLegend.html +1060 -0
  134. data/doc/TaskJuggler/ReportTableLine.html +1067 -0
  135. data/doc/TaskJuggler/Resource.html +1004 -0
  136. data/doc/TaskJuggler/ResourceListAttribute.html +829 -0
  137. data/doc/TaskJuggler/ResourceListRE.html +737 -0
  138. data/doc/TaskJuggler/ResourceScenario.html +2549 -0
  139. data/doc/TaskJuggler/RichText.html +879 -0
  140. data/doc/TaskJuggler/RichTextAttribute.html +811 -0
  141. data/doc/TaskJuggler/RichTextDocument.html +1038 -0
  142. data/doc/TaskJuggler/RichTextElement.html +1780 -0
  143. data/doc/TaskJuggler/RichTextFunctionExample.html +799 -0
  144. data/doc/TaskJuggler/RichTextFunctionHandler.html +750 -0
  145. data/doc/TaskJuggler/RichTextImage.html +712 -0
  146. data/doc/TaskJuggler/RichTextIntermediate.html +1285 -0
  147. data/doc/TaskJuggler/RichTextParser.html +868 -0
  148. data/doc/TaskJuggler/RichTextScanner.html +1565 -0
  149. data/doc/TaskJuggler/RichTextSnip.html +1000 -0
  150. data/doc/TaskJuggler/RichTextSyntaxRules.html +2052 -0
  151. data/doc/TaskJuggler/Scenario.html +656 -0
  152. data/doc/TaskJuggler/ScenarioData.html +838 -0
  153. data/doc/TaskJuggler/ScenarioListAttribute.html +733 -0
  154. data/doc/TaskJuggler/Scoreboard.html +1201 -0
  155. data/doc/TaskJuggler/SheetHandlerBase.html +1297 -0
  156. data/doc/TaskJuggler/SheetReceiver.html +1398 -0
  157. data/doc/TaskJuggler/SheetSender.html +1168 -0
  158. data/doc/TaskJuggler/Shift.html +751 -0
  159. data/doc/TaskJuggler/ShiftAssignment.html +1008 -0
  160. data/doc/TaskJuggler/ShiftAssignments.html +1413 -0
  161. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +734 -0
  162. data/doc/TaskJuggler/ShiftScenario.html +782 -0
  163. data/doc/TaskJuggler/SimpleQueryExpander.html +732 -0
  164. data/doc/TaskJuggler/SortListAttribute.html +691 -0
  165. data/doc/TaskJuggler/StatusSheetReceiver.html +678 -0
  166. data/doc/TaskJuggler/StatusSheetReport.html +935 -0
  167. data/doc/TaskJuggler/StatusSheetSender.html +808 -0
  168. data/doc/TaskJuggler/StdIoWrapper.html +696 -0
  169. data/doc/TaskJuggler/StringAttribute.html +733 -0
  170. data/doc/TaskJuggler/SymbolAttribute.html +691 -0
  171. data/doc/TaskJuggler/SyntaxReference.html +1240 -0
  172. data/doc/TaskJuggler/TOCEntry.html +836 -0
  173. data/doc/TaskJuggler/TSResourceRecord.html +732 -0
  174. data/doc/TaskJuggler/TSTaskRecord.html +744 -0
  175. data/doc/TaskJuggler/TableColumnDefinition.html +949 -0
  176. data/doc/TaskJuggler/TableOfContents.html +790 -0
  177. data/doc/TaskJuggler/TableReport.html +2555 -0
  178. data/doc/TaskJuggler/Task.html +890 -0
  179. data/doc/TaskJuggler/TaskDepListAttribute.html +773 -0
  180. data/doc/TaskJuggler/TaskDependency.html +832 -0
  181. data/doc/TaskJuggler/TaskListAttribute.html +773 -0
  182. data/doc/TaskJuggler/TaskListRE.html +736 -0
  183. data/doc/TaskJuggler/TaskScenario.html +5180 -0
  184. data/doc/TaskJuggler/TernarySearchTree.html +1341 -0
  185. data/doc/TaskJuggler/TextFormatter.html +973 -0
  186. data/doc/TaskJuggler/TextParser.html +1862 -0
  187. data/doc/TaskJuggler/TextParser/Macro.html +708 -0
  188. data/doc/TaskJuggler/TextParser/MacroTable.html +832 -0
  189. data/doc/TaskJuggler/TextParser/Pattern.html +1743 -0
  190. data/doc/TaskJuggler/TextParser/Rule.html +1419 -0
  191. data/doc/TaskJuggler/TextParser/Scanner.html +1516 -0
  192. data/doc/TaskJuggler/TextParser/Scanner/BufferStreamHandle.html +661 -0
  193. data/doc/TaskJuggler/TextParser/Scanner/FileStreamHandle.html +727 -0
  194. data/doc/TaskJuggler/TextParser/Scanner/MacroStackEntry.html +724 -0
  195. data/doc/TaskJuggler/TextParser/Scanner/StreamHandle.html +1095 -0
  196. data/doc/TaskJuggler/TextParser/SourceFileInfo.html +760 -0
  197. data/doc/TaskJuggler/TextParser/StackElement.html +940 -0
  198. data/doc/TaskJuggler/TextParser/State.html +1015 -0
  199. data/doc/TaskJuggler/TextParser/StateTransition.html +808 -0
  200. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +711 -0
  201. data/doc/TaskJuggler/TextParser/TokenDoc.html +742 -0
  202. data/doc/TaskJuggler/TextReport.html +921 -0
  203. data/doc/TaskJuggler/TimeSheet.html +1264 -0
  204. data/doc/TaskJuggler/TimeSheetReceiver.html +675 -0
  205. data/doc/TaskJuggler/TimeSheetRecord.html +1415 -0
  206. data/doc/TaskJuggler/TimeSheetReport.html +1013 -0
  207. data/doc/TaskJuggler/TimeSheetSender.html +700 -0
  208. data/doc/TaskJuggler/TimeSheetSummary.html +959 -0
  209. data/doc/TaskJuggler/TimeSheets.html +736 -0
  210. data/doc/TaskJuggler/Tj3.html +857 -0
  211. data/doc/TaskJuggler/Tj3AppBase.html +942 -0
  212. data/doc/TaskJuggler/Tj3Client.html +1510 -0
  213. data/doc/TaskJuggler/Tj3Daemon.html +870 -0
  214. data/doc/TaskJuggler/Tj3Man.html +768 -0
  215. data/doc/TaskJuggler/Tj3SheetAppBase.html +758 -0
  216. data/doc/TaskJuggler/Tj3SsReceiver.html +747 -0
  217. data/doc/TaskJuggler/Tj3SsSender.html +780 -0
  218. data/doc/TaskJuggler/Tj3TsReceiver.html +747 -0
  219. data/doc/TaskJuggler/Tj3TsSender.html +767 -0
  220. data/doc/TaskJuggler/Tj3TsSummary.html +775 -0
  221. data/doc/TaskJuggler/TjException.html +692 -0
  222. data/doc/TaskJuggler/TjRuntimeError.html +606 -0
  223. data/doc/TaskJuggler/TjTime.html +3117 -0
  224. data/doc/TaskJuggler/TjpExample.html +897 -0
  225. data/doc/TaskJuggler/TjpExportRE.html +1772 -0
  226. data/doc/TaskJuggler/TjpSyntaxRules.html +14329 -0
  227. data/doc/TaskJuggler/URLParameter.html +691 -0
  228. data/doc/TaskJuggler/UserManual.html +1224 -0
  229. data/doc/TaskJuggler/VimSyntax.html +1064 -0
  230. data/doc/TaskJuggler/WebServer.html +757 -0
  231. data/doc/TaskJuggler/WelcomePage.html +789 -0
  232. data/doc/TaskJuggler/WorkingHours.html +1218 -0
  233. data/doc/TaskJuggler/WorkingHoursAttribute.html +756 -0
  234. data/doc/TaskJuggler/XMLBlob.html +707 -0
  235. data/doc/TaskJuggler/XMLComment.html +702 -0
  236. data/doc/TaskJuggler/XMLDocument.html +803 -0
  237. data/doc/TaskJuggler/XMLElement.html +990 -0
  238. data/doc/TaskJuggler/XMLNamedText.html +663 -0
  239. data/doc/TaskJuggler/XMLText.html +717 -0
  240. data/doc/index.html +4518 -0
  241. data/doc/lib/taskjuggler/AccountScenario_rb.html +69 -0
  242. data/doc/lib/taskjuggler/Account_rb.html +71 -0
  243. data/doc/lib/taskjuggler/AlgorithmDiff_rb.html +67 -0
  244. data/doc/lib/taskjuggler/Allocation_rb.html +71 -0
  245. data/doc/lib/taskjuggler/AppConfig_rb.html +69 -0
  246. data/doc/lib/taskjuggler/AttributeBase_rb.html +69 -0
  247. data/doc/lib/taskjuggler/AttributeDefinition_rb.html +67 -0
  248. data/doc/lib/taskjuggler/Attributes_rb.html +83 -0
  249. data/doc/lib/taskjuggler/BatchProcessor_rb.html +71 -0
  250. data/doc/lib/taskjuggler/Booking_rb.html +67 -0
  251. data/doc/lib/taskjuggler/ChargeSet_rb.html +69 -0
  252. data/doc/lib/taskjuggler/Charge_rb.html +69 -0
  253. data/doc/lib/taskjuggler/DataCache_rb.html +71 -0
  254. data/doc/lib/taskjuggler/FileList_rb.html +67 -0
  255. data/doc/lib/taskjuggler/HTMLDocument_rb.html +71 -0
  256. data/doc/lib/taskjuggler/HTMLElements_rb.html +69 -0
  257. data/doc/lib/taskjuggler/IntervalList_rb.html +69 -0
  258. data/doc/lib/taskjuggler/Interval_rb.html +69 -0
  259. data/doc/lib/taskjuggler/Journal_rb.html +67 -0
  260. data/doc/lib/taskjuggler/KeywordArray_rb.html +67 -0
  261. data/doc/lib/taskjuggler/KeywordDocumentation_rb.html +77 -0
  262. data/doc/lib/taskjuggler/Limits_rb.html +69 -0
  263. data/doc/lib/taskjuggler/LogFile_rb.html +69 -0
  264. data/doc/lib/taskjuggler/Log_rb.html +71 -0
  265. data/doc/lib/taskjuggler/LogicalExpression_rb.html +73 -0
  266. data/doc/lib/taskjuggler/LogicalFunction_rb.html +69 -0
  267. data/doc/lib/taskjuggler/LogicalOperation_rb.html +69 -0
  268. data/doc/lib/taskjuggler/MessageHandler_rb.html +69 -0
  269. data/doc/lib/taskjuggler/ProjectFileParser_rb.html +77 -0
  270. data/doc/lib/taskjuggler/ProjectFileScanner_rb.html +69 -0
  271. data/doc/lib/taskjuggler/Project_rb.html +113 -0
  272. data/doc/lib/taskjuggler/PropertyList_rb.html +67 -0
  273. data/doc/lib/taskjuggler/PropertySet_rb.html +71 -0
  274. data/doc/lib/taskjuggler/PropertyTreeNode_rb.html +67 -0
  275. data/doc/lib/taskjuggler/Query_rb.html +69 -0
  276. data/doc/lib/taskjuggler/RealFormat_rb.html +67 -0
  277. data/doc/lib/taskjuggler/ResourceScenario_rb.html +69 -0
  278. data/doc/lib/taskjuggler/Resource_rb.html +71 -0
  279. data/doc/lib/taskjuggler/RichText/Document_rb.html +73 -0
  280. data/doc/lib/taskjuggler/RichText/Element_rb.html +75 -0
  281. data/doc/lib/taskjuggler/RichText/FunctionExample_rb.html +73 -0
  282. data/doc/lib/taskjuggler/RichText/FunctionHandler_rb.html +67 -0
  283. data/doc/lib/taskjuggler/RichText/Parser_rb.html +75 -0
  284. data/doc/lib/taskjuggler/RichText/RTFHandlers_rb.html +75 -0
  285. data/doc/lib/taskjuggler/RichText/RTFNavigator_rb.html +73 -0
  286. data/doc/lib/taskjuggler/RichText/RTFQuery_rb.html +73 -0
  287. data/doc/lib/taskjuggler/RichText/RTFReportLink_rb.html +75 -0
  288. data/doc/lib/taskjuggler/RichText/RTFReport_rb.html +71 -0
  289. data/doc/lib/taskjuggler/RichText/RTFWithQuerySupport_rb.html +69 -0
  290. data/doc/lib/taskjuggler/RichText/Scanner_rb.html +71 -0
  291. data/doc/lib/taskjuggler/RichText/Snip_rb.html +71 -0
  292. data/doc/lib/taskjuggler/RichText/SyntaxRules_rb.html +67 -0
  293. data/doc/lib/taskjuggler/RichText/TOCEntry_rb.html +71 -0
  294. data/doc/lib/taskjuggler/RichText/TableOfContents_rb.html +71 -0
  295. data/doc/lib/taskjuggler/RichText_rb.html +73 -0
  296. data/doc/lib/taskjuggler/RuntimeConfig_rb.html +69 -0
  297. data/doc/lib/taskjuggler/ScenarioData_rb.html +71 -0
  298. data/doc/lib/taskjuggler/Scenario_rb.html +69 -0
  299. data/doc/lib/taskjuggler/Scoreboard_rb.html +69 -0
  300. data/doc/lib/taskjuggler/SheetHandlerBase_rb.html +75 -0
  301. data/doc/lib/taskjuggler/SheetReceiver_rb.html +81 -0
  302. data/doc/lib/taskjuggler/SheetSender_rb.html +79 -0
  303. data/doc/lib/taskjuggler/ShiftAssignments_rb.html +71 -0
  304. data/doc/lib/taskjuggler/ShiftScenario_rb.html +69 -0
  305. data/doc/lib/taskjuggler/Shift_rb.html +71 -0
  306. data/doc/lib/taskjuggler/SimpleQueryExpander_rb.html +69 -0
  307. data/doc/lib/taskjuggler/StatusSheetReceiver_rb.html +69 -0
  308. data/doc/lib/taskjuggler/StatusSheetSender_rb.html +69 -0
  309. data/doc/lib/taskjuggler/StdIoWrapper_rb.html +67 -0
  310. data/doc/lib/taskjuggler/SyntaxReference_rb.html +75 -0
  311. data/doc/lib/taskjuggler/TableColumnDefinition_rb.html +67 -0
  312. data/doc/lib/taskjuggler/TaskDependency_rb.html +67 -0
  313. data/doc/lib/taskjuggler/TaskJuggler_rb.html +75 -0
  314. data/doc/lib/taskjuggler/TaskScenario_rb.html +71 -0
  315. data/doc/lib/taskjuggler/Task_rb.html +71 -0
  316. data/doc/lib/taskjuggler/TernarySearchTree_rb.html +69 -0
  317. data/doc/lib/taskjuggler/TextFormatter_rb.html +69 -0
  318. data/doc/lib/taskjuggler/TextParser/MacroTable_rb.html +67 -0
  319. data/doc/lib/taskjuggler/TextParser/Pattern_rb.html +71 -0
  320. data/doc/lib/taskjuggler/TextParser/Rule_rb.html +69 -0
  321. data/doc/lib/taskjuggler/TextParser/Scanner_rb.html +77 -0
  322. data/doc/lib/taskjuggler/TextParser/SourceFileInfo_rb.html +67 -0
  323. data/doc/lib/taskjuggler/TextParser/StackElement_rb.html +67 -0
  324. data/doc/lib/taskjuggler/TextParser/State_rb.html +67 -0
  325. data/doc/lib/taskjuggler/TextParser/TokenDoc_rb.html +67 -0
  326. data/doc/lib/taskjuggler/TextParser_rb.html +79 -0
  327. data/doc/lib/taskjuggler/TimeSheetReceiver_rb.html +69 -0
  328. data/doc/lib/taskjuggler/TimeSheetSender_rb.html +69 -0
  329. data/doc/lib/taskjuggler/TimeSheetSummary_rb.html +69 -0
  330. data/doc/lib/taskjuggler/TimeSheets_rb.html +67 -0
  331. data/doc/lib/taskjuggler/Tj3AppBase_rb.html +79 -0
  332. data/doc/lib/taskjuggler/Tj3Config_rb.html +71 -0
  333. data/doc/lib/taskjuggler/Tj3SheetAppBase_rb.html +69 -0
  334. data/doc/lib/taskjuggler/TjException_rb.html +67 -0
  335. data/doc/lib/taskjuggler/TjTime_rb.html +71 -0
  336. data/doc/lib/taskjuggler/TjpExample_rb.html +69 -0
  337. data/doc/lib/taskjuggler/TjpSyntaxRules_rb.html +67 -0
  338. data/doc/lib/taskjuggler/URLParameter_rb.html +69 -0
  339. data/doc/lib/taskjuggler/UTF8String_rb.html +69 -0
  340. data/doc/lib/taskjuggler/UserManual_rb.html +81 -0
  341. data/doc/lib/taskjuggler/VimSyntax_rb.html +69 -0
  342. data/doc/lib/taskjuggler/WorkingHours_rb.html +71 -0
  343. data/doc/lib/taskjuggler/XMLDocument_rb.html +69 -0
  344. data/doc/lib/taskjuggler/XMLElement_rb.html +69 -0
  345. data/doc/lib/taskjuggler/apps/Tj3Client_rb.html +75 -0
  346. data/doc/lib/taskjuggler/apps/Tj3Daemon_rb.html +75 -0
  347. data/doc/lib/taskjuggler/apps/Tj3Man_rb.html +75 -0
  348. data/doc/lib/taskjuggler/apps/Tj3SsReceiver_rb.html +71 -0
  349. data/doc/lib/taskjuggler/apps/Tj3SsSender_rb.html +71 -0
  350. data/doc/lib/taskjuggler/apps/Tj3TsReceiver_rb.html +71 -0
  351. data/doc/lib/taskjuggler/apps/Tj3TsSender_rb.html +71 -0
  352. data/doc/lib/taskjuggler/apps/Tj3TsSummary_rb.html +71 -0
  353. data/doc/lib/taskjuggler/apps/Tj3_rb.html +71 -0
  354. data/doc/lib/taskjuggler/daemon/Daemon_rb.html +69 -0
  355. data/doc/lib/taskjuggler/daemon/ProcessIntercom_rb.html +71 -0
  356. data/doc/lib/taskjuggler/daemon/ProjectBroker_rb.html +83 -0
  357. data/doc/lib/taskjuggler/daemon/ProjectServer_rb.html +85 -0
  358. data/doc/lib/taskjuggler/daemon/ReportServer_rb.html +73 -0
  359. data/doc/lib/taskjuggler/daemon/ReportServlet_rb.html +69 -0
  360. data/doc/lib/taskjuggler/daemon/WebServer_rb.html +81 -0
  361. data/doc/lib/taskjuggler/daemon/WelcomePage_rb.html +71 -0
  362. data/doc/lib/taskjuggler/deep_copy_rb.html +67 -0
  363. data/doc/lib/taskjuggler/reports/CSVFile_rb.html +69 -0
  364. data/doc/lib/taskjuggler/reports/CollisionDetector_rb.html +69 -0
  365. data/doc/lib/taskjuggler/reports/ColumnTable_rb.html +69 -0
  366. data/doc/lib/taskjuggler/reports/GanttChart_rb.html +75 -0
  367. data/doc/lib/taskjuggler/reports/GanttContainer_rb.html +69 -0
  368. data/doc/lib/taskjuggler/reports/GanttHeaderScaleItem_rb.html +67 -0
  369. data/doc/lib/taskjuggler/reports/GanttHeader_rb.html +69 -0
  370. data/doc/lib/taskjuggler/reports/GanttLine_rb.html +79 -0
  371. data/doc/lib/taskjuggler/reports/GanttLoadStack_rb.html +69 -0
  372. data/doc/lib/taskjuggler/reports/GanttMilestone_rb.html +69 -0
  373. data/doc/lib/taskjuggler/reports/GanttRouter_rb.html +69 -0
  374. data/doc/lib/taskjuggler/reports/GanttTaskBar_rb.html +69 -0
  375. data/doc/lib/taskjuggler/reports/HTMLGraphics_rb.html +67 -0
  376. data/doc/lib/taskjuggler/reports/Navigator_rb.html +69 -0
  377. data/doc/lib/taskjuggler/reports/NikuReport_rb.html +71 -0
  378. data/doc/lib/taskjuggler/reports/ReportBase_rb.html +67 -0
  379. data/doc/lib/taskjuggler/reports/ReportContext_rb.html +67 -0
  380. data/doc/lib/taskjuggler/reports/ReportTableCell_rb.html +67 -0
  381. data/doc/lib/taskjuggler/reports/ReportTableColumn_rb.html +67 -0
  382. data/doc/lib/taskjuggler/reports/ReportTableLegend_rb.html +67 -0
  383. data/doc/lib/taskjuggler/reports/ReportTableLine_rb.html +69 -0
  384. data/doc/lib/taskjuggler/reports/ReportTable_rb.html +71 -0
  385. data/doc/lib/taskjuggler/reports/Report_rb.html +93 -0
  386. data/doc/lib/taskjuggler/reports/ResourceListRE_rb.html +75 -0
  387. data/doc/lib/taskjuggler/reports/StatusSheetReport_rb.html +69 -0
  388. data/doc/lib/taskjuggler/reports/TableReport_rb.html +77 -0
  389. data/doc/lib/taskjuggler/reports/TaskListRE_rb.html +75 -0
  390. data/doc/lib/taskjuggler/reports/TextReport_rb.html +69 -0
  391. data/doc/lib/taskjuggler/reports/TimeSheetReport_rb.html +69 -0
  392. data/doc/lib/taskjuggler/reports/TjpExportRE_rb.html +69 -0
  393. data/doc/lib/tj3_rb.html +69 -0
  394. data/doc/lib/tj3client_rb.html +69 -0
  395. data/doc/lib/tj3d_rb.html +69 -0
  396. data/doc/lib/tj3man_rb.html +69 -0
  397. data/doc/lib/tj3ss_receiver_rb.html +69 -0
  398. data/doc/lib/tj3ss_sender_rb.html +69 -0
  399. data/doc/lib/tj3ts_receiver_rb.html +69 -0
  400. data/doc/lib/tj3ts_sender_rb.html +69 -0
  401. data/doc/lib/tj3ts_summary_rb.html +69 -0
  402. data/doc/rdoc.css +706 -0
  403. data/examples/tutorial.tjp +2 -1
  404. data/lib/taskjuggler/Attributes.rb +33 -12
  405. data/lib/taskjuggler/DataCache.rb +17 -0
  406. data/lib/taskjuggler/FileList.rb +9 -0
  407. data/lib/taskjuggler/HTMLDocument.rb +19 -21
  408. data/lib/taskjuggler/HTMLElements.rb +46 -0
  409. data/lib/taskjuggler/Journal.rb +95 -46
  410. data/lib/taskjuggler/KeywordDocumentation.rb +248 -185
  411. data/lib/taskjuggler/LogicalExpression.rb +2 -2
  412. data/lib/taskjuggler/LogicalFunction.rb +22 -1
  413. data/lib/taskjuggler/LogicalOperation.rb +15 -5
  414. data/lib/taskjuggler/Project.rb +73 -16
  415. data/lib/taskjuggler/ProjectFileParser.rb +1 -1
  416. data/lib/taskjuggler/ProjectFileScanner.rb +27 -0
  417. data/lib/taskjuggler/PropertySet.rb +22 -45
  418. data/lib/taskjuggler/PropertyTreeNode.rb +99 -128
  419. data/lib/taskjuggler/Query.rb +39 -8
  420. data/lib/taskjuggler/Resource.rb +15 -6
  421. data/lib/taskjuggler/RichText/Document.rb +3 -3
  422. data/lib/taskjuggler/RichText/RTFQuery.rb +4 -4
  423. data/lib/taskjuggler/SheetHandlerBase.rb +14 -12
  424. data/lib/taskjuggler/SheetReceiver.rb +17 -15
  425. data/lib/taskjuggler/SheetSender.rb +16 -10
  426. data/{spec/support → lib/taskjuggler}/StdIoWrapper.rb +17 -0
  427. data/lib/taskjuggler/SyntaxReference.rb +2 -2
  428. data/lib/taskjuggler/TableColumnDefinition.rb +4 -3
  429. data/lib/taskjuggler/Task.rb +7 -2
  430. data/lib/taskjuggler/TaskJuggler.rb +74 -0
  431. data/lib/taskjuggler/TaskScenario.rb +62 -83
  432. data/lib/taskjuggler/TextParser.rb +20 -13
  433. data/lib/taskjuggler/TextParser/Scanner.rb +17 -1
  434. data/lib/taskjuggler/TimeSheetSummary.rb +9 -5
  435. data/lib/taskjuggler/TimeSheets.rb +6 -1
  436. data/lib/taskjuggler/Tj3AppBase.rb +41 -18
  437. data/lib/taskjuggler/Tj3Config.rb +1 -1
  438. data/lib/taskjuggler/TjTime.rb +6 -1
  439. data/lib/taskjuggler/TjpSyntaxRules.rb +408 -227
  440. data/lib/taskjuggler/UTF8String.rb +10 -0
  441. data/lib/taskjuggler/UserManual.rb +89 -81
  442. data/lib/taskjuggler/WorkingHours.rb +2 -3
  443. data/lib/taskjuggler/XMLDocument.rb +13 -4
  444. data/lib/taskjuggler/XMLElement.rb +31 -3
  445. data/lib/taskjuggler/apps/Tj3.rb +53 -21
  446. data/lib/taskjuggler/apps/Tj3Client.rb +19 -17
  447. data/lib/taskjuggler/apps/Tj3Daemon.rb +24 -21
  448. data/lib/taskjuggler/{Tj3Man.rb → apps/Tj3Man.rb} +2 -2
  449. data/lib/taskjuggler/apps/Tj3SsReceiver.rb +14 -11
  450. data/lib/taskjuggler/apps/Tj3SsSender.rb +17 -14
  451. data/lib/taskjuggler/apps/Tj3TsReceiver.rb +14 -11
  452. data/lib/taskjuggler/apps/Tj3TsSender.rb +16 -13
  453. data/lib/taskjuggler/apps/Tj3TsSummary.rb +16 -13
  454. data/lib/taskjuggler/reports/GanttChart.rb +1 -1
  455. data/lib/taskjuggler/reports/GanttRouter.rb +0 -2
  456. data/lib/taskjuggler/reports/GanttTaskBar.rb +2 -1
  457. data/lib/taskjuggler/reports/Navigator.rb +2 -1
  458. data/lib/taskjuggler/reports/NikuReport.rb +11 -7
  459. data/lib/taskjuggler/reports/ReportContext.rb +1 -0
  460. data/lib/taskjuggler/reports/StatusSheetReport.rb +7 -2
  461. data/lib/taskjuggler/reports/TableReport.rb +6 -4
  462. data/lib/taskjuggler/reports/TimeSheetReport.rb +3 -0
  463. data/lib/taskjuggler/reports/TjpExportRE.rb +4 -4
  464. data/lib/tj3man.rb +1 -1
  465. data/manual/Day_To_Day_Juggling +134 -137
  466. data/manual/TaskJuggler_2x_Migration +39 -32
  467. data/manual/The_TaskJuggler_Syntax +6 -0
  468. data/prj_cfg.rb +2 -3
  469. data/spec/StatusSheets_spec.rb +314 -0
  470. data/spec/TimeSheets_spec.rb +237 -16
  471. data/spec/Tj3_spec.rb +1 -1
  472. data/spec/support/DaemonControl.rb +1 -1
  473. data/tasks/changelog.rake +13 -3
  474. data/tasks/manual.rake +1 -1
  475. data/test/TestSuite/CSV-Reports/refs/celltext.csv +1 -1
  476. data/test/TestSuite/CSV-Reports/refs/resourcereport.csv +1 -1
  477. data/test/TestSuite/CSV-Reports/refs/resourcereport_with_tasks.csv +1 -1
  478. data/test/TestSuite/CSV-Reports/refs/sortByTree.csv +1 -1
  479. data/test/TestSuite/CSV-Reports/refs/sortBy_effort.up.csv +1 -1
  480. data/test/TestSuite/CSV-Reports/refs/sortBy_plan.start.down.csv +1 -1
  481. data/test/TestSuite/CSV-Reports/refs/taskreport.csv +1 -1
  482. data/test/TestSuite/CSV-Reports/refs/taskreport_with_resources.csv +1 -1
  483. data/test/TestSuite/CSV-Reports/sortByTree.tjp +3 -1
  484. data/test/TestSuite/CSV-Reports/sortBy_duration.down.tjp +4 -1
  485. data/test/TestSuite/CSV-Reports/sortBy_effort.up.tjp +1 -1
  486. data/test/TestSuite/CSV-Reports/sortBy_plan.start.down.tjp +4 -1
  487. data/test/TestSuite/CSV-Reports/taskreport.tjp +3 -1
  488. data/test/TestSuite/CSV-Reports/taskreport_with_resources.tjp +3 -1
  489. data/test/TestSuite/CSV-Reports/weekly.tjp +1 -0
  490. data/test/TestSuite/Export-Reports/refs/Account.tjp +25 -30
  491. data/test/TestSuite/Export-Reports/refs/AdoptedTasks.tjp +1 -0
  492. data/test/TestSuite/Export-Reports/refs/Allocate-1.tjp +43 -72
  493. data/test/TestSuite/Export-Reports/refs/Alternative.tjp +17 -22
  494. data/test/TestSuite/Export-Reports/refs/AutoID.tjp +11 -10
  495. data/test/TestSuite/Export-Reports/refs/AutoMacros.tjp +1 -0
  496. data/test/TestSuite/Export-Reports/refs/Booking.tjp +16 -23
  497. data/test/TestSuite/Export-Reports/refs/Caption.tjp +13 -16
  498. data/test/TestSuite/Export-Reports/refs/Celltext.tjp +12 -16
  499. data/test/TestSuite/Export-Reports/refs/Comments.tjp +15 -19
  500. data/test/TestSuite/Export-Reports/refs/Complete.tjp +17 -26
  501. data/test/TestSuite/Export-Reports/refs/CompletedWork.tji.tjp +40 -0
  502. data/test/TestSuite/Export-Reports/refs/Currencyformat.tjp +1 -0
  503. data/test/TestSuite/Export-Reports/refs/CustomAttributes.tjp +1 -0
  504. data/test/TestSuite/Export-Reports/refs/Depends1.tjp +5 -4
  505. data/test/TestSuite/Export-Reports/refs/Durations.tjp +18 -27
  506. data/test/TestSuite/Export-Reports/refs/Efficiency.tjp +21 -20
  507. data/test/TestSuite/Export-Reports/refs/EnvVar.tjp +21 -0
  508. data/test/TestSuite/Export-Reports/refs/Flags.tjp +6 -5
  509. data/test/TestSuite/Export-Reports/refs/Gap.tjp +2 -1
  510. data/test/TestSuite/Export-Reports/refs/HtmlTaskReport.tjp +15 -19
  511. data/test/TestSuite/Export-Reports/refs/Include.tjp +21 -20
  512. data/test/TestSuite/Export-Reports/refs/Journal.tjp +6 -5
  513. data/test/TestSuite/Export-Reports/refs/Limits-1.tjp +92 -140
  514. data/test/TestSuite/Export-Reports/refs/LoadUnits.tjp +293 -566
  515. data/test/TestSuite/Export-Reports/refs/LogicalExpression.tjp +1 -0
  516. data/test/TestSuite/Export-Reports/refs/LogicalFunction.tjp +17 -22
  517. data/test/TestSuite/Export-Reports/refs/Macro-1.tjp +32 -53
  518. data/test/TestSuite/Export-Reports/refs/Macro-2.tjp +1 -0
  519. data/test/TestSuite/Export-Reports/refs/Macro-3.tjp +1 -0
  520. data/test/TestSuite/Export-Reports/refs/Manager.tjp +51 -50
  521. data/test/TestSuite/Export-Reports/refs/Mandatory.tjp +22 -31
  522. data/test/TestSuite/Export-Reports/refs/Milestone.tjp +1 -0
  523. data/test/TestSuite/Export-Reports/refs/MinMax.tjp +2 -1
  524. data/test/TestSuite/Export-Reports/refs/Niku.tjp +80 -139
  525. data/test/TestSuite/Export-Reports/refs/Numberformat.tjp +1 -0
  526. data/test/TestSuite/Export-Reports/refs/Period.tjp +1 -0
  527. data/test/TestSuite/Export-Reports/refs/Persistent.tjp +17 -21
  528. data/test/TestSuite/Export-Reports/refs/Precedes1.tjp +1 -0
  529. data/test/TestSuite/Export-Reports/refs/Priority.tjp +121 -107
  530. data/test/TestSuite/Export-Reports/refs/Project.tjp +1 -0
  531. data/test/TestSuite/Export-Reports/refs/ProjectIDs.tjp +1 -0
  532. data/test/TestSuite/Export-Reports/refs/Query.tjp +17 -26
  533. data/test/TestSuite/Export-Reports/refs/Reports.tjp +42 -61
  534. data/test/TestSuite/Export-Reports/refs/Resource.tjp +21 -20
  535. data/test/TestSuite/Export-Reports/refs/ResourcePrefix.tjp +16 -20
  536. data/test/TestSuite/Export-Reports/refs/ResourceRoot.tjp +36 -35
  537. data/test/TestSuite/Export-Reports/refs/Responsible.tjp +17 -21
  538. data/test/TestSuite/Export-Reports/refs/RollupResource.tjp +36 -35
  539. data/test/TestSuite/Export-Reports/refs/Scenario.tjp +3 -1
  540. data/test/TestSuite/Export-Reports/refs/Scheduling.tjp +1 -0
  541. data/test/TestSuite/Export-Reports/refs/Select.tjp +29 -43
  542. data/test/TestSuite/Export-Reports/refs/Shift.tjp +12 -11
  543. data/test/TestSuite/Export-Reports/refs/Simple.tjp +15 -19
  544. data/test/TestSuite/Export-Reports/refs/StatusSheet.tjp +33 -47
  545. data/test/TestSuite/Export-Reports/refs/String.tjp +9 -10
  546. data/test/TestSuite/Export-Reports/refs/Supplement.tjp +7 -8
  547. data/test/TestSuite/Export-Reports/refs/TaskPrefix.tjp +10 -11
  548. data/test/TestSuite/Export-Reports/refs/TaskRoot.tjp +10 -9
  549. data/test/TestSuite/Export-Reports/refs/TimeFrame.tjp +9 -9
  550. data/test/TestSuite/Export-Reports/refs/TimeSheet1.tjp +25 -37
  551. data/test/TestSuite/Export-Reports/refs/Timezone.tjp +1 -0
  552. data/test/TestSuite/Export-Reports/refs/Vacation.tjp +26 -25
  553. data/test/TestSuite/Export-Reports/refs/tutorial.tjp +453 -821
  554. data/test/TestSuite/HTML-Reports/Alerts.html +160 -412
  555. data/test/TestSuite/HTML-Reports/CellText.html +758 -0
  556. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
  557. data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
  558. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +245 -0
  559. data/test/TestSuite/HTML-Reports/Query.html +31 -0
  560. data/test/TestSuite/HTML-Reports/css/tjmanual.css +0 -20
  561. data/test/TestSuite/HTML-Reports/css/tjreport.css +6 -7
  562. data/test/TestSuite/HTML-Reports/depArrows.html +851 -0
  563. data/test/TestSuite/HTML-Reports/profile.html +37581 -0
  564. data/test/TestSuite/{ReportGenerator/Correct → HTML-Reports/scripts}/scripts/wz_tooltip.js +20 -20
  565. data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +27 -3
  566. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions3.tjp +20 -0
  567. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions4.tjp +16 -0
  568. data/test/TestSuite/ReportGenerator/Correct/refs/DependencyList-1.csv +4 -0
  569. data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +2 -0
  570. data/test/TestSuite/ReportGenerator/Correct/refs/Journal-2.csv +8 -0
  571. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions3-1.csv +4 -0
  572. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions4-1.csv +2 -0
  573. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +3 -1
  574. data/test/TestSuite/Scheduler/Correct/Booking.tjp +8 -7
  575. data/test/TestSuite/Scheduler/Correct/Booking2.tjp +16 -9
  576. data/test/TestSuite/Scheduler/Correct/Booking3.tjp +28 -0
  577. data/test/TestSuite/Scheduler/Correct/Container.tjp +2 -2
  578. data/test/TestSuite/Scheduler/Correct/Depends.tjp +3 -3
  579. data/test/TestSuite/Scheduler/Correct/InheritStartEnd.tjp +4 -4
  580. data/test/TestSuite/Scheduler/Correct/Limits.tjp +3 -1
  581. data/test/TestSuite/Scheduler/Correct/Mandatory.tjp +2 -2
  582. data/test/TestSuite/Scheduler/Correct/MultipleMandatories.tjp +2 -2
  583. data/test/TestSuite/Scheduler/Correct/Optimize-1.tjp +2 -2
  584. data/test/TestSuite/Scheduler/Correct/Optimize-2.tjp +3 -3
  585. data/test/TestSuite/Scheduler/Correct/Optimize-3.tjp +3 -3
  586. data/test/TestSuite/Scheduler/Correct/Optimize-4.tjp +3 -3
  587. data/test/TestSuite/Scheduler/Correct/Optimize-5.tjp +7 -7
  588. data/test/TestSuite/Scheduler/Correct/Scenarios.tjp +2 -2
  589. data/test/TestSuite/Scheduler/Correct/Shift.tjp +7 -5
  590. data/test/TestSuite/Scheduler/Correct/Shift2.tjp +1 -1
  591. data/test/TestSuite/Scheduler/Correct/TimeSheet2.tjp +5 -2
  592. data/test/TestSuite/Scheduler/Errors/booking_no_duty.tjp +1 -1
  593. data/test/TestSuite/Scheduler/Errors/ts_alert1_more_details.tjp +4 -2
  594. data/test/TestSuite/Scheduler/Errors/ts_alert2_more_details.tjp +4 -2
  595. data/test/TestSuite/Scheduler/Errors/ts_no_expected_end.tjp +4 -2
  596. data/test/TestSuite/Scheduler/Errors/ts_no_headline1.tjp +4 -2
  597. data/test/TestSuite/Scheduler/Errors/ts_no_rem_or_end.tjp +4 -2
  598. data/test/TestSuite/Scheduler/Errors/ts_no_remaining.tjp +4 -2
  599. data/test/TestSuite/Scheduler/Errors/ts_no_status_work.tjp +4 -2
  600. data/test/TestSuite/Scheduler/Errors/ts_no_work.tjp +4 -2
  601. data/test/TestSuite/Scheduler/Errors/ts_res_new_task.tjp +5 -2
  602. data/test/TestSuite/Scheduler/Errors/ts_work_too_high.tjp +4 -2
  603. data/test/TestSuite/Scheduler/Errors/ts_work_too_low.tjp +4 -2
  604. data/test/TestSuite/StatusSheets/dev2.tji +22 -0
  605. data/test/TestSuite/StatusSheets/run +1 -1
  606. data/test/TestSuite/Syntax/Correct/Booking.tjp +0 -5
  607. data/test/TestSuite/Syntax/Correct/CompletedWork.tji.tjp +38 -0
  608. data/test/TestSuite/Syntax/Correct/EnvVar.tjp +12 -0
  609. data/test/TestSuite/Syntax/Correct/Freeze.tjp +1 -3
  610. data/test/TestSuite/Syntax/Correct/Limits-1.tjp +9 -5
  611. data/test/TestSuite/Syntax/Correct/Priority.tjp +22 -11
  612. data/test/TestSuite/Syntax/Correct/Scenario.tjp +1 -1
  613. data/test/TestSuite/Syntax/Correct/StatusSheet.tjp +2 -0
  614. data/test/TestSuite/Syntax/Correct/TimeSheet1.tjp +4 -4
  615. data/test/TestSuite/Syntax/Correct/css/tjmanual.css +20 -0
  616. data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -6
  617. data/test/TestSuite/Syntax/Correct/tutorial.tjp +2 -1
  618. data/test/TestSuite/Syntax/Errors/no_own_resource_booking.tjp +16 -0
  619. data/test/TestSuite/Syntax/Errors/no_own_task_booking.tjp +16 -0
  620. data/test/TestSuite/Syntax/Errors/resourceroot_leaf.tjp +10 -0
  621. data/test/TestSuite/Syntax/Errors/runaway_token.tjp +8 -0
  622. data/test/TestSuite/Syntax/Errors/sorting_bsi.tjp +11 -0
  623. data/test/TestSuite/Syntax/Errors/ss_no_tracking_scenario.tjp +14 -0
  624. data/test/TestSuite/Syntax/Errors/taskroot_leaf.tjp +8 -0
  625. data/test/TestSuite/Syntax/Errors/ts_bad_priority.tjp +4 -2
  626. data/test/TestSuite/Syntax/Errors/ts_default_details.tjp +4 -2
  627. data/test/TestSuite/Syntax/Errors/ts_default_summary.tjp +4 -2
  628. data/test/TestSuite/Syntax/Errors/ts_duplicate_task.tjp +4 -2
  629. data/test/TestSuite/Syntax/Errors/ts_end_too_early.tjp +4 -2
  630. data/test/TestSuite/Syntax/Errors/ts_headline_too_long.tjp +4 -2
  631. data/test/TestSuite/Syntax/Errors/ts_no_headline2.tjp +4 -2
  632. data/test/TestSuite/Syntax/Errors/ts_no_tracking_scenario.tjp +14 -0
  633. data/test/TestSuite/Syntax/Errors/ts_summary_too_long.tjp +4 -2
  634. data/test/TestSuite/Syntax/Errors/unknown_env_var.tjp +7 -0
  635. data/test/TestSuite/TimeSheets/resrep.tji +7 -0
  636. data/test/TestSuite/TimeSheets/ts.tji +351 -0
  637. data/test/TestSuite/TimeSheets/tsdef.tji +2 -0
  638. data/test/test_Export-Reports.rb +3 -0
  639. data/test/test_Journal.rb +4 -4
  640. data/test/test_PropertySet.rb +5 -5
  641. data/test/test_Syntax.rb +3 -0
  642. data/test/test_WorkingHours.rb +11 -18
  643. metadata +1012 -649
  644. data/lib/exchangebug.rb +0 -42
  645. data/lib/ruby-signal-bug.rb +0 -55
  646. data/spec/tj3client.log +0 -23
  647. data/test/TestSuite/CSV-Reports/alert.tjp +0 -9
  648. data/test/TestSuite/CSV-Reports/refs/alert.csv +0 -15
  649. data/test/TestSuite/Export-Reports/refs/CriticalPath.tjp +0 -41
  650. data/test/TestSuite/Export-Reports/refs/DST.tjp +0 -89
  651. data/test/TestSuite/Export-Reports/refs/ReleasePlan.tjp +0 -79
  652. data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
  653. data/test/TestSuite/HTML-Reports/reference.html +0 -51
  654. data/test/TestSuite/ReportGenerator/Correct/Alerts-1.csv +0 -1
  655. data/test/TestSuite/ReportGenerator/Correct/Alerts-1.html +0 -78
  656. data/test/TestSuite/ReportGenerator/Correct/Journal-1.csv +0 -6
  657. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +0 -3
  658. data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +0 -66
  659. data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +0 -413
  660. data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
  661. data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
  662. data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
  663. data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
  664. data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
  665. data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
  666. data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
  667. data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
  668. data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
  669. data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
  670. data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
  671. data/test/TestSuite/ReportGenerator/Correct/opennodes-1.csv +0 -2
  672. data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +0 -2
  673. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
  674. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
  675. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -86
  676. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +0 -413
  677. data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
  678. data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
  679. data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
  680. data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
  681. data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
  682. data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
  683. data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
  684. data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
  685. data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
  686. data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
  687. data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
  688. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +0 -1301
  689. data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
  690. data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
  691. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/resource1_2002-03-01.tji +0 -0
  692. data/test/TestSuite/Syntax/Correct/CriticalPath.tjp +0 -33
  693. data/test/TestSuite/Syntax/Correct/DST.tjp +0 -11
  694. data/test/TestSuite/Syntax/Correct/ReleasePlan.tjp +0 -32
  695. data/test/TestSuite/Syntax/Correct/niku.xml +0 -30
  696. data/test/TestSuite/Syntax/Errors/sorting_wbs.tjp +0 -11
  697. data/test/TestSuite/TimeSheets/uu.txt +0 -29
@@ -0,0 +1,3117 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: TaskJuggler::TjTime</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript"
13
+ charset="utf-8"></script>
14
+ <script src="../js/thickbox-compressed.js" type="text/javascript"
15
+ charset="utf-8"></script>
16
+ <script src="../js/quicksearch.js" type="text/javascript"
17
+ charset="utf-8"></script>
18
+ <script src="../js/darkfish.js" type="text/javascript"
19
+ charset="utf-8"></script>
20
+
21
+ </head>
22
+ <body class="class">
23
+
24
+ <div id="metadata">
25
+ <div id="home-metadata">
26
+ <div id="home-section" class="section">
27
+ <h3 class="section-header">
28
+ <a href="../index.html">Home</a>
29
+ <a href="../index.html#classes">Classes</a>
30
+ <a href="../index.html#methods">Methods</a>
31
+ </h3>
32
+ </div>
33
+ </div>
34
+
35
+ <div id="file-metadata">
36
+ <div id="file-list-section" class="section">
37
+ <h3 class="section-header">In Files</h3>
38
+ <div class="section-body">
39
+ <ul>
40
+
41
+ <li><a href="../lib/taskjuggler/TjTime_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/taskjuggler/TjTime.rb">lib/taskjuggler/TjTime.rb</a></li>
43
+
44
+ </ul>
45
+ </div>
46
+ </div>
47
+
48
+
49
+ </div>
50
+
51
+ <div id="class-metadata">
52
+
53
+ <!-- Parent Class -->
54
+
55
+ <div id="parent-class-section" class="section">
56
+ <h3 class="section-header">Parent</h3>
57
+
58
+ <p class="link"><a href="../Object.html">Object</a></p>
59
+
60
+ </div>
61
+
62
+
63
+ <!-- Namespace Contents -->
64
+
65
+
66
+ <!-- Method Quickref -->
67
+
68
+ <div id="method-list-section" class="section">
69
+ <h3 class="section-header">Methods</h3>
70
+ <ul class="link-list">
71
+
72
+ <li><a href="#method-c-checkTimeZone">::checkTimeZone</a></li>
73
+
74
+ <li><a href="#method-c-new">::new</a></li>
75
+
76
+ <li><a href="#method-c-setTimeZone">::setTimeZone</a></li>
77
+
78
+ <li><a href="#method-c-timeZone">::timeZone</a></li>
79
+
80
+ <li><a href="#method-i-%25">#%</a></li>
81
+
82
+ <li><a href="#method-i-%2B">#+</a></li>
83
+
84
+ <li><a href="#method-i--">#-</a></li>
85
+
86
+ <li><a href="#method-i-%3C">#<</a></li>
87
+
88
+ <li><a href="#method-i-%3C%3D">#<=</a></li>
89
+
90
+ <li><a href="#method-i-%3C%3D%3E">#<=></a></li>
91
+
92
+ <li><a href="#method-i-%3D%3D">#==</a></li>
93
+
94
+ <li><a href="#method-i-%3E">#></a></li>
95
+
96
+ <li><a href="#method-i-%3E%3D">#>=</a></li>
97
+
98
+ <li><a href="#method-i-align">#align</a></li>
99
+
100
+ <li><a href="#method-i-beginOfHour">#beginOfHour</a></li>
101
+
102
+ <li><a href="#method-i-beginOfMonth">#beginOfMonth</a></li>
103
+
104
+ <li><a href="#method-i-beginOfQuarter">#beginOfQuarter</a></li>
105
+
106
+ <li><a href="#method-i-beginOfWeek">#beginOfWeek</a></li>
107
+
108
+ <li><a href="#method-i-beginOfYear">#beginOfYear</a></li>
109
+
110
+ <li><a href="#method-i-countIntervals">#countIntervals</a></li>
111
+
112
+ <li><a href="#method-i-day">#day</a></li>
113
+
114
+ <li><a href="#method-i-daysTo">#daysTo</a></li>
115
+
116
+ <li><a href="#method-i-hour">#hour</a></li>
117
+
118
+ <li><a href="#method-i-hoursLater">#hoursLater</a></li>
119
+
120
+ <li><a href="#method-i-hoursTo">#hoursTo</a></li>
121
+
122
+ <li><a href="#method-i-lastDayOfMonth">#lastDayOfMonth</a></li>
123
+
124
+ <li><a href="#method-i-leapYear%3F">#leapYear?</a></li>
125
+
126
+ <li><a href="#method-i-localtime">#localtime</a></li>
127
+
128
+ <li><a href="#method-i-midnight">#midnight</a></li>
129
+
130
+ <li><a href="#method-i-mon">#mon</a></li>
131
+
132
+ <li><a href="#method-i-month">#month</a></li>
133
+
134
+ <li><a href="#method-i-monthAndYear">#monthAndYear</a></li>
135
+
136
+ <li><a href="#method-i-monthsTo">#monthsTo</a></li>
137
+
138
+ <li><a href="#method-i-nextDayOfWeek">#nextDayOfWeek</a></li>
139
+
140
+ <li><a href="#method-i-order">#order</a></li>
141
+
142
+ <li><a href="#method-i-parse">#parse</a></li>
143
+
144
+ <li><a href="#method-i-quarterName">#quarterName</a></li>
145
+
146
+ <li><a href="#method-i-quartersTo">#quartersTo</a></li>
147
+
148
+ <li><a href="#method-i-sameTimeNextDay">#sameTimeNextDay</a></li>
149
+
150
+ <li><a href="#method-i-sameTimeNextHour">#sameTimeNextHour</a></li>
151
+
152
+ <li><a href="#method-i-sameTimeNextMonth">#sameTimeNextMonth</a></li>
153
+
154
+ <li><a href="#method-i-sameTimeNextQuarter">#sameTimeNextQuarter</a></li>
155
+
156
+ <li><a href="#method-i-sameTimeNextWeek">#sameTimeNextWeek</a></li>
157
+
158
+ <li><a href="#method-i-sameTimeNextYear">#sameTimeNextYear</a></li>
159
+
160
+ <li><a href="#method-i-secondsOfDay">#secondsOfDay</a></li>
161
+
162
+ <li><a href="#method-i-shortMonthName">#shortMonthName</a></li>
163
+
164
+ <li><a href="#method-i-strftime">#strftime</a></li>
165
+
166
+ <li><a href="#method-i-to_a">#to_a</a></li>
167
+
168
+ <li><a href="#method-i-to_i">#to_i</a></li>
169
+
170
+ <li><a href="#method-i-to_s">#to_s</a></li>
171
+
172
+ <li><a href="#method-i-upto">#upto</a></li>
173
+
174
+ <li><a href="#method-i-wday">#wday</a></li>
175
+
176
+ <li><a href="#method-i-week">#week</a></li>
177
+
178
+ <li><a href="#method-i-weekdayAndDate">#weekdayAndDate</a></li>
179
+
180
+ <li><a href="#method-i-weeksTo">#weeksTo</a></li>
181
+
182
+ <li><a href="#method-i-year">#year</a></li>
183
+
184
+ <li><a href="#method-i-yearsTo">#yearsTo</a></li>
185
+
186
+ </ul>
187
+ </div>
188
+
189
+
190
+ <!-- Included Modules -->
191
+
192
+ </div>
193
+
194
+ <div id="project-metadata">
195
+
196
+
197
+ <div id="fileindex-section" class="section project-section">
198
+ <h3 class="section-header">Files</h3>
199
+ <ul>
200
+
201
+ <li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
202
+
203
+ <li class="file"><a href="../COPYING.html">COPYING</a></li>
204
+
205
+ <li class="file"><a href="../README_rdoc.html">README.rdoc</a></li>
206
+
207
+ </ul>
208
+ </div>
209
+
210
+
211
+ <div id="classindex-section" class="section project-section">
212
+ <h3 class="section-header">Class Index
213
+ <span class="search-toggle"><img src="../images/find.png"
214
+ height="16" width="16" alt="[+]"
215
+ title="show/hide quicksearch" /></span></h3>
216
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
217
+ <fieldset>
218
+ <legend>Quicksearch</legend>
219
+ <input type="text" name="quicksearch" value=""
220
+ class="quicksearch-field" />
221
+ </fieldset>
222
+ </form>
223
+
224
+ <ul class="link-list">
225
+
226
+ <li><a href="../TaskJuggler.html">TaskJuggler</a></li>
227
+
228
+ <li><a href="../TaskJuggler/Account.html">TaskJuggler::Account</a></li>
229
+
230
+ <li><a href="../TaskJuggler/AccountAttribute.html">TaskJuggler::AccountAttribute</a></li>
231
+
232
+ <li><a href="../TaskJuggler/AccountScenario.html">TaskJuggler::AccountScenario</a></li>
233
+
234
+ <li><a href="../TaskJuggler/Allocation.html">TaskJuggler::Allocation</a></li>
235
+
236
+ <li><a href="../TaskJuggler/AllocationAttribute.html">TaskJuggler::AllocationAttribute</a></li>
237
+
238
+ <li><a href="../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
239
+
240
+ <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
241
+
242
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
243
+
244
+ <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
245
+
246
+ <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
247
+
248
+ <li><a href="../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
249
+
250
+ <li><a href="../TaskJuggler/BooleanAttribute.html">TaskJuggler::BooleanAttribute</a></li>
251
+
252
+ <li><a href="../TaskJuggler/CSVFile.html">TaskJuggler::CSVFile</a></li>
253
+
254
+ <li><a href="../TaskJuggler/CellSettingPattern.html">TaskJuggler::CellSettingPattern</a></li>
255
+
256
+ <li><a href="../TaskJuggler/CellSettingPatternList.html">TaskJuggler::CellSettingPatternList</a></li>
257
+
258
+ <li><a href="../TaskJuggler/Charge.html">TaskJuggler::Charge</a></li>
259
+
260
+ <li><a href="../TaskJuggler/ChargeListAttribute.html">TaskJuggler::ChargeListAttribute</a></li>
261
+
262
+ <li><a href="../TaskJuggler/ChargeSet.html">TaskJuggler::ChargeSet</a></li>
263
+
264
+ <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
265
+
266
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
267
+
268
+ <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
269
+
270
+ <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
271
+
272
+ <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
273
+
274
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
275
+
276
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
277
+
278
+ <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
279
+
280
+ <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
281
+
282
+ <li><a href="../TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li>
283
+
284
+ <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
285
+
286
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
287
+
288
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
289
+
290
+ <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
291
+
292
+ <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
293
+
294
+ <li><a href="../TaskJuggler/FloatAttribute.html">TaskJuggler::FloatAttribute</a></li>
295
+
296
+ <li><a href="../TaskJuggler/FormatListAttribute.html">TaskJuggler::FormatListAttribute</a></li>
297
+
298
+ <li><a href="../TaskJuggler/GanttChart.html">TaskJuggler::GanttChart</a></li>
299
+
300
+ <li><a href="../TaskJuggler/GanttContainer.html">TaskJuggler::GanttContainer</a></li>
301
+
302
+ <li><a href="../TaskJuggler/GanttHeader.html">TaskJuggler::GanttHeader</a></li>
303
+
304
+ <li><a href="../TaskJuggler/GanttHeaderScaleItem.html">TaskJuggler::GanttHeaderScaleItem</a></li>
305
+
306
+ <li><a href="../TaskJuggler/GanttLine.html">TaskJuggler::GanttLine</a></li>
307
+
308
+ <li><a href="../TaskJuggler/GanttLoadStack.html">TaskJuggler::GanttLoadStack</a></li>
309
+
310
+ <li><a href="../TaskJuggler/GanttMilestone.html">TaskJuggler::GanttMilestone</a></li>
311
+
312
+ <li><a href="../TaskJuggler/GanttRouter.html">TaskJuggler::GanttRouter</a></li>
313
+
314
+ <li><a href="../TaskJuggler/GanttTaskBar.html">TaskJuggler::GanttTaskBar</a></li>
315
+
316
+ <li><a href="../TaskJuggler/HTMLDocument.html">TaskJuggler::HTMLDocument</a></li>
317
+
318
+ <li><a href="../TaskJuggler/HTMLElements.html">TaskJuggler::HTMLElements</a></li>
319
+
320
+ <li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
321
+
322
+ <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
323
+
324
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
325
+
326
+ <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
327
+
328
+ <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
329
+
330
+ <li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
331
+
332
+ <li><a href="../TaskJuggler/JournalEntry.html">TaskJuggler::JournalEntry</a></li>
333
+
334
+ <li><a href="../TaskJuggler/JournalEntryList.html">TaskJuggler::JournalEntryList</a></li>
335
+
336
+ <li><a href="../TaskJuggler/KeywordArray.html">TaskJuggler::KeywordArray</a></li>
337
+
338
+ <li><a href="../TaskJuggler/KeywordDocumentation.html">TaskJuggler::KeywordDocumentation</a></li>
339
+
340
+ <li><a href="../TaskJuggler/Limits.html">TaskJuggler::Limits</a></li>
341
+
342
+ <li><a href="../TaskJuggler/Limits/Limit.html">TaskJuggler::Limits::Limit</a></li>
343
+
344
+ <li><a href="../TaskJuggler/LimitsAttribute.html">TaskJuggler::LimitsAttribute</a></li>
345
+
346
+ <li><a href="../TaskJuggler/ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></li>
347
+
348
+ <li><a href="../TaskJuggler/Log.html">TaskJuggler::Log</a></li>
349
+
350
+ <li><a href="../TaskJuggler/LogFile.html">TaskJuggler::LogFile</a></li>
351
+
352
+ <li><a href="../TaskJuggler/LogicalAttribute.html">TaskJuggler::LogicalAttribute</a></li>
353
+
354
+ <li><a href="../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
355
+
356
+ <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
357
+
358
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
359
+
360
+ <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
361
+
362
+ <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
363
+
364
+ <li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
365
+
366
+ <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
367
+
368
+ <li><a href="../TaskJuggler/ManagerStatusRecord.html">TaskJuggler::ManagerStatusRecord</a></li>
369
+
370
+ <li><a href="../TaskJuggler/Message.html">TaskJuggler::Message</a></li>
371
+
372
+ <li><a href="../TaskJuggler/MessageHandler.html">TaskJuggler::MessageHandler</a></li>
373
+
374
+ <li><a href="../TaskJuggler/Navigator.html">TaskJuggler::Navigator</a></li>
375
+
376
+ <li><a href="../TaskJuggler/NavigatorElement.html">TaskJuggler::NavigatorElement</a></li>
377
+
378
+ <li><a href="../TaskJuggler/NikuProject.html">TaskJuggler::NikuProject</a></li>
379
+
380
+ <li><a href="../TaskJuggler/NikuReport.html">TaskJuggler::NikuReport</a></li>
381
+
382
+ <li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
383
+
384
+ <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
385
+
386
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
387
+
388
+ <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
389
+
390
+ <li><a href="../TaskJuggler/ProcessIntercomIface.html">TaskJuggler::ProcessIntercomIface</a></li>
391
+
392
+ <li><a href="../TaskJuggler/Project.html">TaskJuggler::Project</a></li>
393
+
394
+ <li><a href="../TaskJuggler/ProjectBroker.html">TaskJuggler::ProjectBroker</a></li>
395
+
396
+ <li><a href="../TaskJuggler/ProjectBrokerIface.html">TaskJuggler::ProjectBrokerIface</a></li>
397
+
398
+ <li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
399
+
400
+ <li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
401
+
402
+ <li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
403
+
404
+ <li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
405
+
406
+ <li><a href="../TaskJuggler/ProjectServerIface.html">TaskJuggler::ProjectServerIface</a></li>
407
+
408
+ <li><a href="../TaskJuggler/PropertyAttribute.html">TaskJuggler::PropertyAttribute</a></li>
409
+
410
+ <li><a href="../TaskJuggler/PropertyList.html">TaskJuggler::PropertyList</a></li>
411
+
412
+ <li><a href="../TaskJuggler/PropertySet.html">TaskJuggler::PropertySet</a></li>
413
+
414
+ <li><a href="../TaskJuggler/PropertyTreeNode.html">TaskJuggler::PropertyTreeNode</a></li>
415
+
416
+ <li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
417
+
418
+ <li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
419
+
420
+ <li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
421
+
422
+ <li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
423
+
424
+ <li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
425
+
426
+ <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
427
+
428
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
429
+
430
+ <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
431
+
432
+ <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
433
+
434
+ <li><a href="../TaskJuggler/ReferenceAttribute.html">TaskJuggler::ReferenceAttribute</a></li>
435
+
436
+ <li><a href="../TaskJuggler/Report.html">TaskJuggler::Report</a></li>
437
+
438
+ <li><a href="../TaskJuggler/ReportBase.html">TaskJuggler::ReportBase</a></li>
439
+
440
+ <li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
441
+
442
+ <li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
443
+
444
+ <li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
445
+
446
+ <li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
447
+
448
+ <li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
449
+
450
+ <li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
451
+
452
+ <li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
453
+
454
+ <li><a href="../TaskJuggler/ReportTableColumn.html">TaskJuggler::ReportTableColumn</a></li>
455
+
456
+ <li><a href="../TaskJuggler/ReportTableLegend.html">TaskJuggler::ReportTableLegend</a></li>
457
+
458
+ <li><a href="../TaskJuggler/ReportTableLine.html">TaskJuggler::ReportTableLine</a></li>
459
+
460
+ <li><a href="../TaskJuggler/Resource.html">TaskJuggler::Resource</a></li>
461
+
462
+ <li><a href="../TaskJuggler/ResourceListAttribute.html">TaskJuggler::ResourceListAttribute</a></li>
463
+
464
+ <li><a href="../TaskJuggler/ResourceListRE.html">TaskJuggler::ResourceListRE</a></li>
465
+
466
+ <li><a href="../TaskJuggler/ResourceScenario.html">TaskJuggler::ResourceScenario</a></li>
467
+
468
+ <li><a href="../TaskJuggler/RichText.html">TaskJuggler::RichText</a></li>
469
+
470
+ <li><a href="../TaskJuggler/RichTextAttribute.html">TaskJuggler::RichTextAttribute</a></li>
471
+
472
+ <li><a href="../TaskJuggler/RichTextDocument.html">TaskJuggler::RichTextDocument</a></li>
473
+
474
+ <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
475
+
476
+ <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
477
+
478
+ <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
479
+
480
+ <li><a href="../TaskJuggler/RichTextImage.html">TaskJuggler::RichTextImage</a></li>
481
+
482
+ <li><a href="../TaskJuggler/RichTextIntermediate.html">TaskJuggler::RichTextIntermediate</a></li>
483
+
484
+ <li><a href="../TaskJuggler/RichTextParser.html">TaskJuggler::RichTextParser</a></li>
485
+
486
+ <li><a href="../TaskJuggler/RichTextScanner.html">TaskJuggler::RichTextScanner</a></li>
487
+
488
+ <li><a href="../TaskJuggler/RichTextSnip.html">TaskJuggler::RichTextSnip</a></li>
489
+
490
+ <li><a href="../TaskJuggler/RichTextSyntaxRules.html">TaskJuggler::RichTextSyntaxRules</a></li>
491
+
492
+ <li><a href="../TaskJuggler/Scenario.html">TaskJuggler::Scenario</a></li>
493
+
494
+ <li><a href="../TaskJuggler/ScenarioData.html">TaskJuggler::ScenarioData</a></li>
495
+
496
+ <li><a href="../TaskJuggler/ScenarioListAttribute.html">TaskJuggler::ScenarioListAttribute</a></li>
497
+
498
+ <li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
499
+
500
+ <li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
501
+
502
+ <li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
503
+
504
+ <li><a href="../TaskJuggler/SheetSender.html">TaskJuggler::SheetSender</a></li>
505
+
506
+ <li><a href="../TaskJuggler/Shift.html">TaskJuggler::Shift</a></li>
507
+
508
+ <li><a href="../TaskJuggler/ShiftAssignment.html">TaskJuggler::ShiftAssignment</a></li>
509
+
510
+ <li><a href="../TaskJuggler/ShiftAssignments.html">TaskJuggler::ShiftAssignments</a></li>
511
+
512
+ <li><a href="../TaskJuggler/ShiftAssignmentsAttribute.html">TaskJuggler::ShiftAssignmentsAttribute</a></li>
513
+
514
+ <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
515
+
516
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
517
+
518
+ <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
519
+
520
+ <li><a href="../TaskJuggler/StatusSheetReceiver.html">TaskJuggler::StatusSheetReceiver</a></li>
521
+
522
+ <li><a href="../TaskJuggler/StatusSheetReport.html">TaskJuggler::StatusSheetReport</a></li>
523
+
524
+ <li><a href="../TaskJuggler/StatusSheetSender.html">TaskJuggler::StatusSheetSender</a></li>
525
+
526
+ <li><a href="../TaskJuggler/StdIoWrapper.html">TaskJuggler::StdIoWrapper</a></li>
527
+
528
+ <li><a href="../TaskJuggler/StringAttribute.html">TaskJuggler::StringAttribute</a></li>
529
+
530
+ <li><a href="../TaskJuggler/SymbolAttribute.html">TaskJuggler::SymbolAttribute</a></li>
531
+
532
+ <li><a href="../TaskJuggler/SyntaxReference.html">TaskJuggler::SyntaxReference</a></li>
533
+
534
+ <li><a href="../TaskJuggler/TOCEntry.html">TaskJuggler::TOCEntry</a></li>
535
+
536
+ <li><a href="../TaskJuggler/TSResourceRecord.html">TaskJuggler::TSResourceRecord</a></li>
537
+
538
+ <li><a href="../TaskJuggler/TSTaskRecord.html">TaskJuggler::TSTaskRecord</a></li>
539
+
540
+ <li><a href="../TaskJuggler/TableColumnDefinition.html">TaskJuggler::TableColumnDefinition</a></li>
541
+
542
+ <li><a href="../TaskJuggler/TableOfContents.html">TaskJuggler::TableOfContents</a></li>
543
+
544
+ <li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
545
+
546
+ <li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
547
+
548
+ <li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
549
+
550
+ <li><a href="../TaskJuggler/TaskDependency.html">TaskJuggler::TaskDependency</a></li>
551
+
552
+ <li><a href="../TaskJuggler/TaskListAttribute.html">TaskJuggler::TaskListAttribute</a></li>
553
+
554
+ <li><a href="../TaskJuggler/TaskListRE.html">TaskJuggler::TaskListRE</a></li>
555
+
556
+ <li><a href="../TaskJuggler/TaskScenario.html">TaskJuggler::TaskScenario</a></li>
557
+
558
+ <li><a href="../TaskJuggler/TernarySearchTree.html">TaskJuggler::TernarySearchTree</a></li>
559
+
560
+ <li><a href="../TaskJuggler/TextFormatter.html">TaskJuggler::TextFormatter</a></li>
561
+
562
+ <li><a href="../TaskJuggler/TextParser.html">TaskJuggler::TextParser</a></li>
563
+
564
+ <li><a href="../TaskJuggler/TextParser/Macro.html">TaskJuggler::TextParser::Macro</a></li>
565
+
566
+ <li><a href="../TaskJuggler/TextParser/MacroTable.html">TaskJuggler::TextParser::MacroTable</a></li>
567
+
568
+ <li><a href="../TaskJuggler/TextParser/Pattern.html">TaskJuggler::TextParser::Pattern</a></li>
569
+
570
+ <li><a href="../TaskJuggler/TextParser/Rule.html">TaskJuggler::TextParser::Rule</a></li>
571
+
572
+ <li><a href="../TaskJuggler/TextParser/Scanner.html">TaskJuggler::TextParser::Scanner</a></li>
573
+
574
+ <li><a href="../TaskJuggler/TextParser/Scanner/BufferStreamHandle.html">TaskJuggler::TextParser::Scanner::BufferStreamHandle</a></li>
575
+
576
+ <li><a href="../TaskJuggler/TextParser/Scanner/FileStreamHandle.html">TaskJuggler::TextParser::Scanner::FileStreamHandle</a></li>
577
+
578
+ <li><a href="../TaskJuggler/TextParser/Scanner/MacroStackEntry.html">TaskJuggler::TextParser::Scanner::MacroStackEntry</a></li>
579
+
580
+ <li><a href="../TaskJuggler/TextParser/Scanner/StreamHandle.html">TaskJuggler::TextParser::Scanner::StreamHandle</a></li>
581
+
582
+ <li><a href="../TaskJuggler/TextParser/SourceFileInfo.html">TaskJuggler::TextParser::SourceFileInfo</a></li>
583
+
584
+ <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
585
+
586
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
587
+
588
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
589
+
590
+ <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
591
+
592
+ <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
593
+
594
+ <li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
595
+
596
+ <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
597
+
598
+ <li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
599
+
600
+ <li><a href="../TaskJuggler/TimeSheetRecord.html">TaskJuggler::TimeSheetRecord</a></li>
601
+
602
+ <li><a href="../TaskJuggler/TimeSheetReport.html">TaskJuggler::TimeSheetReport</a></li>
603
+
604
+ <li><a href="../TaskJuggler/TimeSheetSender.html">TaskJuggler::TimeSheetSender</a></li>
605
+
606
+ <li><a href="../TaskJuggler/TimeSheetSummary.html">TaskJuggler::TimeSheetSummary</a></li>
607
+
608
+ <li><a href="../TaskJuggler/TimeSheets.html">TaskJuggler::TimeSheets</a></li>
609
+
610
+ <li><a href="../TaskJuggler/Tj3.html">TaskJuggler::Tj3</a></li>
611
+
612
+ <li><a href="../TaskJuggler/Tj3AppBase.html">TaskJuggler::Tj3AppBase</a></li>
613
+
614
+ <li><a href="../TaskJuggler/Tj3Client.html">TaskJuggler::Tj3Client</a></li>
615
+
616
+ <li><a href="../TaskJuggler/Tj3Daemon.html">TaskJuggler::Tj3Daemon</a></li>
617
+
618
+ <li><a href="../TaskJuggler/Tj3Man.html">TaskJuggler::Tj3Man</a></li>
619
+
620
+ <li><a href="../TaskJuggler/Tj3SheetAppBase.html">TaskJuggler::Tj3SheetAppBase</a></li>
621
+
622
+ <li><a href="../TaskJuggler/Tj3SsReceiver.html">TaskJuggler::Tj3SsReceiver</a></li>
623
+
624
+ <li><a href="../TaskJuggler/Tj3SsSender.html">TaskJuggler::Tj3SsSender</a></li>
625
+
626
+ <li><a href="../TaskJuggler/Tj3TsReceiver.html">TaskJuggler::Tj3TsReceiver</a></li>
627
+
628
+ <li><a href="../TaskJuggler/Tj3TsSender.html">TaskJuggler::Tj3TsSender</a></li>
629
+
630
+ <li><a href="../TaskJuggler/Tj3TsSummary.html">TaskJuggler::Tj3TsSummary</a></li>
631
+
632
+ <li><a href="../TaskJuggler/TjException.html">TaskJuggler::TjException</a></li>
633
+
634
+ <li><a href="../TaskJuggler/TjRuntimeError.html">TaskJuggler::TjRuntimeError</a></li>
635
+
636
+ <li><a href="../TaskJuggler/TjTime.html">TaskJuggler::TjTime</a></li>
637
+
638
+ <li><a href="../TaskJuggler/TjpExample.html">TaskJuggler::TjpExample</a></li>
639
+
640
+ <li><a href="../TaskJuggler/TjpExportRE.html">TaskJuggler::TjpExportRE</a></li>
641
+
642
+ <li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
643
+
644
+ <li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
645
+
646
+ <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
647
+
648
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
649
+
650
+ <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
651
+
652
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
653
+
654
+ <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
655
+
656
+ <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
657
+
658
+ <li><a href="../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
659
+
660
+ <li><a href="../TaskJuggler/XMLComment.html">TaskJuggler::XMLComment</a></li>
661
+
662
+ <li><a href="../TaskJuggler/XMLDocument.html">TaskJuggler::XMLDocument</a></li>
663
+
664
+ <li><a href="../TaskJuggler/XMLElement.html">TaskJuggler::XMLElement</a></li>
665
+
666
+ <li><a href="../TaskJuggler/XMLNamedText.html">TaskJuggler::XMLNamedText</a></li>
667
+
668
+ <li><a href="../TaskJuggler/XMLText.html">TaskJuggler::XMLText</a></li>
669
+
670
+ <li><a href="../Diff.html">Diff</a></li>
671
+
672
+ <li><a href="../Diff/Hunk.html">Diff::Hunk</a></li>
673
+
674
+ <li><a href="../AppConfig.html">AppConfig</a></li>
675
+
676
+ <li><a href="../Diffable.html">Diffable</a></li>
677
+
678
+ <li><a href="../DiffableString.html">DiffableString</a></li>
679
+
680
+ <li><a href="../Object.html">Object</a></li>
681
+
682
+ <li><a href="../RuntimeConfig.html">RuntimeConfig</a></li>
683
+
684
+ <li><a href="../String.html">String</a></li>
685
+
686
+ </ul>
687
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
688
+ </div>
689
+
690
+
691
+ </div>
692
+ </div>
693
+
694
+ <div id="documentation">
695
+ <h1 class="class">TaskJuggler::TjTime</h1>
696
+
697
+ <div id="description">
698
+ <p>
699
+ The <a href="TjTime.html">TjTime</a> class extends the original Ruby class
700
+ Time with lots of <a href="../TaskJuggler.html">TaskJuggler</a> specific
701
+ additional functionality. This is mostly for handling time zones.
702
+ </p>
703
+
704
+ </div>
705
+
706
+ <!-- Constants -->
707
+
708
+ <div id="constants-list" class="section">
709
+ <h3 class="section-header">Constants</h3>
710
+ <dl>
711
+
712
+ <dt><a name="MON_MAX">MON_MAX</a></dt>
713
+
714
+ <dd class="description"><p>
715
+ The number of days per month. Leap years are taken care of separately.
716
+ </p></dd>
717
+
718
+
719
+ </dl>
720
+ </div>
721
+
722
+
723
+ <!-- Attributes -->
724
+
725
+ <div id="attribute-method-details" class="method-section section">
726
+ <h3 class="section-header">Attributes</h3>
727
+
728
+
729
+ <div id="time-attribute-method" class="method-detail">
730
+ <a name="time"></a>
731
+
732
+ <div class="method-heading attribute-method-heading">
733
+ <span class="method-name">time</span><span
734
+ class="attribute-access-type">[R]</span>
735
+ </div>
736
+
737
+ <div class="method-description">
738
+
739
+
740
+
741
+ </div>
742
+ </div>
743
+
744
+ <div id="time-one-attribute-method" class="method-detail">
745
+ <a name="timeZone"></a>
746
+
747
+ <div class="method-heading attribute-method-heading">
748
+ <span class="method-name">timeZone</span><span
749
+ class="attribute-access-type">[R]</span>
750
+ </div>
751
+
752
+ <div class="method-description">
753
+
754
+
755
+
756
+ </div>
757
+ </div>
758
+
759
+ </div>
760
+
761
+
762
+ <!-- Methods -->
763
+
764
+ <div id="public-class-method-details" class="method-section section">
765
+ <h3 class="section-header">Public Class Methods</h3>
766
+
767
+
768
+ <div id="check-ime-one-method" class="method-detail ">
769
+ <a name="method-c-checkTimeZone"></a>
770
+
771
+ <div class="method-heading">
772
+
773
+ <span class="method-name">checkTimeZone</span><span
774
+ class="method-args">(zone)</span>
775
+ <span class="method-click-advice">click to toggle source</span>
776
+
777
+ </div>
778
+
779
+ <div class="method-description">
780
+
781
+ <p>
782
+ Check if <tt>zone</tt> is a valid time zone.
783
+ </p>
784
+
785
+
786
+
787
+ <div class="method-source-code"
788
+ id="check-ime-one-source">
789
+ <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>
817
+ </div>
818
+
819
+ </div>
820
+
821
+
822
+
823
+
824
+ </div>
825
+
826
+
827
+ <div id="new-method" class="method-detail ">
828
+ <a name="method-c-new"></a>
829
+
830
+ <div class="method-heading">
831
+
832
+ <span class="method-callseq">TjTime() &rarr; TjTime (now)
833
+ TjTime(tjtime) &rarr; TjTime
834
+ TjTime(time, timezone) &rarr; TjTime
835
+ TjTime(str) &rarr; TjTime
836
+ TjTime(secs) &rarr; TjTime</span>
837
+ <span class="method-click-advice">click to toggle source</span>
838
+
839
+ </div>
840
+
841
+ <div class="method-description">
842
+
843
+ <p>
844
+ The constructor is overloaded and accepts 4 kinds of arguments. If
845
+ <em>t</em> is a Time object it&#8217;s assumed to be in local time. If
846
+ it&#8217;s a string, it is parsed as a date. Or else it is interpreted as
847
+ seconds after Epoch.
848
+ </p>
849
+
850
+
851
+
852
+ <div class="method-source-code"
853
+ id="new-source">
854
+ <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>
876
+ </div>
877
+
878
+ </div>
879
+
880
+
881
+
882
+
883
+ </div>
884
+
885
+
886
+ <div id="set-ime-one-method" class="method-detail ">
887
+ <a name="method-c-setTimeZone"></a>
888
+
889
+ <div class="method-heading">
890
+
891
+ <span class="method-name">setTimeZone</span><span
892
+ class="method-args">(zone)</span>
893
+ <span class="method-click-advice">click to toggle source</span>
894
+
895
+ </div>
896
+
897
+ <div class="method-description">
898
+
899
+ <p>
900
+ Set a new active time zone. <em>zone</em> must be a valid <a
901
+ href="../String.html">String</a> known to the underlying operating system.
902
+ </p>
903
+
904
+
905
+
906
+ <div class="method-source-code"
907
+ id="set-ime-one-source">
908
+ <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>
922
+ </div>
923
+
924
+ </div>
925
+
926
+
927
+
928
+
929
+ </div>
930
+
931
+
932
+ <div id="time-one-method" class="method-detail ">
933
+ <a name="method-c-timeZone"></a>
934
+
935
+ <div class="method-heading">
936
+
937
+ <span class="method-name">timeZone</span><span
938
+ class="method-args">()</span>
939
+ <span class="method-click-advice">click to toggle source</span>
940
+
941
+ </div>
942
+
943
+ <div class="method-description">
944
+
945
+ <p>
946
+ Return the name of the currently active time zone.
947
+ </p>
948
+
949
+
950
+
951
+ <div class="method-source-code"
952
+ id="time-one-source">
953
+ <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>
958
+ </div>
959
+
960
+ </div>
961
+
962
+
963
+
964
+
965
+ </div>
966
+
967
+
968
+ </div>
969
+
970
+ <div id="public-instance-method-details" class="method-section section">
971
+ <h3 class="section-header">Public Instance Methods</h3>
972
+
973
+
974
+ <div id="--method" class="method-detail ">
975
+ <a name="method-i-%25"></a>
976
+
977
+ <div class="method-heading">
978
+
979
+ <span class="method-name">%</span><span
980
+ class="method-args">(val)</span>
981
+ <span class="method-click-advice">click to toggle source</span>
982
+
983
+ </div>
984
+
985
+ <div class="method-description">
986
+
987
+ <p>
988
+ Convert the time to seconds since Epoch and return the module of
989
+ <em>val</em>.
990
+ </p>
991
+
992
+
993
+
994
+ <div class="method-source-code"
995
+ id="--source">
996
+ <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>
1001
+ </div>
1002
+
1003
+ </div>
1004
+
1005
+
1006
+
1007
+
1008
+ </div>
1009
+
1010
+
1011
+ <div id="--method" class="method-detail ">
1012
+ <a name="method-i-%2B"></a>
1013
+
1014
+ <div class="method-heading">
1015
+
1016
+ <span class="method-name">+</span><span
1017
+ class="method-args">(secs)</span>
1018
+ <span class="method-click-advice">click to toggle source</span>
1019
+
1020
+ </div>
1021
+
1022
+ <div class="method-description">
1023
+
1024
+ <p>
1025
+ Add <em>secs</em> number of seconds to the time.
1026
+ </p>
1027
+
1028
+
1029
+
1030
+ <div class="method-source-code"
1031
+ id="--source">
1032
+ <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>
1037
+ </div>
1038
+
1039
+ </div>
1040
+
1041
+
1042
+
1043
+
1044
+ </div>
1045
+
1046
+
1047
+ <div id="--method" class="method-detail ">
1048
+ <a name="method-i--"></a>
1049
+
1050
+ <div class="method-heading">
1051
+
1052
+ <span class="method-name">-</span><span
1053
+ class="method-args">(arg)</span>
1054
+ <span class="method-click-advice">click to toggle source</span>
1055
+
1056
+ </div>
1057
+
1058
+ <div class="method-description">
1059
+
1060
+ <p>
1061
+ Substract <em>arg</em> number of seconds or return the number of seconds
1062
+ between <em>arg</em> and this time.
1063
+ </p>
1064
+
1065
+
1066
+
1067
+ <div class="method-source-code"
1068
+ id="--source">
1069
+ <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>
1078
+ </div>
1079
+
1080
+ </div>
1081
+
1082
+
1083
+
1084
+
1085
+ </div>
1086
+
1087
+
1088
+ <div id="--method" class="method-detail ">
1089
+ <a name="method-i-%3C"></a>
1090
+
1091
+ <div class="method-heading">
1092
+
1093
+ <span class="method-name">&lt;</span><span
1094
+ class="method-args">(t)</span>
1095
+ <span class="method-click-advice">click to toggle source</span>
1096
+
1097
+ </div>
1098
+
1099
+ <div class="method-description">
1100
+
1101
+ <p>
1102
+ Return true if time is smaller than <em>t</em>.
1103
+ </p>
1104
+
1105
+
1106
+
1107
+ <div class="method-source-code"
1108
+ id="--source">
1109
+ <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>
1115
+ </div>
1116
+
1117
+ </div>
1118
+
1119
+
1120
+
1121
+
1122
+ </div>
1123
+
1124
+
1125
+ <div id="--method" class="method-detail ">
1126
+ <a name="method-i-%3C%3D"></a>
1127
+
1128
+ <div class="method-heading">
1129
+
1130
+ <span class="method-name">&lt;=</span><span
1131
+ class="method-args">(t)</span>
1132
+ <span class="method-click-advice">click to toggle source</span>
1133
+
1134
+ </div>
1135
+
1136
+ <div class="method-description">
1137
+
1138
+ <p>
1139
+ Return true if time is smaller or equal than <em>t</em>.
1140
+ </p>
1141
+
1142
+
1143
+
1144
+ <div class="method-source-code"
1145
+ id="--source">
1146
+ <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>
1152
+ </div>
1153
+
1154
+ </div>
1155
+
1156
+
1157
+
1158
+
1159
+ </div>
1160
+
1161
+
1162
+ <div id="--method" class="method-detail ">
1163
+ <a name="method-i-%3C%3D%3E"></a>
1164
+
1165
+ <div class="method-heading">
1166
+
1167
+ <span class="method-name">&lt;=&gt;</span><span
1168
+ class="method-args">(t)</span>
1169
+ <span class="method-click-advice">click to toggle source</span>
1170
+
1171
+ </div>
1172
+
1173
+ <div class="method-description">
1174
+
1175
+ <p>
1176
+ Coparison operator for time with another time <em>t</em>.
1177
+ </p>
1178
+
1179
+
1180
+
1181
+ <div class="method-source-code"
1182
+ id="--source">
1183
+ <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>
1189
+ </div>
1190
+
1191
+ </div>
1192
+
1193
+
1194
+
1195
+
1196
+ </div>
1197
+
1198
+
1199
+ <div id="--method" class="method-detail ">
1200
+ <a name="method-i-%3D%3D"></a>
1201
+
1202
+ <div class="method-heading">
1203
+
1204
+ <span class="method-name">==</span><span
1205
+ class="method-args">(t)</span>
1206
+ <span class="method-click-advice">click to toggle source</span>
1207
+
1208
+ </div>
1209
+
1210
+ <div class="method-description">
1211
+
1212
+ <p>
1213
+ Return true if time and <em>t</em> are identical.
1214
+ </p>
1215
+
1216
+
1217
+
1218
+ <div class="method-source-code"
1219
+ id="--source">
1220
+ <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>
1226
+ </div>
1227
+
1228
+ </div>
1229
+
1230
+
1231
+
1232
+
1233
+ </div>
1234
+
1235
+
1236
+ <div id="--method" class="method-detail ">
1237
+ <a name="method-i-%3E"></a>
1238
+
1239
+ <div class="method-heading">
1240
+
1241
+ <span class="method-name">&gt;</span><span
1242
+ class="method-args">(t)</span>
1243
+ <span class="method-click-advice">click to toggle source</span>
1244
+
1245
+ </div>
1246
+
1247
+ <div class="method-description">
1248
+
1249
+ <p>
1250
+ Return true if time is larger than <em>t</em>.
1251
+ </p>
1252
+
1253
+
1254
+
1255
+ <div class="method-source-code"
1256
+ id="--source">
1257
+ <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>
1263
+ </div>
1264
+
1265
+ </div>
1266
+
1267
+
1268
+
1269
+
1270
+ </div>
1271
+
1272
+
1273
+ <div id="--method" class="method-detail ">
1274
+ <a name="method-i-%3E%3D"></a>
1275
+
1276
+ <div class="method-heading">
1277
+
1278
+ <span class="method-name">&gt;=</span><span
1279
+ class="method-args">(t)</span>
1280
+ <span class="method-click-advice">click to toggle source</span>
1281
+
1282
+ </div>
1283
+
1284
+ <div class="method-description">
1285
+
1286
+ <p>
1287
+ Return true if time is larger or equal than <em>t</em>.
1288
+ </p>
1289
+
1290
+
1291
+
1292
+ <div class="method-source-code"
1293
+ id="--source">
1294
+ <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>
1300
+ </div>
1301
+
1302
+ </div>
1303
+
1304
+
1305
+
1306
+
1307
+ </div>
1308
+
1309
+
1310
+ <div id="align-method" class="method-detail ">
1311
+ <a name="method-i-align"></a>
1312
+
1313
+ <div class="method-heading">
1314
+
1315
+ <span class="method-name">align</span><span
1316
+ class="method-args">(clock)</span>
1317
+ <span class="method-click-advice">click to toggle source</span>
1318
+
1319
+ </div>
1320
+
1321
+ <div class="method-description">
1322
+
1323
+ <p>
1324
+ Align the date to a time grid. The grid distance is determined by
1325
+ <em>clock</em>.
1326
+ </p>
1327
+
1328
+
1329
+
1330
+ <div class="method-source-code"
1331
+ id="align-source">
1332
+ <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>
1337
+ </div>
1338
+
1339
+ </div>
1340
+
1341
+
1342
+
1343
+
1344
+ </div>
1345
+
1346
+
1347
+ <div id="begin-f-our-method" class="method-detail ">
1348
+ <a name="method-i-beginOfHour"></a>
1349
+
1350
+ <div class="method-heading">
1351
+
1352
+ <span class="method-name">beginOfHour</span><span
1353
+ class="method-args">()</span>
1354
+ <span class="method-click-advice">click to toggle source</span>
1355
+
1356
+ </div>
1357
+
1358
+ <div class="method-description">
1359
+
1360
+ <p>
1361
+ Normalize time to the beginning of the current hour.
1362
+ </p>
1363
+
1364
+
1365
+
1366
+ <div class="method-source-code"
1367
+ id="begin-f-our-source">
1368
+ <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>
1375
+ </div>
1376
+
1377
+ </div>
1378
+
1379
+
1380
+
1381
+
1382
+ </div>
1383
+
1384
+
1385
+ <div id="begin-f-onth-method" class="method-detail ">
1386
+ <a name="method-i-beginOfMonth"></a>
1387
+
1388
+ <div class="method-heading">
1389
+
1390
+ <span class="method-name">beginOfMonth</span><span
1391
+ class="method-args">()</span>
1392
+ <span class="method-click-advice">click to toggle source</span>
1393
+
1394
+ </div>
1395
+
1396
+ <div class="method-description">
1397
+
1398
+ <p>
1399
+ Normalize time to the beginning of the current month.
1400
+ </p>
1401
+
1402
+
1403
+
1404
+ <div class="method-source-code"
1405
+ id="begin-f-onth-source">
1406
+ <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>
1414
+ </div>
1415
+
1416
+ </div>
1417
+
1418
+
1419
+
1420
+
1421
+ </div>
1422
+
1423
+
1424
+ <div id="begin-f-uarter-method" class="method-detail ">
1425
+ <a name="method-i-beginOfQuarter"></a>
1426
+
1427
+ <div class="method-heading">
1428
+
1429
+ <span class="method-name">beginOfQuarter</span><span
1430
+ class="method-args">()</span>
1431
+ <span class="method-click-advice">click to toggle source</span>
1432
+
1433
+ </div>
1434
+
1435
+ <div class="method-description">
1436
+
1437
+ <p>
1438
+ Normalize time to the beginning of the current quarter.
1439
+ </p>
1440
+
1441
+
1442
+
1443
+ <div class="method-source-code"
1444
+ id="begin-f-uarter-source">
1445
+ <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>
1454
+ </div>
1455
+
1456
+ </div>
1457
+
1458
+
1459
+
1460
+
1461
+ </div>
1462
+
1463
+
1464
+ <div id="begin-f-eek-method" class="method-detail ">
1465
+ <a name="method-i-beginOfWeek"></a>
1466
+
1467
+ <div class="method-heading">
1468
+
1469
+ <span class="method-name">beginOfWeek</span><span
1470
+ class="method-args">(startMonday)</span>
1471
+ <span class="method-click-advice">click to toggle source</span>
1472
+
1473
+ </div>
1474
+
1475
+ <div class="method-description">
1476
+
1477
+ <p>
1478
+ Normalize time to the beginning of the current week. <em>startMonday</em>
1479
+ determines whether the week should start on Monday or Sunday.
1480
+ </p>
1481
+
1482
+
1483
+
1484
+ <div class="method-source-code"
1485
+ id="begin-f-eek-source">
1486
+ <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>
1500
+ </div>
1501
+
1502
+ </div>
1503
+
1504
+
1505
+
1506
+
1507
+ </div>
1508
+
1509
+
1510
+ <div id="begin-f-ear-method" class="method-detail ">
1511
+ <a name="method-i-beginOfYear"></a>
1512
+
1513
+ <div class="method-heading">
1514
+
1515
+ <span class="method-name">beginOfYear</span><span
1516
+ class="method-args">()</span>
1517
+ <span class="method-click-advice">click to toggle source</span>
1518
+
1519
+ </div>
1520
+
1521
+ <div class="method-description">
1522
+
1523
+ <p>
1524
+ Normalize time to the beginning of the current year.
1525
+ </p>
1526
+
1527
+
1528
+
1529
+ <div class="method-source-code"
1530
+ id="begin-f-ear-source">
1531
+ <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>
1539
+ </div>
1540
+
1541
+ </div>
1542
+
1543
+
1544
+
1545
+
1546
+ </div>
1547
+
1548
+
1549
+ <div id="day-method" class="method-detail ">
1550
+ <a name="method-i-day"></a>
1551
+
1552
+ <div class="method-heading">
1553
+
1554
+ <span class="method-name">day</span><span
1555
+ class="method-args">()</span>
1556
+ <span class="method-click-advice">click to toggle source</span>
1557
+
1558
+ </div>
1559
+
1560
+ <div class="method-description">
1561
+
1562
+ <p>
1563
+ Return the day of the month (1..n).
1564
+ </p>
1565
+
1566
+
1567
+
1568
+ <div class="method-source-code"
1569
+ id="day-source">
1570
+ <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>
1575
+ </div>
1576
+
1577
+ </div>
1578
+
1579
+
1580
+
1581
+
1582
+ </div>
1583
+
1584
+
1585
+ <div id="days-o-method" class="method-detail ">
1586
+ <a name="method-i-daysTo"></a>
1587
+
1588
+ <div class="method-heading">
1589
+
1590
+ <span class="method-name">daysTo</span><span
1591
+ class="method-args">(date)</span>
1592
+ <span class="method-click-advice">click to toggle source</span>
1593
+
1594
+ </div>
1595
+
1596
+ <div class="method-description">
1597
+
1598
+ <p>
1599
+ Return the number of days between this time and <em>date</em>. The result
1600
+ is always rounded up.
1601
+ </p>
1602
+
1603
+
1604
+
1605
+ <div class="method-source-code"
1606
+ id="days-o-source">
1607
+ <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>
1612
+ </div>
1613
+
1614
+ </div>
1615
+
1616
+
1617
+
1618
+
1619
+ </div>
1620
+
1621
+
1622
+ <div id="hour-method" class="method-detail ">
1623
+ <a name="method-i-hour"></a>
1624
+
1625
+ <div class="method-heading">
1626
+
1627
+ <span class="method-name">hour</span><span
1628
+ class="method-args">()</span>
1629
+ <span class="method-click-advice">click to toggle source</span>
1630
+
1631
+ </div>
1632
+
1633
+ <div class="method-description">
1634
+
1635
+ <p>
1636
+ Return the hours of the day (0..23)
1637
+ </p>
1638
+
1639
+
1640
+
1641
+ <div class="method-source-code"
1642
+ id="hour-source">
1643
+ <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>
1648
+ </div>
1649
+
1650
+ </div>
1651
+
1652
+
1653
+
1654
+
1655
+ </div>
1656
+
1657
+
1658
+ <div id="hours-ater-method" class="method-detail ">
1659
+ <a name="method-i-hoursLater"></a>
1660
+
1661
+ <div class="method-heading">
1662
+
1663
+ <span class="method-name">hoursLater</span><span
1664
+ class="method-args">(hours)</span>
1665
+ <span class="method-click-advice">click to toggle source</span>
1666
+
1667
+ </div>
1668
+
1669
+ <div class="method-description">
1670
+
1671
+ <p>
1672
+ Return a new time that is <em>hours</em> later than time.
1673
+ </p>
1674
+
1675
+
1676
+
1677
+ <div class="method-source-code"
1678
+ id="hours-ater-source">
1679
+ <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>
1684
+ </div>
1685
+
1686
+ </div>
1687
+
1688
+
1689
+
1690
+
1691
+ </div>
1692
+
1693
+
1694
+ <div id="hours-o-method" class="method-detail ">
1695
+ <a name="method-i-hoursTo"></a>
1696
+
1697
+ <div class="method-heading">
1698
+
1699
+ <span class="method-name">hoursTo</span><span
1700
+ class="method-args">(date)</span>
1701
+ <span class="method-click-advice">click to toggle source</span>
1702
+
1703
+ </div>
1704
+
1705
+ <div class="method-description">
1706
+
1707
+ <p>
1708
+ Return the number of hours between this time and <em>date</em>. The result
1709
+ is always rounded up.
1710
+ </p>
1711
+
1712
+
1713
+
1714
+ <div class="method-source-code"
1715
+ id="hours-o-source">
1716
+ <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>
1722
+ </div>
1723
+
1724
+ </div>
1725
+
1726
+
1727
+
1728
+
1729
+ </div>
1730
+
1731
+
1732
+ <div id="midnight-method" class="method-detail ">
1733
+ <a name="method-i-midnight"></a>
1734
+
1735
+ <div class="method-heading">
1736
+
1737
+ <span class="method-name">midnight</span><span
1738
+ class="method-args">()</span>
1739
+ <span class="method-click-advice">click to toggle source</span>
1740
+
1741
+ </div>
1742
+
1743
+ <div class="method-description">
1744
+
1745
+ <p>
1746
+ Normalize time to the beginning of the current day.
1747
+ </p>
1748
+
1749
+
1750
+
1751
+ <div class="method-source-code"
1752
+ id="midnight-source">
1753
+ <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>
1760
+ </div>
1761
+
1762
+ </div>
1763
+
1764
+
1765
+
1766
+
1767
+ </div>
1768
+
1769
+
1770
+ <div id="mon-method" class="method-detail method-alias">
1771
+ <a name="method-i-mon"></a>
1772
+
1773
+ <div class="method-heading">
1774
+
1775
+ <span class="method-name">mon</span><span
1776
+ class="method-args">()</span>
1777
+ <span class="method-click-advice">click to toggle source</span>
1778
+
1779
+ </div>
1780
+
1781
+ <div class="method-description">
1782
+
1783
+
1784
+
1785
+
1786
+
1787
+ </div>
1788
+
1789
+
1790
+
1791
+
1792
+ <div class="aliases">
1793
+ Alias for: <a href="TjTime.html#method-i-month">month</a>
1794
+ </div>
1795
+
1796
+ </div>
1797
+
1798
+
1799
+ <div id="month-method" class="method-detail ">
1800
+ <a name="method-i-month"></a>
1801
+
1802
+ <div class="method-heading">
1803
+
1804
+ <span class="method-name">month</span><span
1805
+ class="method-args">()</span>
1806
+ <span class="method-click-advice">click to toggle source</span>
1807
+
1808
+ </div>
1809
+
1810
+ <div class="method-description">
1811
+
1812
+ <p>
1813
+ Return the month of the year (1..12)
1814
+ </p>
1815
+
1816
+
1817
+
1818
+ <div class="method-source-code"
1819
+ id="month-source">
1820
+ <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>
1825
+ </div>
1826
+
1827
+ </div>
1828
+
1829
+
1830
+ <div class="aliases">
1831
+ Also aliased as: <a href="TjTime.html#method-i-mon">mon</a>
1832
+ </div>
1833
+
1834
+
1835
+
1836
+ </div>
1837
+
1838
+
1839
+ <div id="month-nd-ear-method" class="method-detail ">
1840
+ <a name="method-i-monthAndYear"></a>
1841
+
1842
+ <div class="method-heading">
1843
+
1844
+ <span class="method-name">monthAndYear</span><span
1845
+ class="method-args">()</span>
1846
+ <span class="method-click-advice">click to toggle source</span>
1847
+
1848
+ </div>
1849
+
1850
+ <div class="method-description">
1851
+
1852
+ <p>
1853
+ Return the abbreviated month name and the full year. E. g. &#8216;Feb
1854
+ 1972&#8217;.
1855
+ </p>
1856
+
1857
+
1858
+
1859
+ <div class="method-source-code"
1860
+ id="month-nd-ear-source">
1861
+ <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>
1866
+ </div>
1867
+
1868
+ </div>
1869
+
1870
+
1871
+
1872
+
1873
+ </div>
1874
+
1875
+
1876
+ <div id="months-o-method" class="method-detail ">
1877
+ <a name="method-i-monthsTo"></a>
1878
+
1879
+ <div class="method-heading">
1880
+
1881
+ <span class="method-name">monthsTo</span><span
1882
+ class="method-args">(date)</span>
1883
+ <span class="method-click-advice">click to toggle source</span>
1884
+
1885
+ </div>
1886
+
1887
+ <div class="method-description">
1888
+
1889
+ <p>
1890
+ Return the number of months between this time and <em>date</em>. The result
1891
+ is always rounded up.
1892
+ </p>
1893
+
1894
+
1895
+
1896
+ <div class="method-source-code"
1897
+ id="months-o-source">
1898
+ <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>
1903
+ </div>
1904
+
1905
+ </div>
1906
+
1907
+
1908
+
1909
+
1910
+ </div>
1911
+
1912
+
1913
+ <div id="next-ay-f-eek-method" class="method-detail ">
1914
+ <a name="method-i-nextDayOfWeek"></a>
1915
+
1916
+ <div class="method-heading">
1917
+
1918
+ <span class="method-name">nextDayOfWeek</span><span
1919
+ class="method-args">(dow)</span>
1920
+ <span class="method-click-advice">click to toggle source</span>
1921
+
1922
+ </div>
1923
+
1924
+ <div class="method-description">
1925
+
1926
+ <p>
1927
+ Return the start of the next <em>dow</em> day of week after <em>date</em>.
1928
+ <em>dow</em> must be 0 for Sundays, 1 for Mondays and 6 for Saturdays. If
1929
+ <em>date</em> is a Tuesday and <em>dow</em> is 5 (Friday) the date of next
1930
+ Friday 0:00 will be returned. If <em>date</em> is a Tuesday and
1931
+ <em>dow</em> is 2 (Tuesday) the date of the next Tuesday will be returned.
1932
+ </p>
1933
+
1934
+
1935
+
1936
+ <div class="method-source-code"
1937
+ id="next-ay-f-eek-source">
1938
+ <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>
1947
+ </div>
1948
+
1949
+ </div>
1950
+
1951
+
1952
+
1953
+
1954
+ </div>
1955
+
1956
+
1957
+ <div id="quarter-ame-method" class="method-detail ">
1958
+ <a name="method-i-quarterName"></a>
1959
+
1960
+ <div class="method-heading">
1961
+
1962
+ <span class="method-name">quarterName</span><span
1963
+ class="method-args">()</span>
1964
+ <span class="method-click-advice">click to toggle source</span>
1965
+
1966
+ </div>
1967
+
1968
+ <div class="method-description">
1969
+
1970
+ <p>
1971
+ Return the number of the quarter prefixed by a &#8216;Q&#8217;.
1972
+ </p>
1973
+
1974
+
1975
+
1976
+ <div class="method-source-code"
1977
+ id="quarter-ame-source">
1978
+ <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>
1983
+ </div>
1984
+
1985
+ </div>
1986
+
1987
+
1988
+
1989
+
1990
+ </div>
1991
+
1992
+
1993
+ <div id="quarters-o-method" class="method-detail ">
1994
+ <a name="method-i-quartersTo"></a>
1995
+
1996
+ <div class="method-heading">
1997
+
1998
+ <span class="method-name">quartersTo</span><span
1999
+ class="method-args">(date)</span>
2000
+ <span class="method-click-advice">click to toggle source</span>
2001
+
2002
+ </div>
2003
+
2004
+ <div class="method-description">
2005
+
2006
+ <p>
2007
+ Return the number of quarters between this time and <em>date</em>. The
2008
+ result is always rounded up.
2009
+ </p>
2010
+
2011
+
2012
+
2013
+ <div class="method-source-code"
2014
+ id="quarters-o-source">
2015
+ <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>
2020
+ </div>
2021
+
2022
+ </div>
2023
+
2024
+
2025
+
2026
+
2027
+ </div>
2028
+
2029
+
2030
+ <div id="same-ime-ext-ay-method" class="method-detail ">
2031
+ <a name="method-i-sameTimeNextDay"></a>
2032
+
2033
+ <div class="method-heading">
2034
+
2035
+ <span class="method-name">sameTimeNextDay</span><span
2036
+ class="method-args">()</span>
2037
+ <span class="method-click-advice">click to toggle source</span>
2038
+
2039
+ </div>
2040
+
2041
+ <div class="method-description">
2042
+
2043
+ <p>
2044
+ Return a new time that is 1 day later than time but at the same time of
2045
+ day.
2046
+ </p>
2047
+
2048
+
2049
+
2050
+ <div class="method-source-code"
2051
+ id="same-ime-ext-ay-source">
2052
+ <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>
2065
+ </div>
2066
+
2067
+ </div>
2068
+
2069
+
2070
+
2071
+
2072
+ </div>
2073
+
2074
+
2075
+ <div id="same-ime-ext-our-method" class="method-detail ">
2076
+ <a name="method-i-sameTimeNextHour"></a>
2077
+
2078
+ <div class="method-heading">
2079
+
2080
+ <span class="method-name">sameTimeNextHour</span><span
2081
+ class="method-args">()</span>
2082
+ <span class="method-click-advice">click to toggle source</span>
2083
+
2084
+ </div>
2085
+
2086
+ <div class="method-description">
2087
+
2088
+ <p>
2089
+ Return a new time that is 1 hour later than time.
2090
+ </p>
2091
+
2092
+
2093
+
2094
+ <div class="method-source-code"
2095
+ id="same-ime-ext-our-source">
2096
+ <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>
2101
+ </div>
2102
+
2103
+ </div>
2104
+
2105
+
2106
+
2107
+
2108
+ </div>
2109
+
2110
+
2111
+ <div id="same-ime-ext-onth-method" class="method-detail ">
2112
+ <a name="method-i-sameTimeNextMonth"></a>
2113
+
2114
+ <div class="method-heading">
2115
+
2116
+ <span class="method-name">sameTimeNextMonth</span><span
2117
+ class="method-args">()</span>
2118
+ <span class="method-click-advice">click to toggle source</span>
2119
+
2120
+ </div>
2121
+
2122
+ <div class="method-description">
2123
+
2124
+ <p>
2125
+ Return a new time that is 1 month later than time but at the same time of
2126
+ day.
2127
+ </p>
2128
+
2129
+
2130
+
2131
+ <div class="method-source-code"
2132
+ id="same-ime-ext-onth-source">
2133
+ <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>
2145
+ </div>
2146
+
2147
+ </div>
2148
+
2149
+
2150
+
2151
+
2152
+ </div>
2153
+
2154
+
2155
+ <div id="same-ime-ext-uarter-method" class="method-detail ">
2156
+ <a name="method-i-sameTimeNextQuarter"></a>
2157
+
2158
+ <div class="method-heading">
2159
+
2160
+ <span class="method-name">sameTimeNextQuarter</span><span
2161
+ class="method-args">()</span>
2162
+ <span class="method-click-advice">click to toggle source</span>
2163
+
2164
+ </div>
2165
+
2166
+ <div class="method-description">
2167
+
2168
+ <p>
2169
+ Return a new time that is 1 quarter later than time but at the same time of
2170
+ day.
2171
+ </p>
2172
+
2173
+
2174
+
2175
+ <div class="method-source-code"
2176
+ id="same-ime-ext-uarter-source">
2177
+ <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>
2187
+ </div>
2188
+
2189
+ </div>
2190
+
2191
+
2192
+
2193
+
2194
+ </div>
2195
+
2196
+
2197
+ <div id="same-ime-ext-eek-method" class="method-detail ">
2198
+ <a name="method-i-sameTimeNextWeek"></a>
2199
+
2200
+ <div class="method-heading">
2201
+
2202
+ <span class="method-name">sameTimeNextWeek</span><span
2203
+ class="method-args">()</span>
2204
+ <span class="method-click-advice">click to toggle source</span>
2205
+
2206
+ </div>
2207
+
2208
+ <div class="method-description">
2209
+
2210
+ <p>
2211
+ Return a new time that is 1 week later than time but at the same time of
2212
+ day.
2213
+ </p>
2214
+
2215
+
2216
+
2217
+ <div class="method-source-code"
2218
+ id="same-ime-ext-eek-source">
2219
+ <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>
2232
+ </div>
2233
+
2234
+ </div>
2235
+
2236
+
2237
+
2238
+
2239
+ </div>
2240
+
2241
+
2242
+ <div id="same-ime-ext-ear-method" class="method-detail ">
2243
+ <a name="method-i-sameTimeNextYear"></a>
2244
+
2245
+ <div class="method-heading">
2246
+
2247
+ <span class="method-name">sameTimeNextYear</span><span
2248
+ class="method-args">()</span>
2249
+ <span class="method-click-advice">click to toggle source</span>
2250
+
2251
+ </div>
2252
+
2253
+ <div class="method-description">
2254
+
2255
+ <p>
2256
+ Return a new time that is 1 year later than time but at the same time of
2257
+ day.
2258
+ </p>
2259
+
2260
+
2261
+
2262
+ <div class="method-source-code"
2263
+ id="same-ime-ext-ear-source">
2264
+ <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>
2271
+ </div>
2272
+
2273
+ </div>
2274
+
2275
+
2276
+
2277
+
2278
+ </div>
2279
+
2280
+
2281
+ <div id="seconds-f-ay-method" class="method-detail ">
2282
+ <a name="method-i-secondsOfDay"></a>
2283
+
2284
+ <div class="method-heading">
2285
+
2286
+ <span class="method-name">secondsOfDay</span><span
2287
+ class="method-args">(tz = nil)</span>
2288
+ <span class="method-click-advice">click to toggle source</span>
2289
+
2290
+ </div>
2291
+
2292
+ <div class="method-description">
2293
+
2294
+ <p>
2295
+ Returns the total number of seconds of the day. The time is assumed to be
2296
+ in the time zone specified by <em>tz</em>.
2297
+ </p>
2298
+
2299
+
2300
+
2301
+ <div class="method-source-code"
2302
+ id="seconds-f-ay-source">
2303
+ <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>
2309
+ </div>
2310
+
2311
+ </div>
2312
+
2313
+
2314
+
2315
+
2316
+ </div>
2317
+
2318
+
2319
+ <div id="short-onth-ame-method" class="method-detail ">
2320
+ <a name="method-i-shortMonthName"></a>
2321
+
2322
+ <div class="method-heading">
2323
+
2324
+ <span class="method-name">shortMonthName</span><span
2325
+ class="method-args">()</span>
2326
+ <span class="method-click-advice">click to toggle source</span>
2327
+
2328
+ </div>
2329
+
2330
+ <div class="method-description">
2331
+
2332
+ <p>
2333
+ Return the abbreviated month name.
2334
+ </p>
2335
+
2336
+
2337
+
2338
+ <div class="method-source-code"
2339
+ id="short-onth-ame-source">
2340
+ <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>
2345
+ </div>
2346
+
2347
+ </div>
2348
+
2349
+
2350
+
2351
+
2352
+ </div>
2353
+
2354
+
2355
+ <div id="strftime-method" class="method-detail ">
2356
+ <a name="method-i-strftime"></a>
2357
+
2358
+ <div class="method-heading">
2359
+
2360
+ <span class="method-name">strftime</span><span
2361
+ class="method-args">(format)</span>
2362
+ <span class="method-click-advice">click to toggle source</span>
2363
+
2364
+ </div>
2365
+
2366
+ <div class="method-description">
2367
+
2368
+
2369
+
2370
+
2371
+
2372
+ <div class="method-source-code"
2373
+ id="strftime-source">
2374
+ <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>
2379
+ </div>
2380
+
2381
+ </div>
2382
+
2383
+
2384
+
2385
+
2386
+ </div>
2387
+
2388
+
2389
+ <div id="to-a-method" class="method-detail ">
2390
+ <a name="method-i-to_a"></a>
2391
+
2392
+ <div class="method-heading">
2393
+
2394
+ <span class="method-name">to_a</span><span
2395
+ class="method-args">()</span>
2396
+ <span class="method-click-advice">click to toggle source</span>
2397
+
2398
+ </div>
2399
+
2400
+ <div class="method-description">
2401
+
2402
+
2403
+
2404
+
2405
+
2406
+ <div class="method-source-code"
2407
+ id="to-a-source">
2408
+ <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>
2413
+ </div>
2414
+
2415
+ </div>
2416
+
2417
+
2418
+
2419
+
2420
+ </div>
2421
+
2422
+
2423
+ <div id="to-i-method" class="method-detail ">
2424
+ <a name="method-i-to_i"></a>
2425
+
2426
+ <div class="method-heading">
2427
+
2428
+ <span class="method-name">to_i</span><span
2429
+ class="method-args">()</span>
2430
+ <span class="method-click-advice">click to toggle source</span>
2431
+
2432
+ </div>
2433
+
2434
+ <div class="method-description">
2435
+
2436
+ <p>
2437
+ Return the seconds since Epoch.
2438
+ </p>
2439
+
2440
+
2441
+
2442
+ <div class="method-source-code"
2443
+ id="to-i-source">
2444
+ <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>
2449
+ </div>
2450
+
2451
+ </div>
2452
+
2453
+
2454
+
2455
+
2456
+ </div>
2457
+
2458
+
2459
+ <div id="to-s-method" class="method-detail ">
2460
+ <a name="method-i-to_s"></a>
2461
+
2462
+ <div class="method-heading">
2463
+
2464
+ <span class="method-name">to_s</span><span
2465
+ class="method-args">(format = nil)</span>
2466
+ <span class="method-click-advice">click to toggle source</span>
2467
+
2468
+ </div>
2469
+
2470
+ <div class="method-description">
2471
+
2472
+ <p>
2473
+ This function is just a wrapper around Time.strftime(). In case @time is
2474
+ nil, it returns &#8216;unkown&#8217;.
2475
+ </p>
2476
+
2477
+
2478
+
2479
+ <div class="method-source-code"
2480
+ id="to-s-source">
2481
+ <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>
2491
+ </div>
2492
+
2493
+ </div>
2494
+
2495
+
2496
+
2497
+
2498
+ </div>
2499
+
2500
+
2501
+ <div id="upto-method" class="method-detail ">
2502
+ <a name="method-i-upto"></a>
2503
+
2504
+ <div class="method-heading">
2505
+
2506
+ <span class="method-name">upto</span><span
2507
+ class="method-args">(endDate, step = 1)</span>
2508
+ <span class="method-click-advice">click to toggle source</span>
2509
+
2510
+ </div>
2511
+
2512
+ <div class="method-description">
2513
+
2514
+ <p>
2515
+ Iterator that executes the block until time has reached <em>endDate</em>
2516
+ increasing time by <em>step</em> on each iteration.
2517
+ </p>
2518
+
2519
+
2520
+
2521
+ <div class="method-source-code"
2522
+ id="upto-source">
2523
+ <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>
2532
+ </div>
2533
+
2534
+ </div>
2535
+
2536
+
2537
+
2538
+
2539
+ </div>
2540
+
2541
+
2542
+ <div id="wday-method" class="method-detail ">
2543
+ <a name="method-i-wday"></a>
2544
+
2545
+ <div class="method-heading">
2546
+
2547
+ <span class="method-name">wday</span><span
2548
+ class="method-args">()</span>
2549
+ <span class="method-click-advice">click to toggle source</span>
2550
+
2551
+ </div>
2552
+
2553
+ <div class="method-description">
2554
+
2555
+ <p>
2556
+ Return the day of the week. 0 for Sunday, 1 for Monday and so on.
2557
+ </p>
2558
+
2559
+
2560
+
2561
+ <div class="method-source-code"
2562
+ id="wday-source">
2563
+ <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>
2568
+ </div>
2569
+
2570
+ </div>
2571
+
2572
+
2573
+
2574
+
2575
+ </div>
2576
+
2577
+
2578
+ <div id="week-method" class="method-detail ">
2579
+ <a name="method-i-week"></a>
2580
+
2581
+ <div class="method-heading">
2582
+
2583
+ <span class="method-name">week</span><span
2584
+ class="method-args">(weekStartsMonday)</span>
2585
+ <span class="method-click-advice">click to toggle source</span>
2586
+
2587
+ </div>
2588
+
2589
+ <div class="method-description">
2590
+
2591
+ <p>
2592
+ Return the week number. <em>weekStartsMonday</em> specifies wheter the
2593
+ counting should be for weeks starting Mondays or Sundays.
2594
+ </p>
2595
+
2596
+
2597
+
2598
+ <div class="method-source-code"
2599
+ id="week-source">
2600
+ <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>
2605
+ </div>
2606
+
2607
+ </div>
2608
+
2609
+
2610
+
2611
+
2612
+ </div>
2613
+
2614
+
2615
+ <div id="weekday-nd-ate-method" class="method-detail ">
2616
+ <a name="method-i-weekdayAndDate"></a>
2617
+
2618
+ <div class="method-heading">
2619
+
2620
+ <span class="method-name">weekdayAndDate</span><span
2621
+ class="method-args">()</span>
2622
+ <span class="method-click-advice">click to toggle source</span>
2623
+
2624
+ </div>
2625
+
2626
+ <div class="method-description">
2627
+
2628
+ <p>
2629
+ Return the abbreviated weekday and the full date. E. g. &#8216;Sat
2630
+ 2007-11-03&#8217;.
2631
+ </p>
2632
+
2633
+
2634
+
2635
+ <div class="method-source-code"
2636
+ id="weekday-nd-ate-source">
2637
+ <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>
2642
+ </div>
2643
+
2644
+ </div>
2645
+
2646
+
2647
+
2648
+
2649
+ </div>
2650
+
2651
+
2652
+ <div id="weeks-o-method" class="method-detail ">
2653
+ <a name="method-i-weeksTo"></a>
2654
+
2655
+ <div class="method-heading">
2656
+
2657
+ <span class="method-name">weeksTo</span><span
2658
+ class="method-args">(date)</span>
2659
+ <span class="method-click-advice">click to toggle source</span>
2660
+
2661
+ </div>
2662
+
2663
+ <div class="method-description">
2664
+
2665
+ <p>
2666
+ Return the number of weeks between this time and <em>date</em>. The result
2667
+ is always rounded up.
2668
+ </p>
2669
+
2670
+
2671
+
2672
+ <div class="method-source-code"
2673
+ id="weeks-o-source">
2674
+ <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>
2679
+ </div>
2680
+
2681
+ </div>
2682
+
2683
+
2684
+
2685
+
2686
+ </div>
2687
+
2688
+
2689
+ <div id="year-method" class="method-detail ">
2690
+ <a name="method-i-year"></a>
2691
+
2692
+ <div class="method-heading">
2693
+
2694
+ <span class="method-name">year</span><span
2695
+ class="method-args">()</span>
2696
+ <span class="method-click-advice">click to toggle source</span>
2697
+
2698
+ </div>
2699
+
2700
+ <div class="method-description">
2701
+
2702
+ <p>
2703
+ Return the year.
2704
+ </p>
2705
+
2706
+
2707
+
2708
+ <div class="method-source-code"
2709
+ id="year-source">
2710
+ <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>
2715
+ </div>
2716
+
2717
+ </div>
2718
+
2719
+
2720
+
2721
+
2722
+ </div>
2723
+
2724
+
2725
+ <div id="years-o-method" class="method-detail ">
2726
+ <a name="method-i-yearsTo"></a>
2727
+
2728
+ <div class="method-heading">
2729
+
2730
+ <span class="method-name">yearsTo</span><span
2731
+ class="method-args">(date)</span>
2732
+ <span class="method-click-advice">click to toggle source</span>
2733
+
2734
+ </div>
2735
+
2736
+ <div class="method-description">
2737
+
2738
+ <p>
2739
+ Return the number of years between this time and <em>date</em>. The result
2740
+ is always rounded up.
2741
+ </p>
2742
+
2743
+
2744
+
2745
+ <div class="method-source-code"
2746
+ id="years-o-source">
2747
+ <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>
2752
+ </div>
2753
+
2754
+ </div>
2755
+
2756
+
2757
+
2758
+
2759
+ </div>
2760
+
2761
+
2762
+ </div>
2763
+
2764
+ <div id="private-instance-method-details" class="method-section section">
2765
+ <h3 class="section-header">Private Instance Methods</h3>
2766
+
2767
+
2768
+ <div id="count-ntervals-method" class="method-detail ">
2769
+ <a name="method-i-countIntervals"></a>
2770
+
2771
+ <div class="method-heading">
2772
+
2773
+ <span class="method-name">countIntervals</span><span
2774
+ class="method-args">(date, stepFunc)</span>
2775
+ <span class="method-click-advice">click to toggle source</span>
2776
+
2777
+ </div>
2778
+
2779
+ <div class="method-description">
2780
+
2781
+
2782
+
2783
+
2784
+
2785
+ <div class="method-source-code"
2786
+ id="count-ntervals-source">
2787
+ <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>
2798
+ </div>
2799
+
2800
+ </div>
2801
+
2802
+
2803
+
2804
+
2805
+ </div>
2806
+
2807
+
2808
+ <div id="last-ay-f-onth-method" class="method-detail ">
2809
+ <a name="method-i-lastDayOfMonth"></a>
2810
+
2811
+ <div class="method-heading">
2812
+
2813
+ <span class="method-name">lastDayOfMonth</span><span
2814
+ class="method-args">(month, year)</span>
2815
+ <span class="method-click-advice">click to toggle source</span>
2816
+
2817
+ </div>
2818
+
2819
+ <div class="method-description">
2820
+
2821
+
2822
+
2823
+
2824
+
2825
+ <div class="method-source-code"
2826
+ id="last-ay-f-onth-source">
2827
+ <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>
2832
+ </div>
2833
+
2834
+ </div>
2835
+
2836
+
2837
+
2838
+
2839
+ </div>
2840
+
2841
+
2842
+ <div id="leap-ear--method" class="method-detail ">
2843
+ <a name="method-i-leapYear%3F"></a>
2844
+
2845
+ <div class="method-heading">
2846
+
2847
+ <span class="method-name">leapYear?</span><span
2848
+ class="method-args">(year)</span>
2849
+ <span class="method-click-advice">click to toggle source</span>
2850
+
2851
+ </div>
2852
+
2853
+ <div class="method-description">
2854
+
2855
+
2856
+
2857
+
2858
+
2859
+ <div class="method-source-code"
2860
+ id="leap-ear--source">
2861
+ <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>
2873
+ </div>
2874
+
2875
+ </div>
2876
+
2877
+
2878
+
2879
+
2880
+ </div>
2881
+
2882
+
2883
+ <div id="localtime-method" class="method-detail ">
2884
+ <a name="method-i-localtime"></a>
2885
+
2886
+ <div class="method-heading">
2887
+
2888
+ <span class="method-name">localtime</span><span
2889
+ class="method-args">()</span>
2890
+ <span class="method-click-advice">click to toggle source</span>
2891
+
2892
+ </div>
2893
+
2894
+ <div class="method-description">
2895
+
2896
+
2897
+
2898
+
2899
+
2900
+ <div class="method-source-code"
2901
+ id="localtime-source">
2902
+ <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>
2923
+ </div>
2924
+
2925
+ </div>
2926
+
2927
+
2928
+
2929
+
2930
+ </div>
2931
+
2932
+
2933
+ <div id="order-method" class="method-detail ">
2934
+ <a name="method-i-order"></a>
2935
+
2936
+ <div class="method-heading">
2937
+
2938
+ <span class="method-name">order</span><span
2939
+ class="method-args">(date)</span>
2940
+ <span class="method-click-advice">click to toggle source</span>
2941
+
2942
+ </div>
2943
+
2944
+ <div class="method-description">
2945
+
2946
+
2947
+
2948
+
2949
+
2950
+ <div class="method-source-code"
2951
+ id="order-source">
2952
+ <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>
2957
+ </div>
2958
+
2959
+ </div>
2960
+
2961
+
2962
+
2963
+
2964
+ </div>
2965
+
2966
+
2967
+ <div id="parse-method" class="method-detail ">
2968
+ <a name="method-i-parse"></a>
2969
+
2970
+ <div class="method-heading">
2971
+
2972
+ <span class="method-name">parse</span><span
2973
+ class="method-args">(t)</span>
2974
+ <span class="method-click-advice">click to toggle source</span>
2975
+
2976
+ </div>
2977
+
2978
+ <div class="method-description">
2979
+
2980
+
2981
+
2982
+
2983
+
2984
+ <div class="method-source-code"
2985
+ id="parse-source">
2986
+ <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>)
3026
+ 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>
3087
+ </div>
3088
+
3089
+ </div>
3090
+
3091
+
3092
+
3093
+
3094
+ </div>
3095
+
3096
+
3097
+ </div>
3098
+
3099
+
3100
+ </div>
3101
+
3102
+
3103
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
3104
+
3105
+ <p>Disabled; run with --debug to generate this.</p>
3106
+
3107
+ </div>
3108
+
3109
+ <div id="validator-badges">
3110
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
3111
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
3112
+ Rdoc Generator</a> 1.1.6</small>.</p>
3113
+ </div>
3114
+
3115
+ </body>
3116
+ </html>
3117
+