taskjuggler 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (613) hide show
  1. data/CHANGELOG +1144 -2047
  2. data/README +1 -1
  3. data/Rakefile +6 -6
  4. data/data/css/tjmanual.css +20 -0
  5. data/data/css/tjreport.css +7 -6
  6. data/doc/AppConfig.html +136 -130
  7. data/doc/Arguments.html +46 -40
  8. data/doc/CHANGELOG.html +1162 -2057
  9. data/doc/COPYING.html +8 -2
  10. data/doc/Object.html +205 -199
  11. data/doc/README.html +9 -3
  12. data/doc/RuntimeConfig.html +75 -69
  13. data/doc/String.html +69 -63
  14. data/doc/TaskJuggler.html +350 -291
  15. data/doc/TaskJuggler/Account.html +26 -20
  16. data/doc/TaskJuggler/AccountAttribute.html +24 -18
  17. data/doc/TaskJuggler/AccountScenario.html +24 -18
  18. data/doc/TaskJuggler/Allocation.html +74 -68
  19. data/doc/TaskJuggler/AllocationAttribute.html +54 -48
  20. data/doc/TaskJuggler/AttributeBase.html +172 -93
  21. data/doc/TaskJuggler/AttributeDefinition.html +22 -16
  22. data/doc/TaskJuggler/AttributeOverwrite.html +586 -0
  23. data/doc/TaskJuggler/BatchProcessor.html +263 -257
  24. data/doc/TaskJuggler/Booking.html +44 -38
  25. data/doc/TaskJuggler/BookingListAttribute.html +25 -21
  26. data/doc/TaskJuggler/BooleanAttribute.html +24 -18
  27. data/doc/TaskJuggler/CSVFile.html +193 -187
  28. data/doc/TaskJuggler/CellSettingPattern.html +13 -7
  29. data/doc/TaskJuggler/CellSettingPatternList.html +25 -19
  30. data/doc/TaskJuggler/Charge.html +49 -43
  31. data/doc/TaskJuggler/ChargeListAttribute.html +21 -15
  32. data/doc/TaskJuggler/ChargeSet.html +94 -88
  33. data/doc/TaskJuggler/ChargeSetListAttribute.html +29 -25
  34. data/doc/TaskJuggler/CollisionDetector.html +142 -136
  35. data/doc/TaskJuggler/ColumnListAttribute.html +21 -17
  36. data/doc/TaskJuggler/ColumnTable.html +50 -44
  37. data/doc/TaskJuggler/Daemon.html +71 -50
  38. data/doc/TaskJuggler/DataCache.html +110 -58
  39. data/doc/TaskJuggler/DataCacheEntry.html +22 -16
  40. data/doc/TaskJuggler/DateAttribute.html +24 -18
  41. data/doc/TaskJuggler/DefinitionListAttribute.html +12 -6
  42. data/doc/TaskJuggler/DependencyListAttribute.html +29 -25
  43. data/doc/TaskJuggler/DurationAttribute.html +25 -19
  44. data/doc/TaskJuggler/FileList.html +25 -19
  45. data/doc/TaskJuggler/FileRecord.html +17 -11
  46. data/doc/TaskJuggler/FixnumAttribute.html +16 -10
  47. data/doc/TaskJuggler/FlagListAttribute.html +25 -21
  48. data/doc/TaskJuggler/FloatAttribute.html +20 -14
  49. data/doc/TaskJuggler/FormatListAttribute.html +17 -11
  50. data/doc/TaskJuggler/GanttChart.html +242 -236
  51. data/doc/TaskJuggler/GanttContainer.html +71 -67
  52. data/doc/TaskJuggler/GanttHeader.html +113 -107
  53. data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -20
  54. data/doc/TaskJuggler/GanttLine.html +217 -210
  55. data/doc/TaskJuggler/GanttLoadStack.html +89 -83
  56. data/doc/TaskJuggler/GanttMilestone.html +11 -6
  57. data/doc/TaskJuggler/GanttRouter.html +194 -186
  58. data/doc/TaskJuggler/GanttTaskBar.html +41 -34
  59. data/doc/TaskJuggler/HTMLDocument.html +52 -46
  60. data/doc/TaskJuggler/HTMLGraphics.html +58 -52
  61. data/doc/TaskJuggler/Interval.html +90 -84
  62. data/doc/TaskJuggler/IntervalList.html +777 -0
  63. data/doc/TaskJuggler/IntervalListAttribute.html +29 -25
  64. data/doc/TaskJuggler/JobInfo.html +36 -30
  65. data/doc/TaskJuggler/Journal.html +188 -177
  66. data/doc/TaskJuggler/JournalEntry.html +36 -30
  67. data/doc/TaskJuggler/JournalEntryList.html +88 -82
  68. data/doc/TaskJuggler/KeywordArray.html +12 -6
  69. data/doc/TaskJuggler/KeywordDocumentation.html +512 -503
  70. data/doc/TaskJuggler/Limits.html +111 -105
  71. data/doc/TaskJuggler/Limits/Limit.html +71 -65
  72. data/doc/TaskJuggler/LimitsAttribute.html +21 -15
  73. data/doc/TaskJuggler/ListAttributeBase.html +16 -10
  74. data/doc/TaskJuggler/Log.html +111 -105
  75. data/doc/TaskJuggler/LogFile.html +54 -48
  76. data/doc/TaskJuggler/LogicalAttribute.html +35 -29
  77. data/doc/TaskJuggler/LogicalExpression.html +32 -26
  78. data/doc/TaskJuggler/LogicalExpressionAttribute.html +16 -10
  79. data/doc/TaskJuggler/LogicalExpressionListAttribute.html +671 -0
  80. data/doc/TaskJuggler/LogicalFlag.html +24 -18
  81. data/doc/TaskJuggler/LogicalFunction.html +164 -158
  82. data/doc/TaskJuggler/LogicalOperation.html +138 -132
  83. data/doc/TaskJuggler/Macro.html +14 -8
  84. data/doc/TaskJuggler/MacroTable.html +42 -36
  85. data/doc/TaskJuggler/ManagerResponsibilities.html +19 -13
  86. data/doc/TaskJuggler/ManagerStatusRecord.html +23 -17
  87. data/doc/TaskJuggler/Message.html +56 -50
  88. data/doc/TaskJuggler/MessageHandler.html +73 -67
  89. data/doc/TaskJuggler/Navigator.html +92 -86
  90. data/doc/TaskJuggler/NavigatorElement.html +88 -82
  91. data/doc/TaskJuggler/NikuProject.html +15 -9
  92. data/doc/TaskJuggler/NikuReport.html +405 -370
  93. data/doc/TaskJuggler/NikuResource.html +13 -7
  94. data/doc/TaskJuggler/NodeListAttribute.html +13 -9
  95. data/doc/TaskJuggler/PlaceHolderCell.html +22 -16
  96. data/doc/TaskJuggler/ProcessIntercom.html +116 -110
  97. data/doc/TaskJuggler/ProcessIntercomIface.html +39 -33
  98. data/doc/TaskJuggler/Project.html +1064 -895
  99. data/doc/TaskJuggler/ProjectBroker.html +439 -366
  100. data/doc/TaskJuggler/ProjectBrokerIface.html +63 -53
  101. data/doc/TaskJuggler/ProjectFileParser.html +329 -319
  102. data/doc/TaskJuggler/ProjectFileScanner.html +351 -345
  103. data/doc/TaskJuggler/ProjectRecord.html +66 -60
  104. data/doc/TaskJuggler/ProjectServer.html +287 -280
  105. data/doc/TaskJuggler/ProjectServerIface.html +43 -37
  106. data/doc/TaskJuggler/PropertyAttribute.html +16 -10
  107. data/doc/TaskJuggler/PropertyList.html +205 -199
  108. data/doc/TaskJuggler/PropertySet.html +264 -296
  109. data/doc/TaskJuggler/PropertyTreeNode.html +455 -505
  110. data/doc/TaskJuggler/Query.html +309 -524
  111. data/doc/TaskJuggler/RTFHandlers.html +17 -11
  112. data/doc/TaskJuggler/RTFNavigator.html +33 -27
  113. data/doc/TaskJuggler/RTFQuery.html +135 -129
  114. data/doc/TaskJuggler/RTFReport.html +63 -57
  115. data/doc/TaskJuggler/RTFReportLink.html +55 -49
  116. data/doc/TaskJuggler/RTFWithQuerySupport.html +17 -11
  117. data/doc/TaskJuggler/RealFormat.html +64 -58
  118. data/doc/TaskJuggler/RealFormatAttribute.html +12 -6
  119. data/doc/TaskJuggler/ReferenceAttribute.html +35 -29
  120. data/doc/TaskJuggler/Report.html +294 -249
  121. data/doc/TaskJuggler/ReportBase.html +229 -223
  122. data/doc/TaskJuggler/ReportContext.html +52 -46
  123. data/doc/TaskJuggler/ReportServer.html +143 -137
  124. data/doc/TaskJuggler/ReportServerIface.html +51 -43
  125. data/doc/TaskJuggler/ReportServerRecord.html +36 -30
  126. data/doc/TaskJuggler/ReportServlet.html +167 -140
  127. data/doc/TaskJuggler/ReportTable.html +137 -131
  128. data/doc/TaskJuggler/ReportTableCell.html +332 -292
  129. data/doc/TaskJuggler/ReportTableColumn.html +46 -40
  130. data/doc/TaskJuggler/ReportTableLegend.html +43 -38
  131. data/doc/TaskJuggler/ReportTableLine.html +66 -60
  132. data/doc/TaskJuggler/Resource.html +166 -160
  133. data/doc/TaskJuggler/ResourceListAttribute.html +54 -32
  134. data/doc/TaskJuggler/ResourceListRE.html +47 -41
  135. data/doc/TaskJuggler/ResourceScenario.html +671 -644
  136. data/doc/TaskJuggler/RichText.html +51 -45
  137. data/doc/TaskJuggler/RichTextAttribute.html +28 -22
  138. data/doc/TaskJuggler/RichTextDocument.html +96 -90
  139. data/doc/TaskJuggler/RichTextElement.html +503 -497
  140. data/doc/TaskJuggler/RichTextFunctionExample.html +41 -35
  141. data/doc/TaskJuggler/RichTextFunctionHandler.html +19 -13
  142. data/doc/TaskJuggler/RichTextImage.html +14 -8
  143. data/doc/TaskJuggler/RichTextIntermediate.html +86 -80
  144. data/doc/TaskJuggler/RichTextParser.html +59 -53
  145. data/doc/TaskJuggler/RichTextScanner.html +184 -178
  146. data/doc/TaskJuggler/RichTextSnip.html +69 -63
  147. data/doc/TaskJuggler/RichTextSyntaxRules.html +416 -410
  148. data/doc/TaskJuggler/Scenario.html +13 -7
  149. data/doc/TaskJuggler/ScenarioData.html +40 -34
  150. data/doc/TaskJuggler/ScenarioListAttribute.html +21 -15
  151. data/doc/TaskJuggler/Scoreboard.html +129 -107
  152. data/doc/TaskJuggler/SheetHandlerBase.html +245 -239
  153. data/doc/TaskJuggler/SheetReceiver.html +333 -327
  154. data/doc/TaskJuggler/SheetSender.html +227 -221
  155. data/doc/TaskJuggler/Shift.html +26 -20
  156. data/doc/TaskJuggler/ShiftAssignment.html +45 -39
  157. data/doc/TaskJuggler/ShiftAssignments.html +178 -172
  158. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +21 -15
  159. data/doc/TaskJuggler/ShiftScenario.html +29 -23
  160. data/doc/TaskJuggler/SimpleQueryExpander.html +36 -30
  161. data/doc/TaskJuggler/SortListAttribute.html +17 -13
  162. data/doc/TaskJuggler/SourceFileInfo.html +19 -13
  163. data/doc/TaskJuggler/StatusSheetReceiver.html +31 -25
  164. data/doc/TaskJuggler/StatusSheetReport.html +166 -159
  165. data/doc/TaskJuggler/StatusSheetSender.html +80 -74
  166. data/doc/TaskJuggler/StringAttribute.html +20 -14
  167. data/doc/TaskJuggler/SymbolAttribute.html +16 -10
  168. data/doc/TaskJuggler/SyntaxReference.html +231 -225
  169. data/doc/TaskJuggler/TOCEntry.html +46 -40
  170. data/doc/TaskJuggler/TSResourceRecord.html +15 -9
  171. data/doc/TaskJuggler/TSTaskRecord.html +16 -10
  172. data/doc/TaskJuggler/TableColumnDefinition.html +84 -39
  173. data/doc/TaskJuggler/TableOfContents.html +28 -22
  174. data/doc/TaskJuggler/TableReport.html +906 -866
  175. data/doc/TaskJuggler/Task.html +99 -93
  176. data/doc/TaskJuggler/TaskDependency.html +24 -18
  177. data/doc/TaskJuggler/TaskListAttribute.html +29 -25
  178. data/doc/TaskJuggler/TaskListRE.html +46 -39
  179. data/doc/TaskJuggler/TaskScenario.html +2218 -1965
  180. data/doc/TaskJuggler/TextFormatter.html +154 -148
  181. data/doc/TaskJuggler/TextParser.html +362 -348
  182. data/doc/TaskJuggler/TextParser/Pattern.html +313 -307
  183. data/doc/TaskJuggler/TextParser/Rule.html +147 -141
  184. data/doc/TaskJuggler/TextParser/StackElement.html +58 -52
  185. data/doc/TaskJuggler/TextParser/State.html +88 -82
  186. data/doc/TaskJuggler/TextParser/StateTransition.html +42 -36
  187. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +20 -14
  188. data/doc/TaskJuggler/TextParser/TokenDoc.html +19 -13
  189. data/doc/TaskJuggler/TextReport.html +80 -74
  190. data/doc/TaskJuggler/TextScanner.html +284 -272
  191. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +14 -8
  192. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +21 -15
  193. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +15 -9
  194. data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
  195. data/doc/TaskJuggler/TimeSheet.html +123 -117
  196. data/doc/TaskJuggler/TimeSheetReceiver.html +28 -22
  197. data/doc/TaskJuggler/TimeSheetRecord.html +212 -206
  198. data/doc/TaskJuggler/TimeSheetReport.html +206 -199
  199. data/doc/TaskJuggler/TimeSheetSender.html +27 -21
  200. data/doc/TaskJuggler/TimeSheetSummary.html +140 -134
  201. data/doc/TaskJuggler/TimeSheets.html +20 -14
  202. data/doc/TaskJuggler/Tj3AppBase.html +100 -94
  203. data/doc/TaskJuggler/Tj3Client.html +407 -483
  204. data/doc/TaskJuggler/Tj3Daemon.html +116 -107
  205. data/doc/TaskJuggler/Tj3SheetAppBase.html +45 -39
  206. data/doc/TaskJuggler/Tj3SsReceiver.html +31 -25
  207. data/doc/TaskJuggler/Tj3SsSender.html +64 -58
  208. data/doc/TaskJuggler/Tj3TsReceiver.html +31 -25
  209. data/doc/TaskJuggler/Tj3TsSender.html +51 -45
  210. data/doc/TaskJuggler/Tj3TsSummary.html +59 -53
  211. data/doc/TaskJuggler/TjException.html +13 -7
  212. data/doc/TaskJuggler/TjTime.html +444 -438
  213. data/doc/TaskJuggler/TjpExample.html +84 -78
  214. data/doc/TaskJuggler/TjpExportRE.html +356 -349
  215. data/doc/TaskJuggler/TjpSyntaxRules.html +4279 -4151
  216. data/doc/TaskJuggler/URLParameter.html +16 -10
  217. data/doc/TaskJuggler/UserManual.html +185 -179
  218. data/doc/TaskJuggler/VimSyntax.html +144 -138
  219. data/doc/TaskJuggler/WebServer.html +46 -39
  220. data/doc/TaskJuggler/WelcomePage.html +769 -0
  221. data/doc/TaskJuggler/WorkingHours.html +185 -179
  222. data/doc/TaskJuggler/WorkingHoursAttribute.html +42 -36
  223. data/doc/TaskJuggler/XMLBlob.html +21 -15
  224. data/doc/TaskJuggler/XMLComment.html +17 -11
  225. data/doc/TaskJuggler/XMLDocument.html +33 -27
  226. data/doc/TaskJuggler/XMLElement.html +97 -91
  227. data/doc/TaskJuggler/XMLNamedText.html +13 -7
  228. data/doc/TaskJuggler/XMLText.html +32 -26
  229. data/doc/index.html +601 -563
  230. data/doc/lib/AccountScenario_rb.html +5 -3
  231. data/doc/lib/Account_rb.html +5 -3
  232. data/doc/lib/Allocation_rb.html +5 -3
  233. data/doc/lib/AppConfig_rb.html +5 -3
  234. data/doc/lib/AttributeBase_rb.html +5 -3
  235. data/doc/lib/AttributeDefinition_rb.html +5 -3
  236. data/doc/lib/Attributes_rb.html +5 -3
  237. data/doc/lib/BatchProcessor_rb.html +5 -3
  238. data/doc/lib/Booking_rb.html +5 -3
  239. data/doc/lib/ChargeSet_rb.html +5 -3
  240. data/doc/lib/Charge_rb.html +5 -3
  241. data/doc/lib/DataCache_rb.html +5 -3
  242. data/doc/lib/FileList_rb.html +5 -3
  243. data/doc/lib/HTMLDocument_rb.html +5 -3
  244. data/doc/lib/IntervalList_rb.html +69 -0
  245. data/doc/lib/Interval_rb.html +5 -3
  246. data/doc/lib/Journal_rb.html +5 -3
  247. data/doc/lib/KeywordArray_rb.html +5 -3
  248. data/doc/lib/KeywordDocumentation_rb.html +5 -3
  249. data/doc/lib/Limits_rb.html +5 -3
  250. data/doc/lib/LogFile_rb.html +5 -3
  251. data/doc/lib/Log_rb.html +5 -3
  252. data/doc/lib/LogicalExpression_rb.html +5 -3
  253. data/doc/lib/LogicalFunction_rb.html +5 -3
  254. data/doc/lib/LogicalOperation_rb.html +5 -3
  255. data/doc/lib/MacroTable_rb.html +5 -3
  256. data/doc/lib/MessageHandler_rb.html +5 -3
  257. data/doc/lib/ProjectFileParser_rb.html +5 -3
  258. data/doc/lib/ProjectFileScanner_rb.html +5 -3
  259. data/doc/lib/Project_rb.html +5 -3
  260. data/doc/lib/PropertyList_rb.html +5 -3
  261. data/doc/lib/PropertySet_rb.html +5 -3
  262. data/doc/lib/PropertyTreeNode_rb.html +5 -3
  263. data/doc/lib/Query_rb.html +5 -3
  264. data/doc/lib/RTFHandlers_rb.html +5 -3
  265. data/doc/lib/RTFNavigator_rb.html +5 -3
  266. data/doc/lib/RTFQuery_rb.html +5 -3
  267. data/doc/lib/RTFReportLink_rb.html +5 -3
  268. data/doc/lib/RTFReport_rb.html +5 -3
  269. data/doc/lib/RTFWithQuerySupport_rb.html +5 -3
  270. data/doc/lib/RealFormat_rb.html +5 -3
  271. data/doc/lib/ResourceScenario_rb.html +5 -3
  272. data/doc/lib/Resource_rb.html +5 -3
  273. data/doc/lib/RichTextDocument_rb.html +5 -3
  274. data/doc/lib/RichTextElement_rb.html +5 -3
  275. data/doc/lib/RichTextFunctionExample_rb.html +5 -3
  276. data/doc/lib/RichTextFunctionHandler_rb.html +5 -3
  277. data/doc/lib/RichTextParser_rb.html +5 -3
  278. data/doc/lib/RichTextScanner_rb.html +5 -3
  279. data/doc/lib/RichTextSnip_rb.html +5 -3
  280. data/doc/lib/RichTextSyntaxRules_rb.html +5 -3
  281. data/doc/lib/RichText_rb.html +5 -3
  282. data/doc/lib/RuntimeConfig_rb.html +5 -3
  283. data/doc/lib/ScenarioData_rb.html +5 -3
  284. data/doc/lib/Scenario_rb.html +5 -3
  285. data/doc/lib/Scoreboard_rb.html +7 -3
  286. data/doc/lib/SheetHandlerBase_rb.html +5 -3
  287. data/doc/lib/SheetReceiver_rb.html +5 -3
  288. data/doc/lib/SheetSender_rb.html +5 -3
  289. data/doc/lib/ShiftAssignments_rb.html +5 -3
  290. data/doc/lib/ShiftScenario_rb.html +5 -3
  291. data/doc/lib/Shift_rb.html +5 -3
  292. data/doc/lib/SimpleQueryExpander_rb.html +5 -3
  293. data/doc/lib/SourceFileInfo_rb.html +5 -3
  294. data/doc/lib/StatusSheetReceiver_rb.html +5 -3
  295. data/doc/lib/StatusSheetSender_rb.html +5 -3
  296. data/doc/lib/SyntaxReference_rb.html +5 -3
  297. data/doc/lib/TOCEntry_rb.html +5 -3
  298. data/doc/lib/TableColumnDefinition_rb.html +5 -3
  299. data/doc/lib/TableOfContents_rb.html +5 -3
  300. data/doc/lib/TaskDependency_rb.html +5 -3
  301. data/doc/lib/TaskJuggler_rb.html +5 -3
  302. data/doc/lib/TaskScenario_rb.html +5 -3
  303. data/doc/lib/Task_rb.html +5 -3
  304. data/doc/lib/TextFormatter_rb.html +6 -4
  305. data/doc/lib/TextParser/Pattern_rb.html +5 -3
  306. data/doc/lib/TextParser/Rule_rb.html +5 -3
  307. data/doc/lib/TextParser/StackElement_rb.html +5 -3
  308. data/doc/lib/TextParser/State_rb.html +6 -4
  309. data/doc/lib/TextParser/TokenDoc_rb.html +5 -3
  310. data/doc/lib/TextParser_rb.html +5 -3
  311. data/doc/lib/TextScanner_rb.html +5 -3
  312. data/doc/lib/TimeSheetReceiver_rb.html +5 -3
  313. data/doc/lib/TimeSheetSender_rb.html +5 -3
  314. data/doc/lib/TimeSheetSummary_rb.html +6 -4
  315. data/doc/lib/TimeSheets_rb.html +5 -3
  316. data/doc/lib/Tj3AppBase_rb.html +5 -3
  317. data/doc/lib/Tj3Config_rb.html +5 -3
  318. data/doc/lib/Tj3SheetAppBase_rb.html +5 -3
  319. data/doc/lib/TjException_rb.html +5 -3
  320. data/doc/lib/TjTime_rb.html +5 -3
  321. data/doc/lib/TjpExample_rb.html +5 -3
  322. data/doc/lib/TjpSyntaxRules_rb.html +5 -3
  323. data/doc/lib/URLParameter_rb.html +5 -3
  324. data/doc/lib/UTF8String_rb.html +5 -3
  325. data/doc/lib/UserManual_rb.html +5 -3
  326. data/doc/lib/VimSyntax_rb.html +6 -4
  327. data/doc/lib/WorkingHours_rb.html +5 -3
  328. data/doc/lib/XMLDocument_rb.html +5 -3
  329. data/doc/lib/XMLElement_rb.html +5 -3
  330. data/doc/lib/daemon/Daemon_rb.html +5 -3
  331. data/doc/lib/daemon/ProcessIntercom_rb.html +7 -3
  332. data/doc/lib/daemon/ProjectBroker_rb.html +5 -3
  333. data/doc/lib/daemon/ProjectServer_rb.html +5 -3
  334. data/doc/lib/daemon/ReportServer_rb.html +5 -3
  335. data/doc/lib/daemon/ReportServlet_rb.html +69 -0
  336. data/doc/lib/daemon/WebServer_rb.html +9 -3
  337. data/doc/lib/daemon/WelcomePage_rb.html +71 -0
  338. data/doc/lib/deep_copy_rb.html +5 -3
  339. data/doc/lib/reports/CSVFile_rb.html +5 -3
  340. data/doc/lib/reports/CollisionDetector_rb.html +5 -3
  341. data/doc/lib/reports/ColumnTable_rb.html +5 -3
  342. data/doc/lib/reports/GanttChart_rb.html +5 -3
  343. data/doc/lib/reports/GanttContainer_rb.html +5 -3
  344. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +5 -3
  345. data/doc/lib/reports/GanttHeader_rb.html +5 -3
  346. data/doc/lib/reports/GanttLine_rb.html +5 -3
  347. data/doc/lib/reports/GanttLoadStack_rb.html +5 -3
  348. data/doc/lib/reports/GanttMilestone_rb.html +5 -3
  349. data/doc/lib/reports/GanttRouter_rb.html +5 -3
  350. data/doc/lib/reports/GanttTaskBar_rb.html +5 -3
  351. data/doc/lib/reports/HTMLGraphics_rb.html +5 -3
  352. data/doc/lib/reports/Navigator_rb.html +5 -3
  353. data/doc/lib/reports/NikuReport_rb.html +5 -3
  354. data/doc/lib/reports/ReportBase_rb.html +5 -3
  355. data/doc/lib/reports/ReportContext_rb.html +5 -3
  356. data/doc/lib/reports/ReportTableCell_rb.html +5 -3
  357. data/doc/lib/reports/ReportTableColumn_rb.html +5 -3
  358. data/doc/lib/reports/ReportTableLegend_rb.html +5 -3
  359. data/doc/lib/reports/ReportTableLine_rb.html +5 -3
  360. data/doc/lib/reports/ReportTable_rb.html +5 -3
  361. data/doc/lib/reports/Report_rb.html +5 -3
  362. data/doc/lib/reports/ResourceListRE_rb.html +5 -3
  363. data/doc/lib/reports/StatusSheetReport_rb.html +5 -3
  364. data/doc/lib/reports/TableReport_rb.html +5 -3
  365. data/doc/lib/reports/TaskListRE_rb.html +5 -3
  366. data/doc/lib/reports/TextReport_rb.html +5 -3
  367. data/doc/lib/reports/TimeSheetReport_rb.html +5 -3
  368. data/doc/lib/reports/TjpExportRE_rb.html +5 -3
  369. data/doc/lib/{taskjuggler3_rb.html → tj3_rb.html} +7 -5
  370. data/doc/lib/tj3client_rb.html +5 -3
  371. data/doc/lib/tj3d_rb.html +6 -4
  372. data/doc/lib/tj3man_rb.html +5 -3
  373. data/doc/lib/tj3ss_receiver_rb.html +5 -3
  374. data/doc/lib/tj3ss_sender_rb.html +5 -3
  375. data/doc/lib/tj3ts_receiver_rb.html +5 -3
  376. data/doc/lib/tj3ts_sender_rb.html +5 -3
  377. data/doc/lib/tj3ts_summary_rb.html +5 -3
  378. data/examples/tutorial.tjp +13 -5
  379. data/gem_spec.rb +3 -0
  380. data/lib/Account.rb +2 -1
  381. data/lib/AccountScenario.rb +2 -1
  382. data/lib/Allocation.rb +2 -1
  383. data/lib/AppConfig.rb +2 -1
  384. data/lib/AttributeBase.rb +19 -5
  385. data/lib/AttributeDefinition.rb +2 -1
  386. data/lib/Attributes.rb +49 -38
  387. data/lib/BatchProcessor.rb +2 -1
  388. data/lib/Booking.rb +2 -1
  389. data/lib/Charge.rb +2 -1
  390. data/lib/ChargeSet.rb +2 -1
  391. data/lib/DataCache.rb +15 -1
  392. data/lib/FileList.rb +2 -1
  393. data/lib/HTMLDocument.rb +2 -1
  394. data/lib/Interval.rb +2 -1
  395. data/lib/IntervalList.rb +100 -0
  396. data/lib/Journal.rb +8 -2
  397. data/lib/KeywordArray.rb +2 -1
  398. data/lib/KeywordDocumentation.rb +10 -6
  399. data/lib/Limits.rb +2 -1
  400. data/lib/Log.rb +3 -2
  401. data/lib/LogFile.rb +2 -1
  402. data/lib/LogicalExpression.rb +2 -1
  403. data/lib/LogicalFunction.rb +2 -1
  404. data/lib/LogicalOperation.rb +2 -1
  405. data/lib/MacroTable.rb +2 -1
  406. data/lib/MessageHandler.rb +2 -1
  407. data/lib/Project.rb +92 -25
  408. data/lib/ProjectFileParser.rb +7 -2
  409. data/lib/ProjectFileScanner.rb +2 -1
  410. data/lib/PropertyList.rb +2 -1
  411. data/lib/PropertySet.rb +2 -6
  412. data/lib/PropertyTreeNode.rb +22 -44
  413. data/lib/Query.rb +32 -13
  414. data/lib/RTFHandlers.rb +2 -1
  415. data/lib/RTFNavigator.rb +2 -1
  416. data/lib/RTFQuery.rb +3 -2
  417. data/lib/RTFReport.rb +2 -1
  418. data/lib/RTFReportLink.rb +2 -1
  419. data/lib/RTFWithQuerySupport.rb +2 -1
  420. data/lib/RealFormat.rb +2 -1
  421. data/lib/Resource.rb +2 -1
  422. data/lib/ResourceScenario.rb +35 -14
  423. data/lib/RichText.rb +2 -1
  424. data/lib/RichTextDocument.rb +2 -1
  425. data/lib/RichTextElement.rb +2 -1
  426. data/lib/RichTextFunctionExample.rb +2 -1
  427. data/lib/RichTextFunctionHandler.rb +2 -1
  428. data/lib/RichTextParser.rb +2 -1
  429. data/lib/RichTextScanner.rb +2 -1
  430. data/lib/RichTextSnip.rb +2 -1
  431. data/lib/RichTextSyntaxRules.rb +2 -1
  432. data/lib/RuntimeConfig.rb +2 -1
  433. data/lib/Scenario.rb +2 -1
  434. data/lib/ScenarioData.rb +2 -1
  435. data/lib/Scoreboard.rb +27 -8
  436. data/lib/SheetHandlerBase.rb +2 -1
  437. data/lib/SheetReceiver.rb +2 -1
  438. data/lib/SheetSender.rb +2 -1
  439. data/lib/Shift.rb +2 -1
  440. data/lib/ShiftAssignments.rb +2 -1
  441. data/lib/ShiftScenario.rb +2 -1
  442. data/lib/SimpleQueryExpander.rb +2 -1
  443. data/lib/SourceFileInfo.rb +2 -1
  444. data/lib/StatusSheetReceiver.rb +2 -1
  445. data/lib/StatusSheetSender.rb +2 -1
  446. data/lib/SyntaxReference.rb +2 -1
  447. data/lib/TOCEntry.rb +2 -1
  448. data/lib/TableColumnDefinition.rb +9 -2
  449. data/lib/TableOfContents.rb +2 -1
  450. data/lib/Task.rb +2 -1
  451. data/lib/TaskDependency.rb +2 -1
  452. data/lib/TaskJuggler.rb +8 -6
  453. data/lib/TaskScenario.rb +337 -153
  454. data/lib/TextFormatter.rb +3 -2
  455. data/lib/TextParser.rb +7 -2
  456. data/lib/TextParser/Pattern.rb +2 -1
  457. data/lib/TextParser/Rule.rb +2 -1
  458. data/lib/TextParser/StackElement.rb +2 -1
  459. data/lib/TextParser/State.rb +3 -2
  460. data/lib/TextParser/TokenDoc.rb +2 -1
  461. data/lib/TextScanner.rb +12 -5
  462. data/lib/TimeSheetReceiver.rb +2 -1
  463. data/lib/TimeSheetSender.rb +2 -1
  464. data/lib/TimeSheetSummary.rb +3 -2
  465. data/lib/TimeSheets.rb +2 -1
  466. data/lib/Tj3AppBase.rb +6 -5
  467. data/lib/Tj3Config.rb +5 -4
  468. data/lib/Tj3SheetAppBase.rb +2 -1
  469. data/lib/TjException.rb +2 -1
  470. data/lib/TjTime.rb +2 -1
  471. data/lib/TjpExample.rb +2 -1
  472. data/lib/TjpSyntaxRules.rb +264 -65
  473. data/lib/URLParameter.rb +2 -1
  474. data/lib/UTF8String.rb +2 -1
  475. data/lib/UserManual.rb +2 -1
  476. data/lib/VimSyntax.rb +3 -2
  477. data/lib/WorkingHours.rb +2 -1
  478. data/lib/XMLDocument.rb +2 -1
  479. data/lib/XMLElement.rb +2 -1
  480. data/lib/daemon/Daemon.rb +3 -1
  481. data/lib/daemon/ProcessIntercom.rb +3 -1
  482. data/lib/daemon/ProjectBroker.rb +84 -32
  483. data/lib/daemon/ProjectServer.rb +5 -3
  484. data/lib/daemon/ReportServer.rb +8 -5
  485. data/lib/daemon/ReportServlet.rb +166 -0
  486. data/lib/daemon/WebServer.rb +6 -150
  487. data/lib/daemon/WelcomePage.rb +80 -0
  488. data/lib/deep_copy.rb +2 -1
  489. data/lib/reports/CSVFile.rb +2 -1
  490. data/lib/reports/CollisionDetector.rb +2 -1
  491. data/lib/reports/ColumnTable.rb +2 -1
  492. data/lib/reports/GanttChart.rb +2 -1
  493. data/lib/reports/GanttContainer.rb +3 -4
  494. data/lib/reports/GanttHeader.rb +2 -1
  495. data/lib/reports/GanttHeaderScaleItem.rb +2 -1
  496. data/lib/reports/GanttLine.rb +12 -10
  497. data/lib/reports/GanttLoadStack.rb +2 -1
  498. data/lib/reports/GanttMilestone.rb +3 -3
  499. data/lib/reports/GanttRouter.rb +4 -1
  500. data/lib/reports/GanttTaskBar.rb +9 -7
  501. data/lib/reports/HTMLGraphics.rb +2 -1
  502. data/lib/reports/Navigator.rb +2 -1
  503. data/lib/reports/NikuReport.rb +79 -49
  504. data/lib/reports/Report.rb +42 -10
  505. data/lib/reports/ReportBase.rb +2 -1
  506. data/lib/reports/ReportContext.rb +2 -1
  507. data/lib/reports/ReportTable.rb +2 -1
  508. data/lib/reports/ReportTableCell.rb +63 -28
  509. data/lib/reports/ReportTableColumn.rb +2 -1
  510. data/lib/reports/ReportTableLegend.rb +5 -5
  511. data/lib/reports/ReportTableLine.rb +2 -1
  512. data/lib/reports/ResourceListRE.rb +2 -1
  513. data/lib/reports/StatusSheetReport.rb +4 -2
  514. data/lib/reports/TableReport.rb +42 -38
  515. data/lib/reports/TaskListRE.rb +4 -2
  516. data/lib/reports/TextReport.rb +2 -1
  517. data/lib/reports/TimeSheetReport.rb +4 -2
  518. data/lib/reports/TjpExportRE.rb +4 -2
  519. data/lib/{taskjuggler3.rb → tj3.rb} +6 -5
  520. data/lib/tj3client.rb +19 -36
  521. data/lib/tj3d.rb +6 -2
  522. data/lib/tj3man.rb +4 -3
  523. data/lib/tj3ss_receiver.rb +2 -1
  524. data/lib/tj3ss_sender.rb +2 -1
  525. data/lib/tj3ts_receiver.rb +2 -1
  526. data/lib/tj3ts_sender.rb +2 -1
  527. data/lib/tj3ts_summary.rb +2 -1
  528. data/manual/Day_To_Day_Juggling +36 -0
  529. data/manual/How_To_Contribute +9 -4
  530. data/manual/Installation +10 -3
  531. data/manual/TaskJuggler_Internals +0 -2
  532. data/manual/Tutorial +25 -3
  533. data/prj_cfg.rb +4 -2
  534. data/spec/IntervalList_spec.rb +138 -0
  535. data/spec/ProjectBroker_spec.rb +133 -0
  536. data/tasks/changelog.rake +41 -24
  537. data/tasks/csts.rake +1 -0
  538. data/tasks/gem.rake +1 -0
  539. data/tasks/rcov.rake +1 -1
  540. data/tasks/spec.rake +7 -0
  541. data/tasks/test.rake +1 -0
  542. data/test/MessageChecker.rb +2 -1
  543. data/test/TestSuite/CSV-Reports/niku.tjp +70 -0
  544. data/test/TestSuite/CSV-Reports/{celltext-Reference.csv → refs/celltext.csv} +0 -0
  545. data/test/TestSuite/CSV-Reports/refs/niku.csv +5 -0
  546. data/test/TestSuite/CSV-Reports/{resourcereport-Reference.csv → refs/resourcereport.csv} +0 -0
  547. data/test/TestSuite/CSV-Reports/{resourcereport_with_tasks-Reference.csv → refs/resourcereport_with_tasks.csv} +0 -0
  548. data/test/TestSuite/CSV-Reports/{sortByTree-Reference.csv → refs/sortByTree.csv} +0 -0
  549. data/test/TestSuite/CSV-Reports/{sortBy_duration.down-Reference.csv → refs/sortBy_duration.down.csv} +0 -0
  550. data/test/TestSuite/CSV-Reports/{sortBy_effort.up-Reference.csv → refs/sortBy_effort.up.csv} +0 -0
  551. data/test/TestSuite/CSV-Reports/{sortBy_plan.start.down-Reference.csv → refs/sortBy_plan.start.down.csv} +0 -0
  552. data/test/TestSuite/CSV-Reports/{taskreport-Reference.csv → refs/taskreport.csv} +0 -0
  553. data/test/TestSuite/CSV-Reports/{taskreport_with_resources-Reference.csv → refs/taskreport_with_resources.csv} +0 -0
  554. data/test/TestSuite/CSV-Reports/{weekly-Reference.csv → refs/weekly.csv} +0 -0
  555. data/test/TestSuite/HTML-Reports/Alerts.tjp +12 -0
  556. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
  557. data/test/TestSuite/Scheduler/Correct/Container-2.tjp +1 -2
  558. data/test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp +77 -0
  559. data/test/TestSuite/Scheduler/Correct/WeakDeps.tjp +40 -0
  560. data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +2 -2
  561. data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +3 -4
  562. data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +2 -2
  563. data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +8 -7
  564. data/test/TestSuite/Scheduler/Errors/onend_wrong_direction.tjp +19 -0
  565. data/test/TestSuite/Scheduler/Errors/onstart_wrong_direction.tjp +18 -0
  566. data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +1 -2
  567. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/boss_2002-03-02.tji +46 -0
  568. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/dev2_2002-03-02.tji +22 -0
  569. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/resources.yml +11 -0
  570. data/test/TestSuite/StatusSheets/StatusSheetTemplates/acceptable_intervals +1 -0
  571. data/test/TestSuite/StatusSheets/sender.log +256 -0
  572. data/test/TestSuite/StatusSheets/statussheets.log +9 -0
  573. data/test/TestSuite/StatusSheets/tj3d.log +395 -0
  574. data/test/TestSuite/Syntax/Correct/Limits-1.tjp +2 -0
  575. data/test/TestSuite/Syntax/Correct/Niku.tjp +6 -1
  576. data/test/TestSuite/Syntax/Correct/Scenario.tjp +4 -1
  577. data/test/TestSuite/Syntax/Correct/Supplement.tjp +12 -5
  578. data/test/TestSuite/Syntax/Correct/TaskPrefix.tji +3 -0
  579. data/test/TestSuite/Syntax/Correct/TaskPrefix.tjp +24 -0
  580. data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -2
  581. data/test/TestSuite/Syntax/Correct/tutorial.tjp +15 -5
  582. data/test/all.rb +2 -4
  583. data/test/test_BatchProcessor.rb +2 -1
  584. data/test/test_CSV-Reports.rb +34 -23
  585. data/test/test_CSVFile.rb +2 -1
  586. data/test/test_CollisionDetector.rb +3 -2
  587. data/test/test_Journal.rb +2 -1
  588. data/test/test_Limits.rb +2 -1
  589. data/test/test_LogicalExpression.rb +2 -1
  590. data/test/test_MacroTable.rb +2 -1
  591. data/test/test_Project.rb +3 -2
  592. data/test/test_ProjectFileScanner.rb +2 -1
  593. data/test/test_PropertySet.rb +2 -1
  594. data/test/test_Query.rb +2 -1
  595. data/test/test_RealFormat.rb +2 -1
  596. data/test/test_ReportGenerator.rb +2 -1
  597. data/test/test_RichText.rb +2 -1
  598. data/test/test_Scheduler.rb +2 -1
  599. data/test/test_ShiftAssignments.rb +2 -1
  600. data/test/test_SimpleQueryExpander.rb +2 -1
  601. data/test/test_Syntax.rb +2 -1
  602. data/test/test_TextFormatter.rb +3 -2
  603. data/test/test_TjTime.rb +2 -1
  604. data/test/test_TjpExample.rb +2 -1
  605. data/test/test_URLParameter.rb +2 -1
  606. data/test/test_UTF8String.rb +2 -1
  607. data/test/test_WorkingHours.rb +2 -1
  608. data/test/test_deep_copy.rb +2 -1
  609. metadata +74 -20
  610. data/doc/StringIO.html +0 -595
  611. data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +0 -46
  612. data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +0 -51
  613. data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +0 -11
@@ -143,6 +143,8 @@
143
143
 
144
144
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
145
145
 
146
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
147
+
146
148
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
147
149
 
148
150
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -221,6 +223,8 @@
221
223
 
222
224
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
223
225
 
226
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
227
+
224
228
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
225
229
 
226
230
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -253,6 +257,8 @@
253
257
 
254
258
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
255
259
 
260
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
261
+
256
262
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
257
263
 
258
264
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -533,6 +539,8 @@
533
539
 
534
540
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
535
541
 
542
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
543
+
536
544
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
537
545
 
538
546
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -559,8 +567,6 @@
559
567
 
560
568
  <li><a href="../String.html">String</a></li>
561
569
 
562
- <li><a href="../StringIO.html">StringIO</a></li>
563
-
564
570
  </ul>
565
571
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
566
572
  </div>
@@ -615,27 +621,27 @@ Create a generator object.
615
621
  <div class="method-source-code"
616
622
  id="new-source">
617
623
  <pre>
618
- <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 22</span>
619
- 22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
620
- 23: <span class="ruby-ivar">@reference</span> = <span class="ruby-constant">SyntaxReference</span>.<span class="ruby-identifier">new</span>
621
- 24:
622
- 25: <span class="ruby-ivar">@properties</span> = []
623
- 26: <span class="ruby-ivar">@attributes</span> = []
624
- 27: <span class="ruby-ivar">@optionBlocks</span> = []
625
- 28:
626
- 29: <span class="ruby-ivar">@reference</span>.<span class="ruby-identifier">keywords</span>.<span class="ruby-identifier">each_value</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">kw</span><span class="ruby-operator">|</span>
627
- 30: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">isProperty?</span>
628
- 31: <span class="ruby-ivar">@properties</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">kw</span>
629
- 32: <span class="ruby-keyword kw">else</span>
630
- 33: <span class="ruby-ivar">@attributes</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">kw</span>
631
- 34: <span class="ruby-keyword kw">end</span>
632
- 35: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">kw</span>.<span class="ruby-identifier">optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
633
- 36: <span class="ruby-ivar">@optionBlocks</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">kw</span>
634
- 37: <span class="ruby-keyword kw">end</span>
635
- 38: <span class="ruby-keyword kw">end</span>
636
- 39:
637
- 40: <span class="ruby-ivar">@file</span> = <span class="ruby-keyword kw">nil</span>
638
- 41: <span class="ruby-keyword kw">end</span></pre>
624
+ <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 23</span>
625
+ 23: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
626
+ 24: <span class="ruby-ivar">@reference</span> = <span class="ruby-constant">SyntaxReference</span>.<span class="ruby-identifier">new</span>
627
+ 25:
628
+ 26: <span class="ruby-ivar">@properties</span> = []
629
+ 27: <span class="ruby-ivar">@attributes</span> = []
630
+ 28: <span class="ruby-ivar">@optionBlocks</span> = []
631
+ 29:
632
+ 30: <span class="ruby-ivar">@reference</span>.<span class="ruby-identifier">keywords</span>.<span class="ruby-identifier">each_value</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">kw</span><span class="ruby-operator">|</span>
633
+ 31: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">isProperty?</span>
634
+ 32: <span class="ruby-ivar">@properties</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">kw</span>
635
+ 33: <span class="ruby-keyword kw">else</span>
636
+ 34: <span class="ruby-ivar">@attributes</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">kw</span>
637
+ 35: <span class="ruby-keyword kw">end</span>
638
+ 36: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">kw</span>.<span class="ruby-identifier">optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
639
+ 37: <span class="ruby-ivar">@optionBlocks</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">kw</span>
640
+ 38: <span class="ruby-keyword kw">end</span>
641
+ 39: <span class="ruby-keyword kw">end</span>
642
+ 40:
643
+ 41: <span class="ruby-ivar">@file</span> = <span class="ruby-keyword kw">nil</span>
644
+ 42: <span class="ruby-keyword kw">end</span></pre>
639
645
  </div>
640
646
 
641
647
  </div>
@@ -674,19 +680,19 @@ Generate the vim syntax file into <em>file</em>.
674
680
  <div class="method-source-code"
675
681
  id="generate-source">
676
682
  <pre>
677
- <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 44</span>
678
- 44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate</span>(<span class="ruby-identifier">file</span>)
679
- 45: <span class="ruby-ivar">@file</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>, <span class="ruby-value str">'w'</span>)
680
- 46:
681
- 47: <span class="ruby-identifier">header</span>
682
- 48: <span class="ruby-identifier">setLocal</span>
683
- 49: <span class="ruby-identifier">keywords</span>
684
- 50: <span class="ruby-identifier">matches</span>
685
- 51: <span class="ruby-identifier">regions</span>
686
- 52: <span class="ruby-identifier">highlights</span>
687
- 53:
688
- 54: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">close</span>
689
- 55: <span class="ruby-keyword kw">end</span></pre>
683
+ <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 45</span>
684
+ 45: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate</span>(<span class="ruby-identifier">file</span>)
685
+ 46: <span class="ruby-ivar">@file</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>, <span class="ruby-value str">'w'</span>)
686
+ 47:
687
+ 48: <span class="ruby-identifier">header</span>
688
+ 49: <span class="ruby-identifier">setLocal</span>
689
+ 50: <span class="ruby-identifier">keywords</span>
690
+ 51: <span class="ruby-identifier">matches</span>
691
+ 52: <span class="ruby-identifier">regions</span>
692
+ 53: <span class="ruby-identifier">highlights</span>
693
+ 54:
694
+ 55: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">close</span>
695
+ 56: <span class="ruby-keyword kw">end</span></pre>
690
696
  </div>
691
697
 
692
698
  </div>
@@ -723,10 +729,10 @@ Generate the vim syntax file into <em>file</em>.
723
729
  <div class="method-source-code"
724
730
  id="header-source">
725
731
  <pre>
726
- <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 59</span>
727
- 59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">header</span>
728
- 60: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">&quot; Vim syntax file&quot; Language: TaskJuggler&quot; Maintainer: TaskJuggler Developers &lt;taskjuggler-devel@googlegroups.com&gt;&quot; Last Change: #{Time.now}&quot; This file was automatically generated by VimSyntax.rbif exists(&quot;b:current_syntax&quot;) finishendif</span>
729
- 61: <span class="ruby-keyword kw">end</span></pre>
732
+ <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 60</span>
733
+ 60: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">header</span>
734
+ 61: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">&quot; Vim syntax file&quot; Language: TaskJuggler&quot; Maintainer: TaskJuggler Developers &lt;taskjuggler-devel@googlegroups.com&gt;&quot; Last Change: #{Time.now}&quot; This file was automatically generated by VimSyntax.rbif exists(&quot;b:current_syntax&quot;) finishendif</span>
735
+ 62: <span class="ruby-keyword kw">end</span></pre>
730
736
  </div>
731
737
 
732
738
  </div>
@@ -757,10 +763,10 @@ Generate the vim syntax file into <em>file</em>.
757
763
  <div class="method-source-code"
758
764
  id="highlights-source">
759
765
  <pre>
760
- <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 194</span>
761
- 194: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">highlights</span>
762
- 195: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">hi def link tjp_macro PreProchi def link tjp_supplement Functionhi def link tjp_project Functionhi def link tjpproperty Functionhi def link tjpattribute Typehi def link tjparg Specialhi def link tjpstring Stringhi def link tjpcomment Commenthi def link tjpmlcomment Commenthi def link tjpinclude Includehi def link tjpdate Constanthi def link tjptime Constanthi def link tjpnumber Numberlet b:current_syntax = &quot;tjp&quot;</span>
763
- 196: <span class="ruby-keyword kw">end</span></pre>
766
+ <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 195</span>
767
+ 195: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">highlights</span>
768
+ 196: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">hi def link tjp_macro PreProchi def link tjp_supplement Functionhi def link tjp_project Functionhi def link tjpproperty Functionhi def link tjpattribute Typehi def link tjparg Specialhi def link tjpstring Stringhi def link tjpcomment Commenthi def link tjpmlcomment Commenthi def link tjpinclude Includehi def link tjpdate Constanthi def link tjptime Constanthi def link tjpnumber Numberlet b:current_syntax = &quot;tjp&quot;</span>
769
+ 197: <span class="ruby-keyword kw">end</span></pre>
764
770
  </div>
765
771
 
766
772
  </div>
@@ -791,44 +797,44 @@ Generate the vim syntax file into <em>file</em>.
791
797
  <div class="method-source-code"
792
798
  id="keywords-source">
793
799
  <pre>
794
- <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 142</span>
795
- 142: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keywords</span>
796
- 143: <span class="ruby-node">%( macro project supplement )</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">kw</span><span class="ruby-operator">|</span>
797
- 144: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;syn keyword tjp_#{kw} #{kw} contained&quot;</span>
798
- 145: <span class="ruby-keyword kw">end</span>
799
- 146: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span>
800
- 147:
801
- 148: <span class="ruby-comment cmt"># Property keywords</span>
802
- 149: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">kw</span><span class="ruby-operator">|</span>
803
- 150: <span class="ruby-identifier">single</span> = <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">names</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
804
- 151: <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">names</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
805
- 152: <span class="ruby-comment cmt"># Ignore the 'supplement' entries. They are not real properties.</span>
806
- 153: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'supplement'</span>
807
- 154: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;syn keyword tjp_#{normalize(kw.keyword)}&quot;</span> <span class="ruby-operator">+</span>
808
- 155: <span class="ruby-node">&quot;#{single ? '' : &quot;_#{name}&quot;} #{name} contained&quot;</span>
809
- 156: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;hi def link tjp_#{normalize(kw.keyword)}&quot;</span> <span class="ruby-operator">+</span>
810
- 157: <span class="ruby-node">&quot;#{single ? '' : &quot;_#{name}&quot;} Function&quot;</span>
811
- 158: <span class="ruby-keyword kw">end</span>
812
- 159: <span class="ruby-keyword kw">end</span>
813
- 160: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span>
814
- 161:
815
- 162: <span class="ruby-comment cmt"># Attribute keywords</span>
816
- 163: <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">kw</span><span class="ruby-operator">|</span>
817
- 164: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-node">%( resourcereport taskreport textreport )</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">kw</span>.<span class="ruby-identifier">keyword</span>)
818
- 165: <span class="ruby-identifier">single</span> = <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">names</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
819
- 166: <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">names</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
820
- 167: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> [ <span class="ruby-value str">'%'</span>, <span class="ruby-value str">'('</span>, <span class="ruby-value str">'~'</span>, <span class="ruby-value str">'include'</span>, <span class="ruby-value str">'macro'</span>, <span class="ruby-value str">'project'</span>,
821
- 168: <span class="ruby-value str">'supplement'</span> ].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">name</span>)
822
- 169: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;syn keyword tjp_#{normalize(kw.keyword)}&quot;</span> <span class="ruby-operator">+</span>
823
- 170: <span class="ruby-node">&quot;#{single ? '' : &quot;_#{name}&quot;} #{name}&quot;</span> <span class="ruby-operator">+</span>
824
- 171: <span class="ruby-node">&quot;#{kw.globalScope? &amp;&amp; !@optionBlocks.include?(kw) ?
825
- 172: '' : ' contained'}&quot;</span>
826
- 173: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;hi def link tjp_#{normalize(kw.keyword)}&quot;</span> <span class="ruby-operator">+</span>
827
- 174: <span class="ruby-node">&quot;#{single ? '' : &quot;_#{name}&quot;} Type&quot;</span>
828
- 175: <span class="ruby-keyword kw">end</span>
829
- 176: <span class="ruby-keyword kw">end</span>
830
- 177: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span>
831
- 178: <span class="ruby-keyword kw">end</span></pre>
800
+ <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 143</span>
801
+ 143: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keywords</span>
802
+ 144: <span class="ruby-node">%( macro project supplement )</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">kw</span><span class="ruby-operator">|</span>
803
+ 145: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;syn keyword tjp_#{kw} #{kw} contained&quot;</span>
804
+ 146: <span class="ruby-keyword kw">end</span>
805
+ 147: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span>
806
+ 148:
807
+ 149: <span class="ruby-comment cmt"># Property keywords</span>
808
+ 150: <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">kw</span><span class="ruby-operator">|</span>
809
+ 151: <span class="ruby-identifier">single</span> = <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">names</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
810
+ 152: <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">names</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
811
+ 153: <span class="ruby-comment cmt"># Ignore the 'supplement' entries. They are not real properties.</span>
812
+ 154: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'supplement'</span>
813
+ 155: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;syn keyword tjp_#{normalize(kw.keyword)}&quot;</span> <span class="ruby-operator">+</span>
814
+ 156: <span class="ruby-node">&quot;#{single ? '' : &quot;_#{name}&quot;} #{name} contained&quot;</span>
815
+ 157: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;hi def link tjp_#{normalize(kw.keyword)}&quot;</span> <span class="ruby-operator">+</span>
816
+ 158: <span class="ruby-node">&quot;#{single ? '' : &quot;_#{name}&quot;} Function&quot;</span>
817
+ 159: <span class="ruby-keyword kw">end</span>
818
+ 160: <span class="ruby-keyword kw">end</span>
819
+ 161: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span>
820
+ 162:
821
+ 163: <span class="ruby-comment cmt"># Attribute keywords</span>
822
+ 164: <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">kw</span><span class="ruby-operator">|</span>
823
+ 165: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-node">%( resourcereport taskreport textreport )</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">kw</span>.<span class="ruby-identifier">keyword</span>)
824
+ 166: <span class="ruby-identifier">single</span> = <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">names</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
825
+ 167: <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">names</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
826
+ 168: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> [ <span class="ruby-value str">'%'</span>, <span class="ruby-value str">'('</span>, <span class="ruby-value str">'~'</span>, <span class="ruby-value str">'include'</span>, <span class="ruby-value str">'macro'</span>, <span class="ruby-value str">'project'</span>,
827
+ 169: <span class="ruby-value str">'supplement'</span> ].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">name</span>)
828
+ 170: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;syn keyword tjp_#{normalize(kw.keyword)}&quot;</span> <span class="ruby-operator">+</span>
829
+ 171: <span class="ruby-node">&quot;#{single ? '' : &quot;_#{name}&quot;} #{name}&quot;</span> <span class="ruby-operator">+</span>
830
+ 172: <span class="ruby-node">&quot;#{kw.globalScope? &amp;&amp; !@optionBlocks.include?(kw) ?
831
+ 173: '' : ' contained'}&quot;</span>
832
+ 174: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;hi def link tjp_#{normalize(kw.keyword)}&quot;</span> <span class="ruby-operator">+</span>
833
+ 175: <span class="ruby-node">&quot;#{single ? '' : &quot;_#{name}&quot;} Type&quot;</span>
834
+ 176: <span class="ruby-keyword kw">end</span>
835
+ 177: <span class="ruby-keyword kw">end</span>
836
+ 178: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span>
837
+ 179: <span class="ruby-keyword kw">end</span></pre>
832
838
  </div>
833
839
 
834
840
  </div>
@@ -859,10 +865,10 @@ Generate the vim syntax file into <em>file</em>.
859
865
  <div class="method-source-code"
860
866
  id="matches-source">
861
867
  <pre>
862
- <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 180</span>
863
- 180: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">matches</span>
864
- 181: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">syn match tjparg contained /\${.*}/syn match tjpcomment /#.*$/syn match tjpcomment &quot;//.*$&quot;syn match tjpinclude /include.*$/syn match tjpnumber /\s[-+]\?\d\+\(\.\d\+\)\?\([hdwmy]\|min\)\?/syn match tjpdate /\s\d\{4}-\d\{1,2}-\d\{1,2}\(-\d\{1,2}:\d\{1,2}\(:\d\{1,2}\)\?\(-[-+]\?\d\{4}\)\?\)\?/syn match tjptime /\s\d\{1,2}:\d\d\(:\d\d\)\?/syn cluster tjpcommon contains=tjpcomment,tjpdate,tjptime,tjpstring,tjpnumber</span>
865
- 182: <span class="ruby-keyword kw">end</span></pre>
868
+ <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 181</span>
869
+ 181: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">matches</span>
870
+ 182: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">syn match tjparg contained /\${.*}/syn match tjpcomment /#.*$/syn match tjpcomment &quot;//.*$&quot;syn match tjpinclude /include.*$/syn match tjpnumber /\s[-+]\?\d\+\(\.\d\+\)\?\([hdwmy]\|min\)\?/syn match tjpdate /\s\d\{4}-\d\{1,2}-\d\{1,2}\(-\d\{1,2}:\d\{1,2}\(:\d\{1,2}\)\?\(-[-+]\?\d\{4}\)\?\)\?/syn match tjptime /\s\d\{1,2}:\d\d\(:\d\d\)\?/syn cluster tjpcommon contains=tjpcomment,tjpdate,tjptime,tjpstring,tjpnumber</span>
871
+ 183: <span class="ruby-keyword kw">end</span></pre>
866
872
  </div>
867
873
 
868
874
  </div>
@@ -893,10 +899,10 @@ Generate the vim syntax file into <em>file</em>.
893
899
  <div class="method-source-code"
894
900
  id="normalize-source">
895
901
  <pre>
896
- <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 215</span>
897
- 215: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">normalize</span>(<span class="ruby-identifier">str</span>)
898
- 216: <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\./</span>, <span class="ruby-value str">'_'</span>)
899
- 217: <span class="ruby-keyword kw">end</span></pre>
902
+ <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 216</span>
903
+ 216: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">normalize</span>(<span class="ruby-identifier">str</span>)
904
+ 217: <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\./</span>, <span class="ruby-value str">'_'</span>)
905
+ 218: <span class="ruby-keyword kw">end</span></pre>
900
906
  </div>
901
907
 
902
908
  </div>
@@ -927,45 +933,45 @@ Generate the vim syntax file into <em>file</em>.
927
933
  <div class="method-source-code"
928
934
  id="regions-source">
929
935
  <pre>
930
- <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 93</span>
931
- 93: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">regions</span>
932
- 94: <span class="ruby-ivar">@optionBlocks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">kw</span><span class="ruby-operator">|</span>
933
- 95: <span class="ruby-identifier">single</span> = <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">names</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
934
- 96: <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">names</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
935
- 97: <span class="ruby-identifier">normalizedName</span> = <span class="ruby-node">&quot;#{normalize(kw.keyword)}&quot;</span> <span class="ruby-operator">+</span>
936
- 98: <span class="ruby-node">&quot;#{single ? '' : &quot;_#{name}&quot;}&quot;</span>
937
- 99: <span class="ruby-identifier">tag</span> = <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'supplement'</span> <span class="ruby-operator">?</span>
938
- 100: <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\./</span>, <span class="ruby-value str">' '</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">name</span>
939
- 101: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot;syn region tjpblk_#{normalizedName}&quot;</span> <span class="ruby-operator">+</span>
940
- 102: <span class="ruby-node">&quot; start=/^\\s*#{tag}\\s.*{/ end=/^\\s*}/ transparent&quot;</span>
941
- 103: <span class="ruby-comment cmt"># We allow properties and special attributes to be folded.</span>
942
- 104: <span class="ruby-identifier">foldable</span> = <span class="ruby-node">%( task.timesheet project )</span>
943
- 105: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">&quot; fold&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">kw</span>) <span class="ruby-operator">||</span>
944
- 106: <span class="ruby-identifier">foldable</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">kw</span>.<span class="ruby-identifier">keyword</span>)
945
- 107: <span class="ruby-comment cmt"># The header is part of the region. So we must make sure that common</span>
946
- 108: <span class="ruby-comment cmt"># parameters and the property/attribute name are contained as well.</span>
947
- 109: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot; contains=@tjpcommon,tjp_#{normalizedName}&quot;</span>
948
- 110: <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">oa</span><span class="ruby-operator">|</span>
949
- 111: <span class="ruby-identifier">tag</span> = <span class="ruby-identifier">normalize</span>(<span class="ruby-identifier">oa</span>.<span class="ruby-identifier">keyword</span>)
950
- 112: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot;,tjp_#{tag}&quot;</span>
951
- 113: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">oa</span>.<span class="ruby-identifier">optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
952
- 114: <span class="ruby-comment cmt"># Option blocks may be contained as block or non-block.</span>
953
- 115: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot;,tjpblk_#{tag}&quot;</span>
954
- 116: <span class="ruby-keyword kw">end</span>
955
- 117: <span class="ruby-keyword kw">end</span>
956
- 118: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'supplement'</span>
957
- 119: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span>(<span class="ruby-value str">',tjp_supplement'</span>)
958
- 120: <span class="ruby-keyword kw">end</span>
959
- 121: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">kw</span>.<span class="ruby-identifier">globalScope?</span>
960
- 122: <span class="ruby-comment cmt"># Every region but a property and 'project' is contained.</span>
961
- 123: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">&quot; contained&quot;</span>
962
- 124: <span class="ruby-keyword kw">end</span>
963
- 125: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span>
964
- 126: <span class="ruby-keyword kw">end</span>
965
- 127: <span class="ruby-keyword kw">end</span>
966
- 128:
967
- 129: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">syn region tjpblk_macro start=/macro\s\+\h\w*\s*\[/ end=/\]$/ transparent fold contains=ALLsyn region tjpstring start=/&quot;/ skip=/\\&quot;/ end=/&quot;/syn region tjpstring start=/'/ skip=/\\'/ end=/'/syn region tjpstring start=/\s-8&lt;-$/ end=/^\s*-&gt;8-/syn region tjpmlcomment start=+/\*+ end=+\*/+syn sync fromstartset foldmethod=syntax</span>
968
- 130: <span class="ruby-keyword kw">end</span></pre>
936
+ <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 94</span>
937
+ 94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">regions</span>
938
+ 95: <span class="ruby-ivar">@optionBlocks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">kw</span><span class="ruby-operator">|</span>
939
+ 96: <span class="ruby-identifier">single</span> = <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">names</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
940
+ 97: <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">names</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
941
+ 98: <span class="ruby-identifier">normalizedName</span> = <span class="ruby-node">&quot;#{normalize(kw.keyword)}&quot;</span> <span class="ruby-operator">+</span>
942
+ 99: <span class="ruby-node">&quot;#{single ? '' : &quot;_#{name}&quot;}&quot;</span>
943
+ 100: <span class="ruby-identifier">tag</span> = <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'supplement'</span> <span class="ruby-operator">?</span>
944
+ 101: <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\./</span>, <span class="ruby-value str">' '</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">name</span>
945
+ 102: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot;syn region tjpblk_#{normalizedName}&quot;</span> <span class="ruby-operator">+</span>
946
+ 103: <span class="ruby-node">&quot; start=/^\\s*#{tag}\\s.*{/ end=/^\\s*}/ transparent&quot;</span>
947
+ 104: <span class="ruby-comment cmt"># We allow properties and special attributes to be folded.</span>
948
+ 105: <span class="ruby-identifier">foldable</span> = <span class="ruby-node">%( task.timesheet project )</span>
949
+ 106: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">&quot; fold&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@properties</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">kw</span>) <span class="ruby-operator">||</span>
950
+ 107: <span class="ruby-identifier">foldable</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">kw</span>.<span class="ruby-identifier">keyword</span>)
951
+ 108: <span class="ruby-comment cmt"># The header is part of the region. So we must make sure that common</span>
952
+ 109: <span class="ruby-comment cmt"># parameters and the property/attribute name are contained as well.</span>
953
+ 110: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot; contains=@tjpcommon,tjp_#{normalizedName}&quot;</span>
954
+ 111: <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">oa</span><span class="ruby-operator">|</span>
955
+ 112: <span class="ruby-identifier">tag</span> = <span class="ruby-identifier">normalize</span>(<span class="ruby-identifier">oa</span>.<span class="ruby-identifier">keyword</span>)
956
+ 113: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot;,tjp_#{tag}&quot;</span>
957
+ 114: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">oa</span>.<span class="ruby-identifier">optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
958
+ 115: <span class="ruby-comment cmt"># Option blocks may be contained as block or non-block.</span>
959
+ 116: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot;,tjpblk_#{tag}&quot;</span>
960
+ 117: <span class="ruby-keyword kw">end</span>
961
+ 118: <span class="ruby-keyword kw">end</span>
962
+ 119: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'supplement'</span>
963
+ 120: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span>(<span class="ruby-value str">',tjp_supplement'</span>)
964
+ 121: <span class="ruby-keyword kw">end</span>
965
+ 122: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">kw</span>.<span class="ruby-identifier">globalScope?</span>
966
+ 123: <span class="ruby-comment cmt"># Every region but a property and 'project' is contained.</span>
967
+ 124: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">&quot; contained&quot;</span>
968
+ 125: <span class="ruby-keyword kw">end</span>
969
+ 126: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">puts</span>
970
+ 127: <span class="ruby-keyword kw">end</span>
971
+ 128: <span class="ruby-keyword kw">end</span>
972
+ 129:
973
+ 130: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">syn region tjpblk_macro start=/macro\s\+\h\w*\s*\[/ end=/\]$/ transparent fold contains=ALLsyn region tjpstring start=/&quot;/ skip=/\\&quot;/ end=/&quot;/syn region tjpstring start=/'/ skip=/\\'/ end=/'/syn region tjpstring start=/\s-8&lt;-$/ end=/^\s*-&gt;8-/syn region tjpmlcomment start=+/\*+ end=+\*/+syn sync fromstartset foldmethod=syntax</span>
974
+ 131: <span class="ruby-keyword kw">end</span></pre>
969
975
  </div>
970
976
 
971
977
  </div>
@@ -996,15 +1002,15 @@ Generate the vim syntax file into <em>file</em>.
996
1002
  <div class="method-source-code"
997
1003
  id="set-ocal-source">
998
1004
  <pre>
999
- <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 74</span>
1000
- 74: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setLocal</span>
1001
- 75: <span class="ruby-identifier">cinwords</span> = []
1002
- 76: <span class="ruby-ivar">@optionBlocks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">kw</span><span class="ruby-operator">|</span> <span class="ruby-identifier">cinwords</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">names</span> }
1003
- 77: <span class="ruby-identifier">cinwords</span>.<span class="ruby-identifier">uniq!</span>.<span class="ruby-identifier">sort!</span>
1004
- 78: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">setlocal softtabstop=2setlocal cindent shiftwidth=2setlocal tabstop=2setlocal expandtabsetlocal cinoptions=g0,t0,+0,(0,c0,C1</span>
1005
- 79: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot;setlocal cinwords=#{cinwords.join(',')}\n&quot;</span>
1006
- 80: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">setlocal cinkeys=0{,0},!^F,o,Osetlocal cindent</span>
1007
- 81: <span class="ruby-keyword kw">end</span></pre>
1005
+ <span class="ruby-comment cmt"># File lib/VimSyntax.rb, line 75</span>
1006
+ 75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setLocal</span>
1007
+ 76: <span class="ruby-identifier">cinwords</span> = []
1008
+ 77: <span class="ruby-ivar">@optionBlocks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">kw</span><span class="ruby-operator">|</span> <span class="ruby-identifier">cinwords</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">kw</span>.<span class="ruby-identifier">names</span> }
1009
+ 78: <span class="ruby-identifier">cinwords</span>.<span class="ruby-identifier">uniq!</span>.<span class="ruby-identifier">sort!</span>
1010
+ 79: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">setlocal softtabstop=2setlocal cindent shiftwidth=2setlocal tabstop=2setlocal expandtabsetlocal cinoptions=g0,t0,+0,(0,c0,C1</span>
1011
+ 80: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot;setlocal cinwords=#{cinwords.join(',')}\n&quot;</span>
1012
+ 81: <span class="ruby-ivar">@file</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">setlocal cinkeys=0{,0},!^F,o,Osetlocal cindent</span>
1013
+ 82: <span class="ruby-keyword kw">end</span></pre>
1008
1014
  </div>
1009
1015
 
1010
1016
  </div>
@@ -129,6 +129,8 @@
129
129
 
130
130
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
131
131
 
132
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
133
+
132
134
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
133
135
 
134
136
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -207,6 +209,8 @@
207
209
 
208
210
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
209
211
 
212
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
213
+
210
214
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
211
215
 
212
216
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -239,6 +243,8 @@
239
243
 
240
244
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
241
245
 
246
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
247
+
242
248
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
243
249
 
244
250
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -519,6 +525,8 @@
519
525
 
520
526
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
521
527
 
528
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
529
+
522
530
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
523
531
 
524
532
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -545,8 +553,6 @@
545
553
 
546
554
  <li><a href="../String.html">String</a></li>
547
555
 
548
- <li><a href="../StringIO.html">StringIO</a></li>
549
-
550
556
  </ul>
551
557
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
552
558
  </div>
@@ -622,35 +628,36 @@ Create a web server object that runs in a separate thread.
622
628
  <div class="method-source-code"
623
629
  id="new-source">
624
630
  <pre>
625
- <span class="ruby-comment cmt"># File lib/daemon/WebServer.rb, line 34</span>
626
- 34: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">broker</span>, <span class="ruby-identifier">port</span>)
627
- 35: <span class="ruby-ivar">@log</span> = <span class="ruby-constant">LogFile</span>.<span class="ruby-identifier">instance</span>
628
- 36: <span class="ruby-ivar">@broker</span> = <span class="ruby-identifier">broker</span>
629
- 37:
630
- 38: <span class="ruby-identifier">config</span> = { <span class="ruby-value">:Port</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">port</span> }
631
- 39: <span class="ruby-ivar">@server</span> = <span class="ruby-constant">WEBrick</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTPServer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">config</span>)
632
- 40: <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">mount</span>(<span class="ruby-value str">'/taskjuggler'</span>, <span class="ruby-constant">ReportServlet</span>, <span class="ruby-ivar">@broker</span>)
633
- 41:
634
- 42: <span class="ruby-comment cmt"># Serve some directories via the FileHandler servlet.</span>
635
- 43: <span class="ruby-node">%( css icons scripts )</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir</span><span class="ruby-operator">|</span>
636
- 44: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">fullDir</span> = <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataDirs</span>(<span class="ruby-node">&quot;data/#{dir}&quot;</span>)[<span class="ruby-value">0</span>])
637
- 45: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">fatal</span>(<span class="ruby-value str">Cannot find the #{dir} directory. This is usually the result of animproper TaskJuggler installation. If you know the directory, you can use theTASKJUGGLER_DATA_PATH environment variable to specify the location. Thevariable should be set to the path without the /data at the end. Multipledirectories must be separated by colons.</span>
638
- 46: )
639
- 47: <span class="ruby-keyword kw">end</span>
640
- 48: <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">mount</span>(<span class="ruby-node">&quot;/#{dir}&quot;</span>, <span class="ruby-constant">WEBrick</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTPServlet</span><span class="ruby-operator">::</span><span class="ruby-constant">FileHandler</span>, <span class="ruby-identifier">fullDir</span>)
641
- 49: <span class="ruby-keyword kw">end</span>
642
- 50:
643
- 51: <span class="ruby-comment cmt"># Start the web server in a new thread so we don't block this thread.</span>
644
- 52: <span class="ruby-ivar">@thread</span> = <span class="ruby-constant">Thread</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span>
645
- 53: <span class="ruby-keyword kw">begin</span>
646
- 54: <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">start</span>
647
- 55: <span class="ruby-keyword kw">rescue</span>
648
- 56: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">print</span> <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">to_s</span>
649
- 57: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">print</span> <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">backtrace</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>)
650
- 58: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">fatal</span>(<span class="ruby-node">&quot;Web server error: #{$!}&quot;</span>)
651
- 59: <span class="ruby-keyword kw">end</span>
652
- 60: <span class="ruby-keyword kw">end</span>
653
- 61: <span class="ruby-keyword kw">end</span></pre>
631
+ <span class="ruby-comment cmt"># File lib/daemon/WebServer.rb, line 32</span>
632
+ 32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">broker</span>, <span class="ruby-identifier">port</span>)
633
+ 33: <span class="ruby-ivar">@log</span> = <span class="ruby-constant">LogFile</span>.<span class="ruby-identifier">instance</span>
634
+ 34: <span class="ruby-ivar">@broker</span> = <span class="ruby-identifier">broker</span>
635
+ 35:
636
+ 36: <span class="ruby-identifier">config</span> = { <span class="ruby-value">:Port</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">port</span> }
637
+ 37: <span class="ruby-ivar">@server</span> = <span class="ruby-constant">WEBrick</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTPServer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">config</span>)
638
+ 38: <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">mount</span>(<span class="ruby-value str">'/'</span>, <span class="ruby-constant">WelcomePage</span>, <span class="ruby-keyword kw">nil</span>)
639
+ 39: <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">mount</span>(<span class="ruby-value str">'/taskjuggler'</span>, <span class="ruby-constant">ReportServlet</span>, <span class="ruby-ivar">@broker</span>)
640
+ 40:
641
+ 41: <span class="ruby-comment cmt"># Serve some directories via the FileHandler servlet.</span>
642
+ 42: <span class="ruby-node">%( css icons scripts )</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir</span><span class="ruby-operator">|</span>
643
+ 43: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">fullDir</span> = <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataDirs</span>(<span class="ruby-node">&quot;data/#{dir}&quot;</span>)[<span class="ruby-value">0</span>])
644
+ 44: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">fatal</span>(<span class="ruby-value str">Cannot find the #{dir} directory. This is usually the result of animproper TaskJuggler installation. If you know the directory, you can use theTASKJUGGLER_DATA_PATH environment variable to specify the location. Thevariable should be set to the path without the /data at the end. Multipledirectories must be separated by colons.</span>
645
+ 45: )
646
+ 46: <span class="ruby-keyword kw">end</span>
647
+ 47: <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">mount</span>(<span class="ruby-node">&quot;/#{dir}&quot;</span>, <span class="ruby-constant">WEBrick</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTPServlet</span><span class="ruby-operator">::</span><span class="ruby-constant">FileHandler</span>, <span class="ruby-identifier">fullDir</span>)
648
+ 48: <span class="ruby-keyword kw">end</span>
649
+ 49:
650
+ 50: <span class="ruby-comment cmt"># Start the web server in a new thread so we don't block this thread.</span>
651
+ 51: <span class="ruby-ivar">@thread</span> = <span class="ruby-constant">Thread</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span>
652
+ 52: <span class="ruby-keyword kw">begin</span>
653
+ 53: <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">start</span>
654
+ 54: <span class="ruby-keyword kw">rescue</span>
655
+ 55: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">print</span> <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">to_s</span>
656
+ 56: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">print</span> <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">backtrace</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>)
657
+ 57: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">fatal</span>(<span class="ruby-node">&quot;Web server error: #{$!}&quot;</span>)
658
+ 58: <span class="ruby-keyword kw">end</span>
659
+ 59: <span class="ruby-keyword kw">end</span>
660
+ 60: <span class="ruby-keyword kw">end</span></pre>
654
661
  </div>
655
662
 
656
663
  </div>
@@ -689,14 +696,14 @@ Stop the web server.
689
696
  <div class="method-source-code"
690
697
  id="stop-source">
691
698
  <pre>
692
- <span class="ruby-comment cmt"># File lib/daemon/WebServer.rb, line 70</span>
693
- 70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stop</span>
694
- 71: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@server</span>
695
- 72: <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">shutdown</span>
696
- 73: <span class="ruby-ivar">@server</span> = <span class="ruby-keyword kw">nil</span>
697
- 74: <span class="ruby-ivar">@thread</span>.<span class="ruby-identifier">join</span>
698
- 75: <span class="ruby-keyword kw">end</span>
699
- 76: <span class="ruby-keyword kw">end</span></pre>
699
+ <span class="ruby-comment cmt"># File lib/daemon/WebServer.rb, line 69</span>
700
+ 69: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stop</span>
701
+ 70: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@server</span>
702
+ 71: <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">shutdown</span>
703
+ 72: <span class="ruby-ivar">@server</span> = <span class="ruby-keyword kw">nil</span>
704
+ 73: <span class="ruby-ivar">@thread</span>.<span class="ruby-identifier">join</span>
705
+ 74: <span class="ruby-keyword kw">end</span>
706
+ 75: <span class="ruby-keyword kw">end</span></pre>
700
707
  </div>
701
708
 
702
709
  </div>