doc/TaskJuggler/Tj3Client.html in taskjuggler-0.0.8 vs doc/TaskJuggler/Tj3Client.html in taskjuggler-0.0.9
- old
+ new
@@ -77,18 +77,14 @@
<li><a href="#method-i-checkCommand">#checkCommand</a></li>
<li><a href="#method-i-connectDaemon">#connectDaemon</a></li>
- <li><a href="#method-i-connectToProjectServer">#connectToProjectServer</a></li>
-
<li><a href="#method-i-connectToReportServer">#connectToReportServer</a></li>
<li><a href="#method-i-disconnectDaemon">#disconnectDaemon</a></li>
- <li><a href="#method-i-disconnectProjectServer">#disconnectProjectServer</a></li>
-
<li><a href="#method-i-disconnectReportServer">#disconnectReportServer</a></li>
<li><a href="#method-i-error">#error</a></li>
<li><a href="#method-i-executeCommand">#executeCommand</a></li>
@@ -155,10 +151,12 @@
<li><a href="../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
+
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
<li><a href="../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
@@ -233,10 +231,12 @@
<li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
+
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
<li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
@@ -265,10 +265,12 @@
<li><a href="../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
+
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
<li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
@@ -545,10 +547,12 @@
<li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
+
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
<li><a href="../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
@@ -571,12 +575,10 @@
<li><a href="../RuntimeConfig.html">RuntimeConfig</a></li>
<li><a href="../String.html">String</a></li>
- <li><a href="../StringIO.html">StringIO</a></li>
-
</ul>
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
</div>
@@ -628,74 +630,76 @@
<div class="method-source-code"
id="new-source">
<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 30</span>
-30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
-31: <span class="ruby-keyword kw">super</span>
-32:
-33: <span class="ruby-comment cmt"># For security reasons, this will probably not change. All DRb</span>
-34: <span class="ruby-comment cmt"># operations are limited to localhost only. The client and the sever</span>
-35: <span class="ruby-comment cmt"># must have access to the identical file system.</span>
-36: <span class="ruby-ivar">@host</span> = <span class="ruby-value str">'127.0.0.1'</span>
-37: <span class="ruby-comment cmt"># The default port. 'T' and 'J' in ASCII decimal</span>
-38: <span class="ruby-ivar">@port</span> = <span class="ruby-value">8474</span>
-39: <span class="ruby-comment cmt"># The file with the server URI in case port is 0.</span>
-40: <span class="ruby-ivar">@uriFile</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">getwd</span>, <span class="ruby-value str">'.tj3d.uri'</span>)
-41: <span class="ruby-comment cmt"># This must must be changed for the communication to work.</span>
-42: <span class="ruby-ivar">@authKey</span> = <span class="ruby-keyword kw">nil</span>
-43: <span class="ruby-comment cmt"># Determines whether report IDs are fix IDs or regular expressions that</span>
-44: <span class="ruby-comment cmt"># match a set of reports.</span>
-45: <span class="ruby-ivar">@regExpMode</span> = <span class="ruby-keyword kw">false</span>
-46:
-47: <span class="ruby-ivar">@mandatoryArgs</span> = <span class="ruby-value str">'<command> [arg1 arg2 ...]'</span>
-48:
-49: <span class="ruby-comment cmt"># This list describes the supported command line commands and their</span>
-50: <span class="ruby-comment cmt"># parameter.</span>
-51: <span class="ruby-comment cmt"># :label : The command name</span>
-52: <span class="ruby-comment cmt"># :args : A list of parameters. If the first character is a '+' the</span>
-53: <span class="ruby-comment cmt"># parameter must be provided 1 or more times. If the first character is</span>
-54: <span class="ruby-comment cmt"># a '*' the parameter must be provided 0 or more times. Repeatable and</span>
-55: <span class="ruby-comment cmt"># optional paramters must follow the mandatory ones.</span>
-56: <span class="ruby-comment cmt"># :descr : A short description of the command used for the help text.</span>
-57: <span class="ruby-ivar">@commands</span> = [
-58: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'status'</span>,
-59: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [],
-60: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Display the status of the available projects'</span> },
-61: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'terminate'</span>,
+ <span class="ruby-comment cmt"># File lib/tj3client.rb, line 31</span>
+31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
+32: <span class="ruby-keyword kw">super</span>
+33:
+34: <span class="ruby-comment cmt"># For security reasons, this will probably not change. All DRb</span>
+35: <span class="ruby-comment cmt"># operations are limited to localhost only. The client and the sever</span>
+36: <span class="ruby-comment cmt"># must have access to the identical file system.</span>
+37: <span class="ruby-ivar">@host</span> = <span class="ruby-value str">'127.0.0.1'</span>
+38: <span class="ruby-comment cmt"># The default port. 'T' and 'J' in ASCII decimal</span>
+39: <span class="ruby-ivar">@port</span> = <span class="ruby-value">8474</span>
+40: <span class="ruby-comment cmt"># The file with the server URI in case port is 0.</span>
+41: <span class="ruby-ivar">@uriFile</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">getwd</span>, <span class="ruby-value str">'.tj3d.uri'</span>)
+42: <span class="ruby-comment cmt"># This must must be changed for the communication to work.</span>
+43: <span class="ruby-ivar">@authKey</span> = <span class="ruby-keyword kw">nil</span>
+44: <span class="ruby-comment cmt"># Determines whether report IDs are fix IDs or regular expressions that</span>
+45: <span class="ruby-comment cmt"># match a set of reports.</span>
+46: <span class="ruby-ivar">@regExpMode</span> = <span class="ruby-keyword kw">false</span>
+47: <span class="ruby-comment cmt"># List of requested output formats for reports.</span>
+48: <span class="ruby-ivar">@formats</span> = <span class="ruby-keyword kw">nil</span>
+49:
+50: <span class="ruby-ivar">@mandatoryArgs</span> = <span class="ruby-value str">'<command> [arg1 arg2 ...]'</span>
+51:
+52: <span class="ruby-comment cmt"># This list describes the supported command line commands and their</span>
+53: <span class="ruby-comment cmt"># parameter.</span>
+54: <span class="ruby-comment cmt"># :label : The command name</span>
+55: <span class="ruby-comment cmt"># :args : A list of parameters. If the first character is a '+' the</span>
+56: <span class="ruby-comment cmt"># parameter must be provided 1 or more times. If the first character is</span>
+57: <span class="ruby-comment cmt"># a '*' the parameter must be provided 0 or more times. Repeatable and</span>
+58: <span class="ruby-comment cmt"># optional paramters must follow the mandatory ones.</span>
+59: <span class="ruby-comment cmt"># :descr : A short description of the command used for the help text.</span>
+60: <span class="ruby-ivar">@commands</span> = [
+61: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'status'</span>,
62: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [],
-63: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Terminate the TaskJuggler daemon'</span> },
-64: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'add'</span>,
-65: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'tjp file'</span>, <span class="ruby-value str">'*tji file'</span>],
-66: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Add a new project or update and existing one'</span> },
-67: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'update'</span>,
-68: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [],
-69: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Reload all projects that have modified files and '</span><span class="ruby-operator">+</span>
-70: <span class="ruby-value str">'are not being reloaded already'</span> },
-71: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'remove'</span>,
-72: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'+project ID'</span> ],
-73: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Remove the project with the specified ID from the '</span> <span class="ruby-operator">+</span>
-74: <span class="ruby-value str">'daemon'</span> },
-75: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'report'</span>,
-76: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'project ID'</span>, <span class="ruby-value str">'+report ID'</span>, <span class="ruby-value str">'!='</span>, <span class="ruby-value str">'*tji file'</span>],
-77: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Generate the report with the provided ID for '</span> <span class="ruby-operator">+</span>
-78: <span class="ruby-value str">'the project with the given ID'</span>},
-79: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'list-reports'</span>,
-80: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'project ID'</span>, <span class="ruby-value str">'!report ID'</span> ],
-81: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'List all available reports of the project or those '</span> <span class="ruby-operator">+</span>
-82: <span class="ruby-value str">'that match the provided report ID'</span> },
-83: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'check-ts'</span>,
-84: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'project ID'</span>, <span class="ruby-value str">'time sheet'</span> ],
-85: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Check the provided time sheet for correctness '</span> <span class="ruby-operator">+</span>
-86: <span class="ruby-value str">'against the project with the given ID'</span>},
-87: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'check-ss'</span>,
-88: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'project ID'</span>, <span class="ruby-value str">'status sheet'</span> ],
-89: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Check the provided status sheet for correctness '</span> <span class="ruby-operator">+</span>
-90: <span class="ruby-value str">'against the project with the given ID'</span>}
-91: ]
-92: <span class="ruby-keyword kw">end</span></pre>
+63: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Display the status of the available projects'</span> },
+64: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'terminate'</span>,
+65: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [],
+66: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Terminate the TaskJuggler daemon'</span> },
+67: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'add'</span>,
+68: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'tjp file'</span>, <span class="ruby-value str">'*tji file'</span>],
+69: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Add a new project or update and existing one'</span> },
+70: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'update'</span>,
+71: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [],
+72: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Reload all projects that have modified files and '</span><span class="ruby-operator">+</span>
+73: <span class="ruby-value str">'are not being reloaded already'</span> },
+74: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'remove'</span>,
+75: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'+project ID'</span> ],
+76: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Remove the project with the specified ID from the '</span> <span class="ruby-operator">+</span>
+77: <span class="ruby-value str">'daemon'</span> },
+78: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'report'</span>,
+79: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'project ID'</span>, <span class="ruby-value str">'+report ID'</span>, <span class="ruby-value str">'!='</span>, <span class="ruby-value str">'*tji file'</span>],
+80: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Generate the report with the provided ID for '</span> <span class="ruby-operator">+</span>
+81: <span class="ruby-value str">'the project with the given ID'</span>},
+82: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'list-reports'</span>,
+83: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'project ID'</span>, <span class="ruby-value str">'!report ID'</span> ],
+84: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'List all available reports of the project or those '</span> <span class="ruby-operator">+</span>
+85: <span class="ruby-value str">'that match the provided report ID'</span> },
+86: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'check-ts'</span>,
+87: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'project ID'</span>, <span class="ruby-value str">'time sheet'</span> ],
+88: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Check the provided time sheet for correctness '</span> <span class="ruby-operator">+</span>
+89: <span class="ruby-value str">'against the project with the given ID'</span>},
+90: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'check-ss'</span>,
+91: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'project ID'</span>, <span class="ruby-value str">'status sheet'</span> ],
+92: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Check the provided status sheet for correctness '</span> <span class="ruby-operator">+</span>
+93: <span class="ruby-value str">'against the project with the given ID'</span>}
+94: ]
+95: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -728,25 +732,25 @@
<div class="method-source-code"
id="main-source">
<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 141</span>
-141: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">main</span>
-142: <span class="ruby-identifier">args</span> = <span class="ruby-keyword kw">super</span>
-143: <span class="ruby-comment cmt"># Run a first check of the non-option command line arguments.</span>
-144: <span class="ruby-identifier">checkCommand</span>(<span class="ruby-identifier">args</span>)
-145: <span class="ruby-comment cmt"># Read some configuration variables. Except for the authKey, they are</span>
-146: <span class="ruby-comment cmt"># all optional.</span>
-147: <span class="ruby-ivar">@rc</span>.<span class="ruby-identifier">configure</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-value str">'global'</span>)
-148:
-149: <span class="ruby-identifier">connectDaemon</span>
-150: <span class="ruby-identifier">retVal</span> = <span class="ruby-identifier">executeCommand</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>])
-151: <span class="ruby-identifier">disconnectDaemon</span>
-152:
-153: <span class="ruby-identifier">retVal</span>
-154: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/tj3client.rb, line 153</span>
+153: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">main</span>
+154: <span class="ruby-identifier">args</span> = <span class="ruby-keyword kw">super</span>
+155: <span class="ruby-comment cmt"># Run a first check of the non-option command line arguments.</span>
+156: <span class="ruby-identifier">checkCommand</span>(<span class="ruby-identifier">args</span>)
+157: <span class="ruby-comment cmt"># Read some configuration variables. Except for the authKey, they are</span>
+158: <span class="ruby-comment cmt"># all optional.</span>
+159: <span class="ruby-ivar">@rc</span>.<span class="ruby-identifier">configure</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-value str">'global'</span>)
+160:
+161: <span class="ruby-identifier">connectDaemon</span>
+162: <span class="ruby-identifier">retVal</span> = <span class="ruby-identifier">executeCommand</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>])
+163: <span class="ruby-identifier">disconnectDaemon</span>
+164:
+165: <span class="ruby-identifier">retVal</span>
+166: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -773,51 +777,60 @@
<div class="method-source-code"
id="process-rguments-source">
<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 94</span>
- 94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">processArguments</span>(<span class="ruby-identifier">argv</span>)
- 95: <span class="ruby-keyword kw">super</span> <span class="ruby-keyword kw">do</span>
- 96: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">banner</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">The TaskJuggler client is used to send commands and data to the TaskJugglerdaemon. The communication is done via TCP/IP.The following commands are supported:</span>
- 97:
- 98: <span class="ruby-comment cmt"># Convert the command list into a help text.</span>
- 99: <span class="ruby-ivar">@commands</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cmd</span><span class="ruby-operator">|</span>
-100: <span class="ruby-identifier">tail</span> = <span class="ruby-value str">''</span>
-101: <span class="ruby-identifier">args</span> = <span class="ruby-identifier">cmd</span>[<span class="ruby-value">:args</span>].<span class="ruby-identifier">dup</span>
-102: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">map!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
-103: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">c</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'*'</span>
-104: <span class="ruby-node">"[<#{c[1..-1]}> ...]"</span>
-105: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">c</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'+'</span>
-106: <span class="ruby-node">"<#{c[1..-1]}> [<#{c[1..-1]}> ...]"</span>
-107: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">c</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'!'</span>
-108: <span class="ruby-identifier">tail</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">']'</span>
-109: <span class="ruby-node">"[#{c[1..-1]} "</span>
-110: <span class="ruby-keyword kw">else</span>
-111: <span class="ruby-node">"<#{c}>"</span>
-112: <span class="ruby-keyword kw">end</span>
-113: <span class="ruby-keyword kw">end</span>
-114: <span class="ruby-identifier">args</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>)
-115: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">banner</span> <span class="ruby-operator">+=</span> <span class="ruby-node">" #{cmd[:label] + ' ' + args + tail}"</span> <span class="ruby-operator">+</span>
-116: <span class="ruby-node">"\n\n#{' ' * 10 + format(cmd[:descr], 10)}\n"</span>
-117: <span class="ruby-keyword kw">end</span>
-118: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-p'</span>, <span class="ruby-value str">'--port <NUMBER>'</span>, <span class="ruby-constant">Integer</span>,
-119: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Use the specified TCP/IP port'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
-120: <span class="ruby-ivar">@port</span> = <span class="ruby-identifier">arg</span>
-121: <span class="ruby-keyword kw">end</span>
-122: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--urifile'</span>, <span class="ruby-constant">String</span>,
-123: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'If the port is 0, use this file to get the URI '</span> <span class="ruby-operator">+</span>
-124: <span class="ruby-value str">'of the server.'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
-125: <span class="ruby-ivar">@uriFile</span> = <span class="ruby-identifier">arg</span>
-126: <span class="ruby-keyword kw">end</span>
-127: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-r'</span>, <span class="ruby-value str">'--regexp'</span>,
-128: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'The report IDs are not fixed but regular expressions '</span> <span class="ruby-operator">+</span>
-129: <span class="ruby-value str">'that match a set of reports'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
-130: <span class="ruby-ivar">@regExpMode</span> = <span class="ruby-keyword kw">true</span>
-131: <span class="ruby-keyword kw">end</span>
-132: <span class="ruby-keyword kw">end</span>
-133: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/tj3client.rb, line 97</span>
+ 97: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">processArguments</span>(<span class="ruby-identifier">argv</span>)
+ 98: <span class="ruby-keyword kw">super</span> <span class="ruby-keyword kw">do</span>
+ 99: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">banner</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">The TaskJuggler client is used to send commands and data to the TaskJugglerdaemon. The communication is done via TCP/IP.The following commands are supported:</span>
+100:
+101: <span class="ruby-comment cmt"># Convert the command list into a help text.</span>
+102: <span class="ruby-ivar">@commands</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cmd</span><span class="ruby-operator">|</span>
+103: <span class="ruby-identifier">tail</span> = <span class="ruby-value str">''</span>
+104: <span class="ruby-identifier">args</span> = <span class="ruby-identifier">cmd</span>[<span class="ruby-value">:args</span>].<span class="ruby-identifier">dup</span>
+105: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">map!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
+106: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">c</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'*'</span>
+107: <span class="ruby-node">"[<#{c[1..-1]}> ...]"</span>
+108: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">c</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'+'</span>
+109: <span class="ruby-node">"<#{c[1..-1]}> [<#{c[1..-1]}> ...]"</span>
+110: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">c</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'!'</span>
+111: <span class="ruby-identifier">tail</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">']'</span>
+112: <span class="ruby-node">"[#{c[1..-1]} "</span>
+113: <span class="ruby-keyword kw">else</span>
+114: <span class="ruby-node">"<#{c}>"</span>
+115: <span class="ruby-keyword kw">end</span>
+116: <span class="ruby-keyword kw">end</span>
+117: <span class="ruby-identifier">args</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>)
+118: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">banner</span> <span class="ruby-operator">+=</span> <span class="ruby-node">" #{cmd[:label] + ' ' + args + tail}"</span> <span class="ruby-operator">+</span>
+119: <span class="ruby-node">"\n\n#{' ' * 10 + format(cmd[:descr], 10)}\n"</span>
+120: <span class="ruby-keyword kw">end</span>
+121: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-p'</span>, <span class="ruby-value str">'--port <NUMBER>'</span>, <span class="ruby-constant">Integer</span>,
+122: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Use the specified TCP/IP port'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
+123: <span class="ruby-ivar">@port</span> = <span class="ruby-identifier">arg</span>
+124: <span class="ruby-keyword kw">end</span>
+125: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--urifile'</span>, <span class="ruby-constant">String</span>,
+126: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'If the port is 0, use this file to get the URI '</span> <span class="ruby-operator">+</span>
+127: <span class="ruby-value str">'of the server.'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
+128: <span class="ruby-ivar">@uriFile</span> = <span class="ruby-identifier">arg</span>
+129: <span class="ruby-keyword kw">end</span>
+130: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-r'</span>, <span class="ruby-value str">'--regexp'</span>,
+131: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'The report IDs are not fixed but regular expressions '</span> <span class="ruby-operator">+</span>
+132: <span class="ruby-value str">'that match a set of reports'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
+133: <span class="ruby-ivar">@regExpMode</span> = <span class="ruby-keyword kw">true</span>
+134: <span class="ruby-keyword kw">end</span>
+135: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--format [FORMAT]'</span>, [ <span class="ruby-value">:csv</span>, <span class="ruby-value">:html</span>, <span class="ruby-value">:niku</span>, <span class="ruby-value">:tjp</span> ],
+136: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Request the report to be generated in the specified'</span> <span class="ruby-operator">+</span>
+137: <span class="ruby-value str">'format. Use multiple options to request multiple '</span> <span class="ruby-operator">+</span>
+138: <span class="ruby-value str">'formats. Supported formats are csv, html, niku and '</span> <span class="ruby-operator">+</span>
+139: <span class="ruby-value str">'tjp. By default, the formats specified in the report '</span> <span class="ruby-operator">+</span>
+140: <span class="ruby-value str">'definition are used.'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
+141: <span class="ruby-ivar">@formats</span> = [] <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@formats</span>
+142: <span class="ruby-ivar">@formats</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">arg</span>
+143: <span class="ruby-keyword kw">end</span>
+144: <span class="ruby-keyword kw">end</span>
+145: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -852,23 +865,23 @@
<div class="method-source-code"
id="add-iles-source">
<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 446</span>
-446: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addFiles</span>(<span class="ruby-identifier">tjiFiles</span>)
-447: <span class="ruby-identifier">tjiFiles</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
-448: <span class="ruby-keyword kw">begin</span>
-449: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">addFile</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">file</span>)
-450: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
-451: <span class="ruby-keyword kw">end</span>
-452: <span class="ruby-keyword kw">rescue</span>
-453: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Cannot add file #{file} to ReportServer"</span>)
-454: <span class="ruby-keyword kw">end</span>
-455: <span class="ruby-keyword kw">end</span>
-456: <span class="ruby-keyword kw">true</span>
-457: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/tj3client.rb, line 429</span>
+429: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addFiles</span>(<span class="ruby-identifier">tjiFiles</span>)
+430: <span class="ruby-identifier">tjiFiles</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
+431: <span class="ruby-keyword kw">begin</span>
+432: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">addFile</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">file</span>)
+433: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
+434: <span class="ruby-keyword kw">end</span>
+435: <span class="ruby-keyword kw">rescue</span>
+436: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Cannot add file #{file} to ReportServer"</span>)
+437: <span class="ruby-keyword kw">end</span>
+438: <span class="ruby-keyword kw">end</span>
+439: <span class="ruby-keyword kw">true</span>
+440: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -899,19 +912,19 @@
<div class="method-source-code"
id="call-aemon-source">
<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 415</span>
-415: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">callDaemon</span>(<span class="ruby-identifier">command</span>, <span class="ruby-identifier">args</span>)
-416: <span class="ruby-keyword kw">begin</span>
-417: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">command</span>(<span class="ruby-ivar">@authKey</span>, <span class="ruby-identifier">command</span>, <span class="ruby-identifier">args</span>)
-418: <span class="ruby-keyword kw">rescue</span>
-419: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Call to TaskJuggler server on host '#{@host}' "</span> <span class="ruby-operator">+</span>
-420: <span class="ruby-node">"port #{@port} failed: #{$!}"</span>)
-421: <span class="ruby-keyword kw">end</span>
-422: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/tj3client.rb, line 398</span>
+398: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">callDaemon</span>(<span class="ruby-identifier">command</span>, <span class="ruby-identifier">args</span>)
+399: <span class="ruby-keyword kw">begin</span>
+400: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">command</span>(<span class="ruby-ivar">@authKey</span>, <span class="ruby-identifier">command</span>, <span class="ruby-identifier">args</span>)
+401: <span class="ruby-keyword kw">rescue</span>
+402: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Call to TaskJuggler server on host '#{@host}' "</span> <span class="ruby-operator">+</span>
+403: <span class="ruby-node">"port #{@port} failed: #{$!}"</span>)
+404: <span class="ruby-keyword kw">end</span>
+405: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -938,39 +951,39 @@
<div class="method-source-code"
id="check-ommand-source">
<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 158</span>
-158: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkCommand</span>(<span class="ruby-identifier">args</span>)
-159: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span>
-160: <span class="ruby-identifier">errorMessage</span> = <span class="ruby-value str">'You must specify a command!'</span>
-161: <span class="ruby-keyword kw">else</span>
-162: <span class="ruby-identifier">errorMessage</span> = <span class="ruby-node">"Unknown command #{args[0]}"</span>
-163: <span class="ruby-ivar">@commands</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cmd</span><span class="ruby-operator">|</span>
-164: <span class="ruby-comment cmt"># The first value of args is the command name.</span>
-165: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cmd</span>[<span class="ruby-value">:label</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
-166: <span class="ruby-comment cmt"># Find out how many arguments we need to have and if that's a</span>
-167: <span class="ruby-comment cmt"># lower limit or a fixed value.</span>
-168: <span class="ruby-identifier">minArgs</span> = <span class="ruby-value">0</span>
-169: <span class="ruby-identifier">varArgs</span> = <span class="ruby-keyword kw">false</span>
-170: <span class="ruby-identifier">cmd</span>[<span class="ruby-value">:args</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
-171: <span class="ruby-comment cmt"># Arguments starting with '+' must have 1 or more showings.</span>
-172: <span class="ruby-comment cmt"># Arguments starting with '*' may show up 0 or more times.</span>
-173: <span class="ruby-identifier">minArgs</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-value str">'!*'</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">arg</span>[<span class="ruby-value">0</span>])
-174: <span class="ruby-identifier">varArgs</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-value str">'!*+'</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">arg</span>[<span class="ruby-value">0</span>])
-175: <span class="ruby-keyword kw">end</span>
-176: <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">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-operator">>=</span> <span class="ruby-identifier">minArgs</span>
-177: <span class="ruby-identifier">errorMessage</span> = <span class="ruby-node">"Command #{args[0]} must have "</span> <span class="ruby-operator">+</span>
-178: <span class="ruby-node">"#{varArgs ? 'at least ' : ''}#{minArgs} "</span> <span class="ruby-operator">+</span>
-179: <span class="ruby-value str">'arguments'</span>
-180: <span class="ruby-keyword kw">end</span>
-181: <span class="ruby-keyword kw">end</span>
-182: <span class="ruby-keyword kw">end</span>
-183:
-184: <span class="ruby-identifier">error</span>(<span class="ruby-identifier">errorMessage</span>)
-185: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/tj3client.rb, line 170</span>
+170: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkCommand</span>(<span class="ruby-identifier">args</span>)
+171: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span>
+172: <span class="ruby-identifier">errorMessage</span> = <span class="ruby-value str">'You must specify a command!'</span>
+173: <span class="ruby-keyword kw">else</span>
+174: <span class="ruby-identifier">errorMessage</span> = <span class="ruby-node">"Unknown command #{args[0]}"</span>
+175: <span class="ruby-ivar">@commands</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cmd</span><span class="ruby-operator">|</span>
+176: <span class="ruby-comment cmt"># The first value of args is the command name.</span>
+177: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cmd</span>[<span class="ruby-value">:label</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
+178: <span class="ruby-comment cmt"># Find out how many arguments we need to have and if that's a</span>
+179: <span class="ruby-comment cmt"># lower limit or a fixed value.</span>
+180: <span class="ruby-identifier">minArgs</span> = <span class="ruby-value">0</span>
+181: <span class="ruby-identifier">varArgs</span> = <span class="ruby-keyword kw">false</span>
+182: <span class="ruby-identifier">cmd</span>[<span class="ruby-value">:args</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
+183: <span class="ruby-comment cmt"># Arguments starting with '+' must have 1 or more showings.</span>
+184: <span class="ruby-comment cmt"># Arguments starting with '*' may show up 0 or more times.</span>
+185: <span class="ruby-identifier">minArgs</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-value str">'!*'</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">arg</span>[<span class="ruby-value">0</span>])
+186: <span class="ruby-identifier">varArgs</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-value str">'!*+'</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">arg</span>[<span class="ruby-value">0</span>])
+187: <span class="ruby-keyword kw">end</span>
+188: <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">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-operator">>=</span> <span class="ruby-identifier">minArgs</span>
+189: <span class="ruby-identifier">errorMessage</span> = <span class="ruby-node">"Command #{args[0]} must have "</span> <span class="ruby-operator">+</span>
+190: <span class="ruby-node">"#{varArgs ? 'at least ' : ''}#{minArgs} "</span> <span class="ruby-operator">+</span>
+191: <span class="ruby-value str">'arguments'</span>
+192: <span class="ruby-keyword kw">end</span>
+193: <span class="ruby-keyword kw">end</span>
+194: <span class="ruby-keyword kw">end</span>
+195:
+196: <span class="ruby-identifier">error</span>(<span class="ruby-identifier">errorMessage</span>)
+197: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -997,108 +1010,64 @@
<div class="method-source-code"
id="connect-aemon-source">
<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 187</span>
-187: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">connectDaemon</span>
-188: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@authKey</span>
-189: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">You must set an authentication key in the configuration file. Create a filenamed .taskjugglerrc or taskjuggler.rc that contains at least the followinglines. Replace 'your_secret_key' with some random character sequence._global: authKey: your_secret_key</span>
-190: <span class="ruby-keyword kw">end</span>
-191:
-192: <span class="ruby-identifier">uri</span> = <span class="ruby-node">"druby://#{@host}:#{@port}"</span>
-193: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@port</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
-194: <span class="ruby-comment cmt"># If the @port is configured to 0, we need to read the URI to connect</span>
-195: <span class="ruby-comment cmt"># to the server from the .tj3d.uri file that has been generated by the</span>
-196: <span class="ruby-comment cmt"># server.</span>
-197: <span class="ruby-keyword kw">begin</span>
-198: <span class="ruby-identifier">uri</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-ivar">@uriFile</span>).<span class="ruby-identifier">chomp</span>
-199: <span class="ruby-keyword kw">rescue</span>
-200: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'The server port is configured to be 0, but no '</span> <span class="ruby-operator">+</span>
-201: <span class="ruby-node">".tj3d.uri file can be found: #{$!}"</span>)
-202: <span class="ruby-keyword kw">end</span>
-203: <span class="ruby-keyword kw">end</span>
-204:
-205: <span class="ruby-comment cmt"># We try to play it safe here. The client also starts a DRb server, so</span>
-206: <span class="ruby-comment cmt"># we need to make sure it's constricted to localhost only. We require</span>
-207: <span class="ruby-comment cmt"># the DRb server for the standard IO redirection to work.</span>
-208: <span class="ruby-identifier">$SAFE</span> = <span class="ruby-value">1</span>
-209: <span class="ruby-constant">DRb</span>.<span class="ruby-identifier">install_acl</span>(<span class="ruby-constant">ACL</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">] deny all
-210: allow 127.0.0.1 ]</span>))
-211: <span class="ruby-constant">DRb</span>.<span class="ruby-identifier">start_service</span>(<span class="ruby-value str">'druby://127.0.0.1:0'</span>)
-212:
-213: <span class="ruby-keyword kw">begin</span>
-214: <span class="ruby-comment cmt"># Get the ProjectBroker object from the tj3d.</span>
-215: <span class="ruby-ivar">@broker</span> = <span class="ruby-constant">DRbObject</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">uri</span>)
-216: <span class="ruby-comment cmt"># Client and server should always come from the same Gem. Since we</span>
-217: <span class="ruby-comment cmt"># restict communication to localhost, that's probably not a problem.</span>
-218: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">check</span> = <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">apiVersion</span>(<span class="ruby-ivar">@authKey</span>, <span class="ruby-value">1</span>)) <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
-219: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'This client is too old for the server. Please '</span> <span class="ruby-operator">+</span>
-220: <span class="ruby-value str">'upgrade to a more recent version of the software.'</span>)
-221: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">check</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
-222: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'Authentication failed. Please check your authentication '</span> <span class="ruby-operator">+</span>
-223: <span class="ruby-value str">'key to match the server key.'</span>)
-224: <span class="ruby-keyword kw">end</span>
-225: <span class="ruby-keyword kw">rescue</span>
-226: <span class="ruby-identifier">error</span>(<span class="ruby-node">"TaskJuggler server on host '#{@host}' port "</span> <span class="ruby-operator">+</span>
-227: <span class="ruby-node">"#{@port} is not responding"</span>)
-228: <span class="ruby-keyword kw">end</span>
-229: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/tj3client.rb, line 199</span>
+199: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">connectDaemon</span>
+200: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@authKey</span>
+201: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">You must set an authentication key in the configuration file. Create a filenamed .taskjugglerrc or taskjuggler.rc that contains at least the followinglines. Replace 'your_secret_key' with some random character sequence._global: authKey: your_secret_key</span>
+202: <span class="ruby-keyword kw">end</span>
+203:
+204: <span class="ruby-identifier">uri</span> = <span class="ruby-node">"druby://#{@host}:#{@port}"</span>
+205: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@port</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
+206: <span class="ruby-comment cmt"># If the @port is configured to 0, we need to read the URI to connect</span>
+207: <span class="ruby-comment cmt"># to the server from the .tj3d.uri file that has been generated by the</span>
+208: <span class="ruby-comment cmt"># server.</span>
+209: <span class="ruby-keyword kw">begin</span>
+210: <span class="ruby-identifier">uri</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-ivar">@uriFile</span>).<span class="ruby-identifier">chomp</span>
+211: <span class="ruby-keyword kw">rescue</span>
+212: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'The server port is configured to be 0, but no '</span> <span class="ruby-operator">+</span>
+213: <span class="ruby-node">".tj3d.uri file can be found: #{$!}"</span>)
+214: <span class="ruby-keyword kw">end</span>
+215: <span class="ruby-keyword kw">end</span>
+216:
+217: <span class="ruby-comment cmt"># We try to play it safe here. The client also starts a DRb server, so</span>
+218: <span class="ruby-comment cmt"># we need to make sure it's constricted to localhost only. We require</span>
+219: <span class="ruby-comment cmt"># the DRb server for the standard IO redirection to work.</span>
+220: <span class="ruby-identifier">$SAFE</span> = <span class="ruby-value">1</span>
+221: <span class="ruby-constant">DRb</span>.<span class="ruby-identifier">install_acl</span>(<span class="ruby-constant">ACL</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">] deny all
+222: allow 127.0.0.1 ]</span>))
+223: <span class="ruby-constant">DRb</span>.<span class="ruby-identifier">start_service</span>(<span class="ruby-value str">'druby://127.0.0.1:0'</span>)
+224:
+225: <span class="ruby-keyword kw">begin</span>
+226: <span class="ruby-comment cmt"># Get the ProjectBroker object from the tj3d.</span>
+227: <span class="ruby-ivar">@broker</span> = <span class="ruby-constant">DRbObject</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">uri</span>)
+228: <span class="ruby-comment cmt"># Client and server should always come from the same Gem. Since we</span>
+229: <span class="ruby-comment cmt"># restict communication to localhost, that's probably not a problem.</span>
+230: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">check</span> = <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">apiVersion</span>(<span class="ruby-ivar">@authKey</span>, <span class="ruby-value">1</span>)) <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
+231: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'This client is too old for the server. Please '</span> <span class="ruby-operator">+</span>
+232: <span class="ruby-value str">'upgrade to a more recent version of the software.'</span>)
+233: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">check</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
+234: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'Authentication failed. Please check your authentication '</span> <span class="ruby-operator">+</span>
+235: <span class="ruby-value str">'key to match the server key.'</span>)
+236: <span class="ruby-keyword kw">end</span>
+237: <span class="ruby-keyword kw">rescue</span>
+238: <span class="ruby-identifier">error</span>(<span class="ruby-node">"TaskJuggler server on host '#{@host}' port "</span> <span class="ruby-operator">+</span>
+239: <span class="ruby-node">"#{@port} is not responding"</span>)
+240: <span class="ruby-keyword kw">end</span>
+241: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
- <div id="connect-o-roject-erver-method" class="method-detail ">
- <a name="method-i-connectToProjectServer"></a>
-
- <div class="method-heading">
-
- <span class="method-name">connectToProjectServer</span><span
- class="method-args">()</span>
- <span class="method-click-advice">click to toggle source</span>
-
- </div>
-
- <div class="method-description">
-
-
-
-
-
- <div class="method-source-code"
- id="connect-o-roject-erver-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 353</span>
-353: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">connectToProjectServer</span>
-354: <span class="ruby-ivar">@ps_uri</span>, <span class="ruby-ivar">@ps_authKey</span> = <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:addProject</span>, [])
-355: <span class="ruby-keyword kw">begin</span>
-356: <span class="ruby-ivar">@projectServer</span> = <span class="ruby-constant">DRbObject</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-ivar">@ps_uri</span>)
-357: <span class="ruby-keyword kw">rescue</span>
-358: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Can't get ProjectServer object: #{$!}"</span>)
-359: <span class="ruby-keyword kw">end</span>
-360: <span class="ruby-keyword kw">begin</span>
-361: <span class="ruby-ivar">@projectServer</span>.<span class="ruby-identifier">connect</span>(<span class="ruby-ivar">@ps_authKey</span>, <span class="ruby-identifier">$stdout</span>, <span class="ruby-identifier">$stderr</span>, <span class="ruby-identifier">$stdin</span>, <span class="ruby-ivar">@silent</span>)
-362: <span class="ruby-keyword kw">rescue</span>
-363: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Can't connect IO: #{$!}"</span>)
-364: <span class="ruby-keyword kw">end</span>
-365: <span class="ruby-keyword kw">end</span></pre>
- </div>
-
- </div>
-
-
-
-
- </div>
-
-
<div id="connect-o-eport-erver-method" class="method-detail ">
<a name="method-i-connectToReportServer"></a>
<div class="method-heading">
@@ -1115,29 +1084,29 @@
<div class="method-source-code"
id="connect-o-eport-erver-source">
<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 375</span>
-375: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">projectId</span>)
-376: <span class="ruby-ivar">@ps_uri</span>, <span class="ruby-ivar">@ps_authKey</span> = <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:getProject</span>, <span class="ruby-identifier">projectId</span>)
-377: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@ps_uri</span>.<span class="ruby-identifier">nil?</span>
-378: <span class="ruby-identifier">error</span>(<span class="ruby-node">"No project with ID #{projectId} loaded"</span>)
-379: <span class="ruby-keyword kw">end</span>
-380: <span class="ruby-keyword kw">begin</span>
-381: <span class="ruby-ivar">@projectServer</span> = <span class="ruby-constant">DRbObject</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-ivar">@ps_uri</span>)
-382: <span class="ruby-ivar">@rs_uri</span>, <span class="ruby-ivar">@rs_authKey</span> = <span class="ruby-ivar">@projectServer</span>.<span class="ruby-identifier">getReportServer</span>(<span class="ruby-ivar">@ps_authKey</span>)
-383: <span class="ruby-ivar">@reportServer</span> = <span class="ruby-constant">DRbObject</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-ivar">@rs_uri</span>)
-384: <span class="ruby-keyword kw">rescue</span>
-385: <span class="ruby-identifier">error</span>(<span class="ruby-value str">"Cannot get report server"</span>)
-386: <span class="ruby-keyword kw">end</span>
-387: <span class="ruby-keyword kw">begin</span>
-388: <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">connect</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">$stdout</span>, <span class="ruby-identifier">$stderr</span>, <span class="ruby-identifier">$stdin</span>, <span class="ruby-ivar">@silent</span>)
-389: <span class="ruby-keyword kw">rescue</span>
-390: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Can't connect IO: #{$!}"</span>)
-391: <span class="ruby-keyword kw">end</span>
-392: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/tj3client.rb, line 358</span>
+358: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">projectId</span>)
+359: <span class="ruby-ivar">@ps_uri</span>, <span class="ruby-ivar">@ps_authKey</span> = <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:getProject</span>, <span class="ruby-identifier">projectId</span>)
+360: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@ps_uri</span>.<span class="ruby-identifier">nil?</span>
+361: <span class="ruby-identifier">error</span>(<span class="ruby-node">"No project with ID #{projectId} loaded"</span>)
+362: <span class="ruby-keyword kw">end</span>
+363: <span class="ruby-keyword kw">begin</span>
+364: <span class="ruby-ivar">@projectServer</span> = <span class="ruby-constant">DRbObject</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-ivar">@ps_uri</span>)
+365: <span class="ruby-ivar">@rs_uri</span>, <span class="ruby-ivar">@rs_authKey</span> = <span class="ruby-ivar">@projectServer</span>.<span class="ruby-identifier">getReportServer</span>(<span class="ruby-ivar">@ps_authKey</span>)
+366: <span class="ruby-ivar">@reportServer</span> = <span class="ruby-constant">DRbObject</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-ivar">@rs_uri</span>)
+367: <span class="ruby-keyword kw">rescue</span>
+368: <span class="ruby-identifier">error</span>(<span class="ruby-value str">"Cannot get report server"</span>)
+369: <span class="ruby-keyword kw">end</span>
+370: <span class="ruby-keyword kw">begin</span>
+371: <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">connect</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">$stdout</span>, <span class="ruby-identifier">$stderr</span>, <span class="ruby-identifier">$stdin</span>, <span class="ruby-ivar">@silent</span>)
+372: <span class="ruby-keyword kw">rescue</span>
+373: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Can't connect IO: #{$!}"</span>)
+374: <span class="ruby-keyword kw">end</span>
+375: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -1164,64 +1133,26 @@
<div class="method-source-code"
id="disconnect-aemon-source">
<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 238</span>
-238: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnectDaemon</span>
-239: <span class="ruby-ivar">@broker</span> = <span class="ruby-keyword kw">nil</span>
-240:
-241: <span class="ruby-constant">DRb</span>.<span class="ruby-identifier">stop_service</span>
-242: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/tj3client.rb, line 250</span>
+250: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnectDaemon</span>
+251: <span class="ruby-ivar">@broker</span> = <span class="ruby-keyword kw">nil</span>
+252:
+253: <span class="ruby-constant">DRb</span>.<span class="ruby-identifier">stop_service</span>
+254: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
- <div id="disconnect-roject-erver-method" class="method-detail ">
- <a name="method-i-disconnectProjectServer"></a>
-
- <div class="method-heading">
-
- <span class="method-name">disconnectProjectServer</span><span
- class="method-args">()</span>
- <span class="method-click-advice">click to toggle source</span>
-
- </div>
-
- <div class="method-description">
-
-
-
-
-
- <div class="method-source-code"
- id="disconnect-roject-erver-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 367</span>
-367: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnectProjectServer</span>
-368: <span class="ruby-keyword kw">begin</span>
-369: <span class="ruby-ivar">@projectServer</span>.<span class="ruby-identifier">disconnect</span>(<span class="ruby-ivar">@ps_authKey</span>)
-370: <span class="ruby-keyword kw">rescue</span>
-371: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Can't disconnect IO: #{$!}"</span>)
-372: <span class="ruby-keyword kw">end</span>
-373: <span class="ruby-keyword kw">end</span></pre>
- </div>
-
- </div>
-
-
-
-
- </div>
-
-
<div id="disconnect-eport-erver-method" class="method-detail ">
<a name="method-i-disconnectReportServer"></a>
<div class="method-heading">
@@ -1238,29 +1169,29 @@
<div class="method-source-code"
id="disconnect-eport-erver-source">
<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 394</span>
-394: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnectReportServer</span>
-395: <span class="ruby-keyword kw">begin</span>
-396: <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">disconnect</span>(<span class="ruby-ivar">@rs_authKey</span>)
-397: <span class="ruby-keyword kw">rescue</span>
-398: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Can't disconnect IO: #{$!}"</span>)
-399: <span class="ruby-keyword kw">end</span>
-400: <span class="ruby-keyword kw">begin</span>
-401: <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">terminate</span>(<span class="ruby-ivar">@rs_authKey</span>)
-402: <span class="ruby-keyword kw">rescue</span>
-403: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Report server termination failed: #{$!}"</span>)
-404: <span class="ruby-keyword kw">end</span>
-405: <span class="ruby-ivar">@reportServer</span> = <span class="ruby-keyword kw">nil</span>
-406: <span class="ruby-ivar">@rs_uri</span> = <span class="ruby-keyword kw">nil</span>
-407: <span class="ruby-ivar">@rs_authKey</span> = <span class="ruby-keyword kw">nil</span>
-408: <span class="ruby-ivar">@projectServer</span> = <span class="ruby-keyword kw">nil</span>
-409: <span class="ruby-ivar">@ps_uri</span> = <span class="ruby-keyword kw">nil</span>
-410: <span class="ruby-ivar">@ps_authKey</span> = <span class="ruby-keyword kw">nil</span>
-411: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/tj3client.rb, line 377</span>
+377: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnectReportServer</span>
+378: <span class="ruby-keyword kw">begin</span>
+379: <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">disconnect</span>(<span class="ruby-ivar">@rs_authKey</span>)
+380: <span class="ruby-keyword kw">rescue</span>
+381: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Can't disconnect IO: #{$!}"</span>)
+382: <span class="ruby-keyword kw">end</span>
+383: <span class="ruby-keyword kw">begin</span>
+384: <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">terminate</span>(<span class="ruby-ivar">@rs_authKey</span>)
+385: <span class="ruby-keyword kw">rescue</span>
+386: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Report server termination failed: #{$!}"</span>)
+387: <span class="ruby-keyword kw">end</span>
+388: <span class="ruby-ivar">@reportServer</span> = <span class="ruby-keyword kw">nil</span>
+389: <span class="ruby-ivar">@rs_uri</span> = <span class="ruby-keyword kw">nil</span>
+390: <span class="ruby-ivar">@rs_authKey</span> = <span class="ruby-keyword kw">nil</span>
+391: <span class="ruby-ivar">@projectServer</span> = <span class="ruby-keyword kw">nil</span>
+392: <span class="ruby-ivar">@ps_uri</span> = <span class="ruby-keyword kw">nil</span>
+393: <span class="ruby-ivar">@ps_authKey</span> = <span class="ruby-keyword kw">nil</span>
+394: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -1287,15 +1218,15 @@
<div class="method-source-code"
id="error-source">
<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 464</span>
-464: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">message</span>)
-465: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"ERROR: #{message}"</span>
-466: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
-467: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/tj3client.rb, line 447</span>
+447: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">message</span>)
+448: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"ERROR: #{message}"</span>
+449: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
+450: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -1322,119 +1253,112 @@
<div class="method-source-code"
id="execute-ommand-source">
<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 244</span>
-244: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">executeCommand</span>(<span class="ruby-identifier">command</span>, <span class="ruby-identifier">args</span>)
-245: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">command</span>
-246: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'status'</span>
-247: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:status</span>, [])
-248: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'terminate'</span>
-249: <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:stop</span>, [])
-250: <span class="ruby-identifier">info</span>(<span class="ruby-value str">'Daemon terminated'</span>)
-251: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'add'</span>
-252: <span class="ruby-comment cmt"># Ask the daemon to create a new ProjectServer process and return a</span>
-253: <span class="ruby-comment cmt"># DRbObject to access it.</span>
-254: <span class="ruby-identifier">connectToProjectServer</span>
-255: <span class="ruby-comment cmt"># Ask the server to load the files in _args_ into the ProjectServer.</span>
-256: <span class="ruby-keyword kw">begin</span>
-257: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@projectServer</span>.<span class="ruby-identifier">loadProject</span>(<span class="ruby-ivar">@ps_authKey</span>, [ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">getwd</span>, *<span class="ruby-identifier">args</span> ])
-258: <span class="ruby-keyword kw">rescue</span>
-259: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Loading of project failed: #{$!}"</span>)
-260: <span class="ruby-keyword kw">end</span>
-261: <span class="ruby-identifier">disconnectProjectServer</span>
-262: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>
-263: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'remove'</span>
-264: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
-265: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:removeProject</span>, <span class="ruby-identifier">arg</span>)
-266: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Project '#{arg}' not found in list"</span>)
-267: <span class="ruby-keyword kw">end</span>
-268: <span class="ruby-keyword kw">end</span>
-269: <span class="ruby-identifier">info</span>(<span class="ruby-value str">'Project removed'</span>)
-270: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'update'</span>
-271: <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:update</span>, [])
-272: <span class="ruby-identifier">info</span>(<span class="ruby-value str">'Reload requested'</span>)
-273: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'report'</span>
-274: <span class="ruby-comment cmt"># The first value of args is the project ID. The following values</span>
-275: <span class="ruby-comment cmt"># could be either report IDs or TJI file # names ('.' or '*.tji').</span>
-276: <span class="ruby-identifier">projectId</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>
-277: <span class="ruby-comment cmt"># Ask the ProjectServer to launch a new ReportServer process and</span>
-278: <span class="ruby-comment cmt"># provide a DRbObject reference to it.</span>
-279: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">projectId</span>)
-280:
-281: <span class="ruby-identifier">reportIds</span>, <span class="ruby-identifier">tjiFiles</span> = <span class="ruby-identifier">splitIdsAndFiles</span>(<span class="ruby-identifier">args</span>)
-282: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reportIds</span>.<span class="ruby-identifier">empty?</span>
-283: <span class="ruby-identifier">disconnectReportServer</span>
-284: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'You must provide at least one report ID'</span>)
-285: <span class="ruby-keyword kw">end</span>
-286: <span class="ruby-comment cmt"># Send the provided .tji files to the ReportServer.</span>
-287: <span class="ruby-identifier">failed</span> = <span class="ruby-operator">!</span><span class="ruby-identifier">addFiles</span>(<span class="ruby-identifier">tjiFiles</span>)
-288: <span class="ruby-comment cmt"># Ask the ReportServer to generate the reports with the provided IDs.</span>
-289: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">failed</span>
-290: <span class="ruby-identifier">reportIds</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">reportId</span><span class="ruby-operator">|</span>
-291: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">generateReport</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">reportId</span>,
-292: <span class="ruby-ivar">@regExpMode</span>, <span class="ruby-keyword kw">nil</span>)
-293: <span class="ruby-identifier">failed</span> = <span class="ruby-keyword kw">true</span>
-294: <span class="ruby-keyword kw">break</span>
-295: <span class="ruby-keyword kw">end</span>
-296: <span class="ruby-keyword kw">end</span>
-297: <span class="ruby-keyword kw">end</span>
-298: <span class="ruby-comment cmt"># Terminate the ReportServer</span>
-299: <span class="ruby-identifier">disconnectReportServer</span>
-300: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">failed</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
-301: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'list-reports'</span>
-302: <span class="ruby-comment cmt"># The first value of args is the project ID. The following values</span>
-303: <span class="ruby-comment cmt"># could be either report IDs or TJI file # names ('.' or '*.tji').</span>
-304: <span class="ruby-identifier">projectId</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>
-305: <span class="ruby-comment cmt"># Ask the ProjectServer to launch a new ReportServer process and</span>
-306: <span class="ruby-comment cmt"># provide a DRbObject reference to it.</span>
-307: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">projectId</span>)
-308:
-309: <span class="ruby-identifier">reportIds</span>, <span class="ruby-identifier">tjiFiles</span> = <span class="ruby-identifier">splitIdsAndFiles</span>(<span class="ruby-identifier">args</span>)
-310: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reportIds</span>.<span class="ruby-identifier">empty?</span>
-311: <span class="ruby-comment cmt"># If the user did not provide a report ID we generate a full list.</span>
-312: <span class="ruby-identifier">reportIds</span> = [ <span class="ruby-value str">'.*'</span> ]
-313: <span class="ruby-ivar">@regExpMode</span> = <span class="ruby-keyword kw">true</span>
-314: <span class="ruby-keyword kw">end</span>
-315: <span class="ruby-comment cmt"># Send the provided .tji files to the ReportServer.</span>
-316: <span class="ruby-identifier">failed</span> = <span class="ruby-operator">!</span><span class="ruby-identifier">addFiles</span>(<span class="ruby-identifier">tjiFiles</span>)
-317: <span class="ruby-comment cmt"># Ask the ReportServer to generate the reports with the provided IDs.</span>
-318: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">failed</span>
-319: <span class="ruby-identifier">reportIds</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">reportId</span><span class="ruby-operator">|</span>
-320: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">listReports</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">reportId</span>, <span class="ruby-ivar">@regExpMode</span>)
-321: <span class="ruby-identifier">failed</span> = <span class="ruby-keyword kw">true</span>
-322: <span class="ruby-keyword kw">break</span>
-323: <span class="ruby-keyword kw">end</span>
-324: <span class="ruby-keyword kw">end</span>
-325: <span class="ruby-keyword kw">end</span>
-326: <span class="ruby-comment cmt"># Terminate the ReportServer</span>
-327: <span class="ruby-identifier">disconnectReportServer</span>
-328: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">failed</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
-329: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'check-ts'</span>
-330: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])
-331: <span class="ruby-keyword kw">begin</span>
-332: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>])
-333: <span class="ruby-keyword kw">rescue</span>
-334: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Time sheet check failed: #{$!}"</span>)
-335: <span class="ruby-keyword kw">end</span>
-336: <span class="ruby-identifier">disconnectReportServer</span>
-337: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>
-338: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'check-ss'</span>
-339: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])
-340: <span class="ruby-keyword kw">begin</span>
-341: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>])
-342: <span class="ruby-keyword kw">rescue</span>
-343: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Status sheet check failed: #{$!}"</span>)
-344: <span class="ruby-keyword kw">end</span>
-345: <span class="ruby-identifier">disconnectReportServer</span>
-346: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>
-347: <span class="ruby-keyword kw">else</span>
-348: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown command #{command}"</span>
-349: <span class="ruby-keyword kw">end</span>
-350: <span class="ruby-value">0</span>
-351: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/tj3client.rb, line 256</span>
+256: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">executeCommand</span>(<span class="ruby-identifier">command</span>, <span class="ruby-identifier">args</span>)
+257: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">command</span>
+258: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'status'</span>
+259: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:status</span>, [])
+260: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'terminate'</span>
+261: <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:stop</span>, [])
+262: <span class="ruby-identifier">info</span>(<span class="ruby-value str">'Daemon terminated'</span>)
+263: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'add'</span>
+264: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:addProject</span>, [ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">getwd</span>, <span class="ruby-identifier">args</span>,
+265: <span class="ruby-identifier">$stdout</span>, <span class="ruby-identifier">$stderr</span>, <span class="ruby-identifier">$stdin</span>, <span class="ruby-ivar">@silent</span> ])
+266: <span class="ruby-identifier">info</span>(<span class="ruby-node">"Project(s) #{args.join(', ')} added"</span>)
+267: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>
+268: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'remove'</span>
+269: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
+270: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:removeProject</span>, <span class="ruby-identifier">arg</span>)
+271: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Project '#{arg}' not found in list"</span>)
+272: <span class="ruby-keyword kw">end</span>
+273: <span class="ruby-keyword kw">end</span>
+274: <span class="ruby-identifier">info</span>(<span class="ruby-value str">'Project removed'</span>)
+275: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'update'</span>
+276: <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:update</span>, [])
+277: <span class="ruby-identifier">info</span>(<span class="ruby-value str">'Reload requested'</span>)
+278: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'report'</span>
+279: <span class="ruby-comment cmt"># The first value of args is the project ID. The following values</span>
+280: <span class="ruby-comment cmt"># could be either report IDs or TJI file # names ('.' or '*.tji').</span>
+281: <span class="ruby-identifier">projectId</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>
+282: <span class="ruby-comment cmt"># Ask the ProjectServer to launch a new ReportServer process and</span>
+283: <span class="ruby-comment cmt"># provide a DRbObject reference to it.</span>
+284: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">projectId</span>)
+285:
+286: <span class="ruby-identifier">reportIds</span>, <span class="ruby-identifier">tjiFiles</span> = <span class="ruby-identifier">splitIdsAndFiles</span>(<span class="ruby-identifier">args</span>)
+287: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reportIds</span>.<span class="ruby-identifier">empty?</span>
+288: <span class="ruby-identifier">disconnectReportServer</span>
+289: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'You must provide at least one report ID'</span>)
+290: <span class="ruby-keyword kw">end</span>
+291: <span class="ruby-comment cmt"># Send the provided .tji files to the ReportServer.</span>
+292: <span class="ruby-identifier">failed</span> = <span class="ruby-operator">!</span><span class="ruby-identifier">addFiles</span>(<span class="ruby-identifier">tjiFiles</span>)
+293: <span class="ruby-comment cmt"># Ask the ReportServer to generate the reports with the provided IDs.</span>
+294: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">failed</span>
+295: <span class="ruby-identifier">reportIds</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">reportId</span><span class="ruby-operator">|</span>
+296: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">generateReport</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">reportId</span>,
+297: <span class="ruby-ivar">@regExpMode</span>, <span class="ruby-ivar">@formats</span>, <span class="ruby-keyword kw">nil</span>)
+298: <span class="ruby-identifier">failed</span> = <span class="ruby-keyword kw">true</span>
+299: <span class="ruby-keyword kw">break</span>
+300: <span class="ruby-keyword kw">end</span>
+301: <span class="ruby-keyword kw">end</span>
+302: <span class="ruby-keyword kw">end</span>
+303: <span class="ruby-comment cmt"># Terminate the ReportServer</span>
+304: <span class="ruby-identifier">disconnectReportServer</span>
+305: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">failed</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
+306: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'list-reports'</span>
+307: <span class="ruby-comment cmt"># The first value of args is the project ID. The following values</span>
+308: <span class="ruby-comment cmt"># could be either report IDs or TJI file # names ('.' or '*.tji').</span>
+309: <span class="ruby-identifier">projectId</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>
+310: <span class="ruby-comment cmt"># Ask the ProjectServer to launch a new ReportServer process and</span>
+311: <span class="ruby-comment cmt"># provide a DRbObject reference to it.</span>
+312: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">projectId</span>)
+313:
+314: <span class="ruby-identifier">reportIds</span>, <span class="ruby-identifier">tjiFiles</span> = <span class="ruby-identifier">splitIdsAndFiles</span>(<span class="ruby-identifier">args</span>)
+315: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reportIds</span>.<span class="ruby-identifier">empty?</span>
+316: <span class="ruby-comment cmt"># If the user did not provide a report ID we generate a full list.</span>
+317: <span class="ruby-identifier">reportIds</span> = [ <span class="ruby-value str">'.*'</span> ]
+318: <span class="ruby-ivar">@regExpMode</span> = <span class="ruby-keyword kw">true</span>
+319: <span class="ruby-keyword kw">end</span>
+320: <span class="ruby-comment cmt"># Send the provided .tji files to the ReportServer.</span>
+321: <span class="ruby-identifier">failed</span> = <span class="ruby-operator">!</span><span class="ruby-identifier">addFiles</span>(<span class="ruby-identifier">tjiFiles</span>)
+322: <span class="ruby-comment cmt"># Ask the ReportServer to generate the reports with the provided IDs.</span>
+323: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">failed</span>
+324: <span class="ruby-identifier">reportIds</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">reportId</span><span class="ruby-operator">|</span>
+325: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">listReports</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">reportId</span>, <span class="ruby-ivar">@regExpMode</span>)
+326: <span class="ruby-identifier">failed</span> = <span class="ruby-keyword kw">true</span>
+327: <span class="ruby-keyword kw">break</span>
+328: <span class="ruby-keyword kw">end</span>
+329: <span class="ruby-keyword kw">end</span>
+330: <span class="ruby-keyword kw">end</span>
+331: <span class="ruby-comment cmt"># Terminate the ReportServer</span>
+332: <span class="ruby-identifier">disconnectReportServer</span>
+333: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">failed</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
+334: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'check-ts'</span>
+335: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])
+336: <span class="ruby-keyword kw">begin</span>
+337: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>])
+338: <span class="ruby-keyword kw">rescue</span>
+339: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Time sheet check failed: #{$!}"</span>)
+340: <span class="ruby-keyword kw">end</span>
+341: <span class="ruby-identifier">disconnectReportServer</span>
+342: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>
+343: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'check-ss'</span>
+344: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])
+345: <span class="ruby-keyword kw">begin</span>
+346: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>])
+347: <span class="ruby-keyword kw">rescue</span>
+348: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Status sheet check failed: #{$!}"</span>)
+349: <span class="ruby-keyword kw">end</span>
+350: <span class="ruby-identifier">disconnectReportServer</span>
+351: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>
+352: <span class="ruby-keyword kw">else</span>
+353: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown command #{command}"</span>
+354: <span class="ruby-keyword kw">end</span>
+355: <span class="ruby-value">0</span>
+356: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -1461,15 +1385,15 @@
<div class="method-source-code"
id="info-source">
<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 459</span>
-459: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">info</span>(<span class="ruby-identifier">message</span>)
-460: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@silent</span>
-461: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"#{message}"</span>
-462: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/tj3client.rb, line 442</span>
+442: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">info</span>(<span class="ruby-identifier">message</span>)
+443: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@silent</span>
+444: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"#{message}"</span>
+445: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -1500,27 +1424,27 @@
<div class="method-source-code"
id="split-ds-nd-iles-source">
<pre>
- <span class="ruby-comment cmt"># File lib/tj3client.rb, line 427</span>
-427: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">splitIdsAndFiles</span>(<span class="ruby-identifier">args</span>)
-428: <span class="ruby-identifier">reportIds</span> = []
-429: <span class="ruby-identifier">tjiFiles</span> = []
-430: <span class="ruby-identifier">addToReports</span> = <span class="ruby-keyword kw">true</span>
-431: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
-432: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'='</span>
-433: <span class="ruby-comment cmt"># Switch to tji file list.</span>
-434: <span class="ruby-identifier">addToReports</span> = <span class="ruby-keyword kw">false</span>
-435: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">addToReports</span>
-436: <span class="ruby-identifier">reportIds</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">arg</span>
-437: <span class="ruby-keyword kw">else</span>
-438: <span class="ruby-identifier">tjiFiles</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">arg</span>
-439: <span class="ruby-keyword kw">end</span>
-440: <span class="ruby-keyword kw">end</span>
-441:
-442: [ <span class="ruby-identifier">reportIds</span>, <span class="ruby-identifier">tjiFiles</span> ]
-443: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/tj3client.rb, line 410</span>
+410: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">splitIdsAndFiles</span>(<span class="ruby-identifier">args</span>)
+411: <span class="ruby-identifier">reportIds</span> = []
+412: <span class="ruby-identifier">tjiFiles</span> = []
+413: <span class="ruby-identifier">addToReports</span> = <span class="ruby-keyword kw">true</span>
+414: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
+415: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'='</span>
+416: <span class="ruby-comment cmt"># Switch to tji file list.</span>
+417: <span class="ruby-identifier">addToReports</span> = <span class="ruby-keyword kw">false</span>
+418: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">addToReports</span>
+419: <span class="ruby-identifier">reportIds</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">arg</span>
+420: <span class="ruby-keyword kw">else</span>
+421: <span class="ruby-identifier">tjiFiles</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">arg</span>
+422: <span class="ruby-keyword kw">end</span>
+423: <span class="ruby-keyword kw">end</span>
+424:
+425: [ <span class="ruby-identifier">reportIds</span>, <span class="ruby-identifier">tjiFiles</span> ]
+426: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>