rdoc/RubyXL/ColumnRanges.html in rubyXL-3.2.6 vs rdoc/RubyXL/ColumnRanges.html in rubyXL-3.2.7

- old
+ new

@@ -2,11 +2,11 @@ <html> <head> <meta charset="UTF-8"> -<title>class RubyXL::ColumnRanges - rubyXL 3.2.6</title> +<title>class RubyXL::ColumnRanges - rubyXL 3.2.7</title> <link href="../fonts.css" rel="stylesheet"> <link href="../rdoc.css" rel="stylesheet"> <script type="text/javascript"> @@ -59,11 +59,11 @@ <div id="parent-class-section" class="nav-section"> <h3>Parent</h3> - <p class="link">OOXMLObject + <p class="link">OOXMLContainerObject </div> @@ -73,16 +73,16 @@ <ul class="link-list" role="directory"> <li ><a href="#method-i-before_write_xml">#before_write_xml</a> - <li ><a href="#method-i-find">#find</a> - <li ><a href="#method-i-get_range">#get_range</a> <li ><a href="#method-i-insert_column">#insert_column</a> + <li ><a href="#method-i-locate_range">#locate_range</a> + </ul> </div> </div> </nav> @@ -132,13 +132,14 @@ <div class="method-source-code" id="before_write_xml-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/objects/column_range.rb, line 69</span> + <pre><span class="ruby-comment"># File lib/rubyXL/objects/column_range.rb, line 85</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">before_write_xml</span> - <span class="ruby-operator">!</span>(<span class="ruby-identifier">column_ranges</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">column_ranges</span>.<span class="ruby-identifier">empty?</span>) + <span class="ruby-keyword">self</span>.<span class="ruby-identifier">sort_by!</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">min</span> } + <span class="ruby-operator">!</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">empty?</span>) <span class="ruby-keyword">end</span></pre> </div> </div> @@ -146,32 +147,61 @@ </div> - <div id="method-i-find" class="method-detail "> + <div id="method-i-get_range" class="method-detail "> <div class="method-heading"> - <span class="method-name">find</span><span + <span class="method-name">get_range</span><span class="method-args">(col_index)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> + <p>Locate an existing column range, make a new one if not found, or split +existing column range into multiples.</p> - - <div class="method-source-code" id="find-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/objects/column_range.rb, line 61</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">find</span>(<span class="ruby-identifier">col_index</span>) - <span class="ruby-identifier">column_ranges</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">column_ranges</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">range</span><span class="ruby-operator">|</span> <span class="ruby-identifier">range</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">col_index</span>) } + <div class="method-source-code" id="get_range-source"> + <pre><span class="ruby-comment"># File lib/rubyXL/objects/column_range.rb, line 45</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_range</span>(<span class="ruby-identifier">col_index</span>) + <span class="ruby-identifier">col_num</span> = <span class="ruby-identifier">col_index</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> + + <span class="ruby-identifier">old_range</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">locate_range</span>(<span class="ruby-identifier">col_index</span>) + + <span class="ruby-keyword">if</span> <span class="ruby-identifier">old_range</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">then</span> + <span class="ruby-identifier">new_range</span> = <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">ColumnRange</span>.<span class="ruby-identifier">new</span> + <span class="ruby-keyword">else</span> + <span class="ruby-keyword">if</span> <span class="ruby-identifier">old_range</span>.<span class="ruby-identifier">min</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">col_num</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">old_range</span>.<span class="ruby-identifier">max</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">col_num</span> <span class="ruby-keyword">then</span> + <span class="ruby-keyword">return</span> <span class="ruby-identifier">old_range</span> <span class="ruby-comment"># Single column range, OK to change in place</span> + <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">old_range</span>.<span class="ruby-identifier">min</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">col_num</span> <span class="ruby-keyword">then</span> + <span class="ruby-identifier">new_range</span> = <span class="ruby-identifier">old_range</span>.<span class="ruby-identifier">dup</span> + <span class="ruby-identifier">old_range</span>.<span class="ruby-identifier">min</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> + <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">old_range</span>.<span class="ruby-identifier">max</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">col_num</span> <span class="ruby-keyword">then</span> + <span class="ruby-identifier">new_range</span> = <span class="ruby-identifier">old_range</span>.<span class="ruby-identifier">dup</span> + <span class="ruby-identifier">old_range</span>.<span class="ruby-identifier">max</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span> + <span class="ruby-keyword">else</span> + <span class="ruby-identifier">range_before</span> = <span class="ruby-identifier">old_range</span>.<span class="ruby-identifier">dup</span> + <span class="ruby-identifier">range_before</span>.<span class="ruby-identifier">max</span> = <span class="ruby-identifier">col_index</span> <span class="ruby-comment"># col_num - 1</span> + <span class="ruby-keyword">self</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">range_before</span> + + <span class="ruby-identifier">old_range</span>.<span class="ruby-identifier">min</span> = <span class="ruby-identifier">col_num</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> + + <span class="ruby-identifier">new_range</span> = <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">ColumnRange</span>.<span class="ruby-identifier">new</span> + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">end</span> + + <span class="ruby-identifier">new_range</span>.<span class="ruby-identifier">min</span> = <span class="ruby-identifier">new_range</span>.<span class="ruby-identifier">max</span> = <span class="ruby-identifier">col_num</span> + <span class="ruby-keyword">self</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">new_range</span> + <span class="ruby-keyword">return</span> <span class="ruby-identifier">new_range</span> <span class="ruby-keyword">end</span></pre> </div> </div> @@ -179,46 +209,32 @@ </div> - <div id="method-i-get_range" class="method-detail "> + <div id="method-i-insert_column" class="method-detail "> <div class="method-heading"> - <span class="method-name">get_range</span><span + <span class="method-name">insert_column</span><span class="method-args">(col_index)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> - <p>Locate an existing column range, make a new one if not found, or split -existing column range into multiples.</p> - - <div class="method-source-code" id="get_range-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/objects/column_range.rb, line 44</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_range</span>(<span class="ruby-identifier">col_index</span>) - <span class="ruby-identifier">col_num</span> = <span class="ruby-identifier">col_index</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> - <span class="ruby-identifier">old_range</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">col_index</span>) - - <span class="ruby-keyword">if</span> <span class="ruby-identifier">old_range</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">then</span> - <span class="ruby-identifier">new_range</span> = <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">ColumnRange</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:min</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">col_num</span>, <span class="ruby-value">:max</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">col_num</span>) - <span class="ruby-keyword">self</span>.<span class="ruby-identifier">column_ranges</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">new_range</span> - <span class="ruby-keyword">return</span> <span class="ruby-identifier">new_range</span> - <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">old_range</span>.<span class="ruby-identifier">min</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">col_num</span> <span class="ruby-operator">&amp;&amp;</span> - <span class="ruby-identifier">old_range</span>.<span class="ruby-identifier">max</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">col_num</span> <span class="ruby-keyword">then</span> <span class="ruby-comment"># Single column range, OK to change in place</span> - <span class="ruby-keyword">return</span> <span class="ruby-identifier">old_range</span> - <span class="ruby-keyword">else</span> - <span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Range splitting not implemented yet&quot;</span> - <span class="ruby-keyword">end</span> + + <div class="method-source-code" id="insert_column-source"> + <pre><span class="ruby-comment"># File lib/rubyXL/objects/column_range.rb, line 81</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">insert_column</span>(<span class="ruby-identifier">col_index</span>) + <span class="ruby-keyword">self</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">range</span><span class="ruby-operator">|</span> <span class="ruby-identifier">range</span>.<span class="ruby-identifier">insert_column</span>(<span class="ruby-identifier">col_index</span>) } <span class="ruby-keyword">end</span></pre> </div> </div> @@ -226,14 +242,14 @@ </div> - <div id="method-i-insert_column" class="method-detail "> + <div id="method-i-locate_range" class="method-detail "> <div class="method-heading"> - <span class="method-name">insert_column</span><span + <span class="method-name">locate_range</span><span class="method-args">(col_index)</span> <span class="method-click-advice">click to toggle source</span> </div> @@ -244,13 +260,13 @@ - <div class="method-source-code" id="insert_column-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/objects/column_range.rb, line 65</span> -<span class="ruby-keyword">def</span> <span class="ruby-identifier">insert_column</span>(<span class="ruby-identifier">col_index</span>) - <span class="ruby-identifier">column_ranges</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">column_ranges</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">range</span><span class="ruby-operator">|</span> <span class="ruby-identifier">range</span>.<span class="ruby-identifier">insert_column</span>(<span class="ruby-identifier">col_index</span>) } + <div class="method-source-code" id="locate_range-source"> + <pre><span class="ruby-comment"># File lib/rubyXL/objects/column_range.rb, line 77</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">locate_range</span>(<span class="ruby-identifier">col_index</span>) + <span class="ruby-keyword">self</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">range</span><span class="ruby-operator">|</span> <span class="ruby-identifier">range</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">col_index</span>) } <span class="ruby-keyword">end</span></pre> </div> </div>