doc/TaskJuggler/Scoreboard.html in taskjuggler-0.0.8 vs doc/TaskJuggler/Scoreboard.html in taskjuggler-0.0.9
- old
+ new
@@ -145,10 +145,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>
@@ -223,10 +225,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>
@@ -255,10 +259,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>
@@ -535,10 +541,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>
@@ -561,12 +569,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>
@@ -688,18 +694,18 @@
<div class="method-source-code"
id="new-source">
<pre>
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 27</span>
-27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">startDate</span>, <span class="ruby-identifier">endDate</span>, <span class="ruby-identifier">resolution</span>, <span class="ruby-identifier">initVal</span> = <span class="ruby-keyword kw">nil</span>)
-28: <span class="ruby-ivar">@startDate</span> = <span class="ruby-identifier">startDate</span>
-29: <span class="ruby-ivar">@endDate</span> = <span class="ruby-identifier">endDate</span>
-30: <span class="ruby-ivar">@resolution</span> = <span class="ruby-identifier">resolution</span>
-31: <span class="ruby-ivar">@size</span> = ((<span class="ruby-identifier">endDate</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">startDate</span>) <span class="ruby-operator">/</span> <span class="ruby-identifier">resolution</span>).<span class="ruby-identifier">ceil</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
-32: <span class="ruby-identifier">clear</span>(<span class="ruby-identifier">initVal</span>)
-33: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 30</span>
+30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">startDate</span>, <span class="ruby-identifier">endDate</span>, <span class="ruby-identifier">resolution</span>, <span class="ruby-identifier">initVal</span> = <span class="ruby-keyword kw">nil</span>)
+31: <span class="ruby-ivar">@startDate</span> = <span class="ruby-identifier">startDate</span>
+32: <span class="ruby-ivar">@endDate</span> = <span class="ruby-identifier">endDate</span>
+33: <span class="ruby-ivar">@resolution</span> = <span class="ruby-identifier">resolution</span>
+34: <span class="ruby-ivar">@size</span> = ((<span class="ruby-identifier">endDate</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">startDate</span>) <span class="ruby-operator">/</span> <span class="ruby-identifier">resolution</span>).<span class="ruby-identifier">ceil</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
+35: <span class="ruby-identifier">clear</span>(<span class="ruby-identifier">initVal</span>)
+36: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -734,14 +740,14 @@
<div class="method-source-code"
id="--source">
<pre>
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 87</span>
-87: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">idx</span>)
-88: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>]
-89: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 90</span>
+90: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">idx</span>)
+91: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>]
+92: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -770,14 +776,14 @@
<div class="method-source-code"
id="--source">
<pre>
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 92</span>
-92: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">value</span>)
-93: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-identifier">value</span>
-94: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 95</span>
+95: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">value</span>)
+96: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-identifier">value</span>
+97: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -806,14 +812,14 @@
<div class="method-source-code"
id="clear-source">
<pre>
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 36</span>
-36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clear</span>(<span class="ruby-identifier">initVal</span> = <span class="ruby-keyword kw">nil</span>)
-37: <span class="ruby-ivar">@sb</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@size</span>, <span class="ruby-identifier">initVal</span>)
-38: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 39</span>
+39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clear</span>(<span class="ruby-identifier">initVal</span> = <span class="ruby-keyword kw">nil</span>)
+40: <span class="ruby-ivar">@sb</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@size</span>, <span class="ruby-identifier">initVal</span>)
+41: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -842,14 +848,14 @@
<div class="method-source-code"
id="collect--source">
<pre>
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 82</span>
-82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collect!</span>
-83: <span class="ruby-ivar">@sb</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">x</span> }
-84: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 85</span>
+85: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collect!</span>
+86: <span class="ruby-ivar">@sb</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">x</span> }
+87: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -873,55 +879,71 @@
<p>
Return a list of intervals that describe a contiguous part of the
scoreboard that contains only the values that yield true for the passed
block. The intervals must be within the interval described by <em>iv</em>
-and must be at least <em>minDuration</em> long. The return value is an
-Array of [ start, end ] <a href="TjTime.html">TjTime</a> values.
+and must be at least <em>minDuration</em> long. The return value is an <a
+href="IntervalList.html">IntervalList</a>.
</p>
<div class="method-source-code"
id="collect-ntervals-source">
<pre>
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 111</span>
-111: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collectIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>)
-112: <span class="ruby-comment cmt"># Determine the start and stop index for the scoreboard search.</span>
-113: <span class="ruby-identifier">startIdx</span> = <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">true</span>)
-114: <span class="ruby-identifier">endIdx</span> = <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">true</span>)
-115:
-116: <span class="ruby-comment cmt"># Convert the minDuration into number of slots.</span>
-117: <span class="ruby-identifier">minDuration</span> <span class="ruby-operator">/=</span> <span class="ruby-ivar">@resolution</span>
-118: <span class="ruby-identifier">minDuration</span> = <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minDuration</span> <span class="ruby-operator"><=</span> <span class="ruby-value">0</span>
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 114</span>
+114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collectIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>)
+115: <span class="ruby-comment cmt"># Determine the start and stop index for the scoreboard search. We save</span>
+116: <span class="ruby-comment cmt"># the original values for later use as well.</span>
+117: <span class="ruby-identifier">startIdx</span> = <span class="ruby-identifier">sIdx</span> = <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">true</span>)
+118: <span class="ruby-identifier">endIdx</span> = <span class="ruby-identifier">eIdx</span> = <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">true</span>)
119:
-120: <span class="ruby-comment cmt"># This is collects the resulting intervals.</span>
-121: <span class="ruby-identifier">intervals</span> = []
-122: <span class="ruby-comment cmt"># The duration counter for the currently analyzed interval and the start</span>
-123: <span class="ruby-comment cmt"># index.</span>
-124: <span class="ruby-identifier">duration</span> = <span class="ruby-identifier">start</span> = <span class="ruby-value">0</span>
-125:
-126: <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">endIdx</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
-127: <span class="ruby-comment cmt"># Check whether the scoreboard slot matches any of the target values.</span>
-128: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>])
-129: <span class="ruby-comment cmt"># If so, save the start position if this is the first slot and start</span>
-130: <span class="ruby-comment cmt"># counting the matching slots.</span>
-131: <span class="ruby-identifier">start</span> = <span class="ruby-identifier">idx</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">start</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
-132: <span class="ruby-identifier">duration</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
-133: <span class="ruby-keyword kw">else</span>
-134: <span class="ruby-comment cmt"># If we don't have a match, check if we've just finished a matching</span>
-135: <span class="ruby-comment cmt"># interval.</span>
-136: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">duration</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
-137: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">duration</span> <span class="ruby-operator">>=</span> <span class="ruby-identifier">minDuration</span>
-138: <span class="ruby-identifier">intervals</span> <span class="ruby-operator"><<</span> [ <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">start</span>), <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>) ]
-139: <span class="ruby-keyword kw">end</span>
-140: <span class="ruby-identifier">duration</span> = <span class="ruby-identifier">start</span> = <span class="ruby-value">0</span>
-141: <span class="ruby-keyword kw">end</span>
-142: <span class="ruby-keyword kw">end</span>
-143: <span class="ruby-keyword kw">end</span>
-144: <span class="ruby-identifier">intervals</span>
-145: <span class="ruby-keyword kw">end</span></pre>
+120: <span class="ruby-comment cmt"># Convert the minDuration into number of slots.</span>
+121: <span class="ruby-identifier">minDuration</span> <span class="ruby-operator">/=</span> <span class="ruby-ivar">@resolution</span>
+122: <span class="ruby-identifier">minDuration</span> = <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minDuration</span> <span class="ruby-operator"><=</span> <span class="ruby-value">0</span>
+123:
+124: <span class="ruby-comment cmt"># Expand the interval with the minDuration to both sides. This will</span>
+125: <span class="ruby-comment cmt"># reduce the failure to detect intervals at the iv boundary. However,</span>
+126: <span class="ruby-comment cmt"># this will not prevent undetected intervals at the project time frame</span>
+127: <span class="ruby-comment cmt"># boundaries.</span>
+128: <span class="ruby-identifier">startIdx</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">minDuration</span>
+129: <span class="ruby-identifier">startIdx</span> = <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
+130: <span class="ruby-identifier">endIdx</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">minDuration</span>
+131: <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">endIdx</span> <span class="ruby-operator">></span> <span class="ruby-ivar">@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
+132:
+133: <span class="ruby-comment cmt"># This is collects the resulting intervals.</span>
+134: <span class="ruby-identifier">intervals</span> = <span class="ruby-constant">IntervalList</span>.<span class="ruby-identifier">new</span>
+135:
+136: <span class="ruby-comment cmt"># The duration counter for the currently analyzed interval and the start</span>
+137: <span class="ruby-comment cmt"># index.</span>
+138: <span class="ruby-identifier">duration</span> = <span class="ruby-identifier">start</span> = <span class="ruby-value">0</span>
+139:
+140: <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">endIdx</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
+141: <span class="ruby-comment cmt"># Check whether the scoreboard slot matches any of the target values.</span>
+142: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>])
+143: <span class="ruby-comment cmt"># If so, save the start position if this is the first slot and start</span>
+144: <span class="ruby-comment cmt"># counting the matching slots.</span>
+145: <span class="ruby-identifier">start</span> = <span class="ruby-identifier">idx</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">start</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
+146: <span class="ruby-identifier">duration</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
+147: <span class="ruby-keyword kw">else</span>
+148: <span class="ruby-comment cmt"># If we don't have a match, check if we've just finished a matching</span>
+149: <span class="ruby-comment cmt"># interval.</span>
+150: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">duration</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
+151: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">duration</span> <span class="ruby-operator">>=</span> <span class="ruby-identifier">minDuration</span>
+152: <span class="ruby-comment cmt"># Make sure that all intervals are within the originally</span>
+153: <span class="ruby-comment cmt"># requested Interval.</span>
+154: <span class="ruby-identifier">start</span> = <span class="ruby-identifier">sIdx</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">start</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">sIdx</span>
+155: <span class="ruby-identifier">idx</span> = <span class="ruby-identifier">eIdx</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">></span> <span class="ruby-identifier">eIdx</span>
+156:
+157: <span class="ruby-identifier">intervals</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">start</span>), <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>))
+158: <span class="ruby-keyword kw">end</span>
+159: <span class="ruby-identifier">duration</span> = <span class="ruby-identifier">start</span> = <span class="ruby-value">0</span>
+160: <span class="ruby-keyword kw">end</span>
+161: <span class="ruby-keyword kw">end</span>
+162: <span class="ruby-keyword kw">end</span>
+163: <span class="ruby-identifier">intervals</span>
+164: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -951,24 +973,24 @@
<div class="method-source-code"
id="date-o-dx-source">
<pre>
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 54</span>
-54: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">forceIntoProject</span> = <span class="ruby-keyword kw">false</span>)
-55: <span class="ruby-identifier">idx</span> = ((<span class="ruby-identifier">date</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@startDate</span>) <span class="ruby-operator">/</span> <span class="ruby-ivar">@resolution</span>).<span class="ruby-identifier">to_i</span>
-56:
-57: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">forceIntoProject</span>
-58: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
-59: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">>=</span> <span class="ruby-ivar">@size</span>
-60: <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">idx</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">>=</span> <span class="ruby-ivar">@size</span>)
-61: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Date #{date} is out of project time range "</span> <span class="ruby-operator">+</span>
-62: <span class="ruby-node">"(#{@startDate} - #{@endDate})"</span>
-63: <span class="ruby-keyword kw">end</span>
-64:
-65: <span class="ruby-identifier">idx</span>
-66: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 57</span>
+57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">forceIntoProject</span> = <span class="ruby-keyword kw">false</span>)
+58: <span class="ruby-identifier">idx</span> = ((<span class="ruby-identifier">date</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@startDate</span>) <span class="ruby-operator">/</span> <span class="ruby-ivar">@resolution</span>).<span class="ruby-identifier">to_i</span>
+59:
+60: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">forceIntoProject</span>
+61: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
+62: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">>=</span> <span class="ruby-ivar">@size</span>
+63: <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">idx</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">>=</span> <span class="ruby-ivar">@size</span>)
+64: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Date #{date} is out of project time range "</span> <span class="ruby-operator">+</span>
+65: <span class="ruby-node">"(#{@startDate} - #{@endDate})"</span>
+66: <span class="ruby-keyword kw">end</span>
+67:
+68: <span class="ruby-identifier">idx</span>
+69: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -997,22 +1019,22 @@
<div class="method-source-code"
id="each-source">
<pre>
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 69</span>
-69: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>(<span class="ruby-identifier">startIdx</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@size</span>)
-70: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">endIdx</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@size</span>
-71: <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">endIdx</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
-72: <span class="ruby-keyword kw">yield</span> <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">i</span>]
-73: <span class="ruby-keyword kw">end</span>
-74: <span class="ruby-keyword kw">else</span>
-75: <span class="ruby-ivar">@sb</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
-76: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">entry</span>
-77: <span class="ruby-keyword kw">end</span>
-78: <span class="ruby-keyword kw">end</span>
-79: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 72</span>
+72: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>(<span class="ruby-identifier">startIdx</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@size</span>)
+73: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">endIdx</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@size</span>
+74: <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">endIdx</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
+75: <span class="ruby-keyword kw">yield</span> <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">i</span>]
+76: <span class="ruby-keyword kw">end</span>
+77: <span class="ruby-keyword kw">else</span>
+78: <span class="ruby-ivar">@sb</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
+79: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">entry</span>
+80: <span class="ruby-keyword kw">end</span>
+81: <span class="ruby-keyword kw">end</span>
+82: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -1041,14 +1063,14 @@
<div class="method-source-code"
id="get-source">
<pre>
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 97</span>
-97: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">date</span>)
-98: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>)]
-99: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 100</span>
+100: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">date</span>)
+101: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>)]
+102: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -1078,20 +1100,20 @@
<div class="method-source-code"
id="idx-o-ate-source">
<pre>
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 42</span>
-42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">forceIntoProject</span> = <span class="ruby-keyword kw">false</span>)
-43: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">forceIntoProject</span>
-44: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@startDate</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">kdx</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
-45: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@endDate</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">>=</span> <span class="ruby-ivar">@size</span>
-46: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">>=</span> <span class="ruby-ivar">@size</span>
-47: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Index #{idx} is out of scoreboard range (#{size - 1})"</span>
-48: <span class="ruby-keyword kw">end</span>
-49: <span class="ruby-ivar">@startDate</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">idx</span> * <span class="ruby-ivar">@resolution</span>
-50: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 45</span>
+45: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">forceIntoProject</span> = <span class="ruby-keyword kw">false</span>)
+46: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">forceIntoProject</span>
+47: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@startDate</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">kdx</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
+48: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@endDate</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">>=</span> <span class="ruby-ivar">@size</span>
+49: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">>=</span> <span class="ruby-ivar">@size</span>
+50: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Index #{idx} is out of scoreboard range (#{size - 1})"</span>
+51: <span class="ruby-keyword kw">end</span>
+52: <span class="ruby-ivar">@startDate</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">idx</span> * <span class="ruby-ivar">@resolution</span>
+53: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -1120,13 +1142,13 @@
<div class="method-source-code"
id="set-source">
<pre>
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 102</span>
-102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">value</span>)
-103: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>)] = <span class="ruby-identifier">value</span>
-104: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 105</span>
+105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">value</span>)
+106: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>)] = <span class="ruby-identifier">value</span>
+107: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>