<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta name="Content-Type" content="text/html; charset=utf-8" /> <title>Class: Rumai::Area</title> <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" /> <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" /> <script type="text/javascript" charset="utf-8"> relpath = '..'; if (relpath != '') relpath += '/'; </script> <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script> <script type="text/javascript" charset="utf-8" src="../js/app.js"></script> </head> <body> <script type="text/javascript" charset="utf-8"> if (window.top.frames.main) document.body.className = 'frames'; </script> <div id="header"> <div id="menu"> <a href="../_index.html">Index (A)</a> » <span class='title'><a href="../Rumai.html" title="Rumai (module)">Rumai</a></span> » <span class="title">Area</span> <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div> </div> <div id="search"> <a id="class_list_link" href="#">Class List</a> <a id="method_list_link" href="#">Method List</a> <a id ="file_list_link" href="#">File List</a> </div> <div class="clear"></div> </div> <iframe id="search_frame"></iframe> <div id="content"><h1>Class: Rumai::Area </h1> <dl class="box"> <dt class="r1">Inherits:</dt> <dd class="r1"> <span class="inheritName"><a href="../Object.html" title="Object (class)">Object</a></span> <ul class="fullTree"> <li><a href="../Object.html" title="Object (class)">Object</a></li> <li class="next">Rumai::Area</li> </ul> <a href="#" class="inheritanceTree">show all</a> </dd> <dt class="r2">Includes:</dt> <dd class="r2">Enumerable, <a href="Chain.html" title="Rumai::Chain (module)">Chain</a>, <a href="ClientContainer.html" title="Rumai::ClientContainer (module)">ClientContainer</a>, <a href="WidgetImpl.html" title="Rumai::WidgetImpl (module)">WidgetImpl</a></dd> <dt class="r1 last">Defined in:</dt> <dd class="r1 last">lib/rumai/wm.rb</dd> </dl> <div class="clear"></div> <h2>Overview</h2><div class="docstring"> <div class="discussion"> <p> A region that contains clients. This can be either the floating area or a column in the managed area. </p> </div> </div> <div class="tags"> </div> <h2>Instance Attribute Summary</h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="#view-instance_method" title="#view (instance method)">- (Object) <strong>view</strong> </a> </span> <span class="note title readonly">readonly</span> <span class="summary_desc"><div class='inline'><p> Returns the value of attribute view. </p> </div></span> </li> </ul> <h2>Class Method Summary</h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="#curr-class_method" title="curr (class method)">+ (Object) <strong>curr</strong> </a> </span> <span class="summary_desc"><div class='inline'><p> Returns the currently focused area. </p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#floating-class_method" title="floating (class method)">+ (Object) <strong>floating</strong>(view = View.curr) </a> </span> <span class="summary_desc"><div class='inline'><p> Returns the floating area in the given view. </p> </div></span> </li> </ul> <h2>Instance Method Summary</h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="#chain-instance_method" title="#chain (instance method)">- (Object) <strong>chain</strong> </a> </span> <span class="summary_desc"><div class='inline'><p> Returns a list of all areas in the current view. </p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#client_ids-instance_method" title="#client_ids (instance method)">- (Object) <strong>client_ids</strong> </a> </span> <span class="summary_desc"><div class='inline'><p> Returns the IDs of the clients in this area. </p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#column%3F-instance_method" title="#column? (instance method)">- (Boolean) <strong>column?</strong> </a> (also: #managed?) </span> <span class="summary_desc"><div class='inline'><p> Checks if this is a managed area (a column). </p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#concat-instance_method" title="#concat (instance method)">- (Object) <strong>concat</strong>(area) </a> </span> <span class="summary_desc"><div class='inline'><p> Concatenates the given area to the bottom of this area. </p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#each-instance_method" title="#each (instance method)">- (Object) <strong>each</strong>(&block) </a> </span> <span class="summary_desc"><div class='inline'><p> Iterates through each client in this container. </p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#exist%3F-instance_method" title="#exist? (instance method)">- (Boolean) <strong>exist?</strong> </a> </span> <span class="summary_desc"><div class='inline'><p> Checks if this object exists in the chain. </p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#floating%3F-instance_method" title="#floating? (instance method)">- (Boolean) <strong>floating?</strong> </a> </span> <span class="summary_desc"><div class='inline'><p> Checks if this area is the floating area. </p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#focus-instance_method" title="#focus (instance method)">- (Object) <strong>focus</strong> </a> </span> <span class="summary_desc"><div class='inline'><p> Puts focus on this area. </p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#initialize-instance_method" title="#initialize (instance method)">- (Area) <strong>initialize</strong>(area_id, view = View.curr) </a> </span> <span class="note title constructor">constructor</span> <span class="summary_desc"><div class='inline'><p> A new instance of Area. </p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#insert-instance_method" title="#insert (instance method)">- (Object) <strong>insert</strong>(*clients) </a> </span> <span class="summary_desc"><div class='inline'><p> Inserts the given clients after the currently focused client in this area. </p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#layout%3D-instance_method" title="#layout= (instance method)">- (Object) <strong>layout</strong>(mode) </a> </span> <span class="summary_desc"><div class='inline'><p> Sets the layout of clients in this column. </p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#length-instance_method" title="#length (instance method)">- (Object) <strong>length</strong> </a> </span> <span class="summary_desc"><div class='inline'><p> Returns the number of clients in this area. </p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#length%3D-instance_method" title="#length= (instance method)">- (Object) <strong>length</strong>(max_clients) </a> </span> <span class="summary_desc"><div class='inline'><p> Ensures that this area has at most the given number of clients. </p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#push-instance_method" title="#push (instance method)">- (Object) <strong>push</strong>(*clients) </a> (also: #<<) </span> <span class="summary_desc"><div class='inline'><p> Inserts the given clients at the bottom of this area. </p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#unshift-instance_method" title="#unshift (instance method)">- (Object) <strong>unshift</strong>(*clients) </a> </span> <span class="summary_desc"><div class='inline'><p> Inserts the given clients at the top of this area. </p> </div></span> </li> </ul> <h3 class="inherited">Methods included from <a href="WidgetImpl.html" title="Rumai::WidgetImpl (module)">WidgetImpl</a></h3> <p class="inherited"><a href="WidgetImpl.html#%3D%3D-instance_method" title="Rumai::WidgetImpl#== (method)">#==</a>, <a href="WidgetImpl.html#current%3F-instance_method" title="Rumai::WidgetImpl#current? (method)">#current?</a></p> <h3 class="inherited">Methods included from <a href="Chain.html" title="Rumai::Chain (module)">Chain</a></h3> <p class="inherited"><a href="Chain.html#next-instance_method" title="Rumai::Chain#next (method)">#next</a>, <a href="Chain.html#prev-instance_method" title="Rumai::Chain#prev (method)">#prev</a></p> <h3 class="inherited">Methods included from <a href="ClientContainer.html" title="Rumai::ClientContainer (module)">ClientContainer</a></h3> <p class="inherited"><a href="ClientContainer.html#clients-instance_method" title="Rumai::ClientContainer#clients (method)">#clients</a>, <a href="ClientContainer.html#grouping-instance_method" title="Rumai::ClientContainer#grouping (method)">#grouping</a></p> <div id="constructor_details" class="method_details_list"> <h2>Constructor Details</h2> <div class="method_details first"> <p class="signature first" id="initialize-instance_method"> - (<tt><a href="" title="Rumai::Area (class)">Area</a></tt>) <strong>initialize</strong>(area_id, view = View.curr) </p><div class="docstring"> <div class="discussion"> <p> A new instance of Area </p> </div> </div> <div class="tags"> <h3>Parameters:</h3> <ul class="param"> <li> <span class='type'>(<tt><a href="View.html" title="Rumai::View (class)">Rumai::View</a></tt>)</span> <span class='name'>view</span> <em class="default">(defaults to: <tt>View.curr</tt>)</em> — <div class='inline'><p> the view object which contains this area </p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 494 495 496 497</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 494</span> <span class='kw'>def</span> <span class='id initialize'>initialize</span> <span class='id area_id'>area_id</span><span class='comma'>,</span> <span class='id view'>view</span> <span class='op'>=</span> <span class='const'>View</span><span class='period'>.</span><span class='id curr'>curr</span> <span class='ivar'>@id</span> <span class='op'>=</span> <span class='const'>Integer</span><span class='lparen'>(</span><span class='id area_id'>area_id</span><span class='rparen'>)</span> <span class='kw'>rescue</span> <span class='id area_id'>area_id</span> <span class='ivar'>@view</span> <span class='op'>=</span> <span class='id view'>view</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> <div id="instance_attr_details" class="attr_details"> <h2>Instance Attribute Details</h2> <span id=""></span> <span id="view-instance_method"></span> <div class="method_details first"> <p class="signature first" id="view-instance_method"> - (<tt><a href="../Object.html" title="Object (class)">Object</a></tt>) <strong>view</strong> <span class="extras">(readonly)</span> </p><div class="docstring"> <div class="discussion"> <p> Returns the value of attribute view </p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 488 489 490</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 488</span> <span class='kw'>def</span> <span class='id view'>view</span> <span class='ivar'>@view</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> <div id="class_method_details" class="method_details_list"> <h2>Class Method Details</h2> <div class="method_details first"> <p class="signature first" id="curr-class_method"> + (<tt><a href="../Object.html" title="Object (class)">Object</a></tt>) <strong>curr</strong> </p><div class="docstring"> <div class="discussion"> <p> Returns the currently focused area. </p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 520 521 522</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 520</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id curr'>curr</span> <span class='const'>View</span><span class='period'>.</span><span class='id curr'>curr</span><span class='period'>.</span><span class='id area_of_client'>area_of_client</span> <span class='const'>Client</span><span class='period'>.</span><span class='id curr'>curr</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <p class="signature " id="floating-class_method"> + (<tt><a href="../Object.html" title="Object (class)">Object</a></tt>) <strong>floating</strong>(view = View.curr) </p><div class="docstring"> <div class="discussion"> <p> Returns the floating area in the given view. </p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 527 528 529</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 527</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id floating'>floating</span> <span class='id view'>view</span> <span class='op'>=</span> <span class='const'>View</span><span class='period'>.</span><span class='id curr'>curr</span> <span class='id new'>new</span> <span class='const'>FLOATING_AREA_ID</span><span class='comma'>,</span> <span class='id view'>view</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> <div id="instance_method_details" class="method_details_list"> <h2>Instance Method Details</h2> <div class="method_details first"> <p class="signature first" id="chain-instance_method"> - (<tt><a href="../Object.html" title="Object (class)">Object</a></tt>) <strong>chain</strong> </p><div class="docstring"> <div class="discussion"> <p> Returns a list of all areas in the current view. </p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 536 537 538</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 536</span> <span class='kw'>def</span> <span class='id chain'>chain</span> <span class='ivar'>@view</span><span class='period'>.</span><span class='id areas'>areas</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <p class="signature " id="client_ids-instance_method"> - (<tt><a href="../Object.html" title="Object (class)">Object</a></tt>) <strong>client_ids</strong> </p><div class="docstring"> <div class="discussion"> <p> Returns the IDs of the clients in this area. </p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 552 553 554</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 552</span> <span class='kw'>def</span> <span class='id client_ids'>client_ids</span> <span class='ivar'>@view</span><span class='period'>.</span><span class='id client_ids'>client_ids</span> <span class='ivar'>@id</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <p class="signature " id="column?-instance_method"> - (<tt>Boolean</tt>) <strong>column?</strong> <span class="aliases">Also known as: <span class="names"><span id='managed?-instance_method'>managed?</span></span> </span> </p><div class="docstring"> <div class="discussion"> <p> Checks if this is a managed area (a column). </p> </div> </div> <div class="tags"> <h3>Returns:</h3> <ul class="return"> <li> <span class='type'>(<tt>Boolean</tt>)</span> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 509 510 511</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 509</span> <span class='kw'>def</span> <span class='id column?'>column?</span> <span class='kw'>not</span> <span class='id floating?'>floating?</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <p class="signature " id="concat-instance_method"> - (<tt><a href="../Object.html" title="Object (class)">Object</a></tt>) <strong>concat</strong>(area) </p><div class="docstring"> <div class="discussion"> <p> Concatenates the given area to the bottom of this area. </p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 651 652 653</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 651</span> <span class='kw'>def</span> <span class='id concat'>concat</span> <span class='id area'>area</span> <span class='id push'>push</span> <span class='id area'>area</span><span class='period'>.</span><span class='id clients'>clients</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <p class="signature " id="each-instance_method"> - (<tt><a href="../Object.html" title="Object (class)">Object</a></tt>) <strong>each</strong>(&block) </p><div class="docstring"> <div class="discussion"> <p> Iterates through each client in this container. </p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 561 562 563</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 561</span> <span class='kw'>def</span> <span class='id each'>each</span> <span class='op'>&</span><span class='id block'>block</span> <span class='id clients'>clients</span><span class='period'>.</span><span class='id each'>each</span><span class='lparen'>(</span><span class='op'>&</span><span class='id block'>block</span><span class='rparen'>)</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <p class="signature " id="exist?-instance_method"> - (<tt>Boolean</tt>) <strong>exist?</strong> </p><div class="docstring"> <div class="discussion"> <p> Checks if this object exists in the chain. </p> </div> </div> <div class="tags"> <h3>Returns:</h3> <ul class="return"> <li> <span class='type'>(<tt>Boolean</tt>)</span> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 543 544 545</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 543</span> <span class='kw'>def</span> <span class='id exist?'>exist?</span> <span class='id chain'>chain</span><span class='period'>.</span><span class='id include?'>include?</span> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <p class="signature " id="floating?-instance_method"> - (<tt>Boolean</tt>) <strong>floating?</strong> </p><div class="docstring"> <div class="discussion"> <p> Checks if this area is the floating area. </p> </div> </div> <div class="tags"> <h3>Returns:</h3> <ul class="return"> <li> <span class='type'>(<tt>Boolean</tt>)</span> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 502 503 504</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 502</span> <span class='kw'>def</span> <span class='id floating?'>floating?</span> <span class='ivar'>@id</span> <span class='op'>==</span> <span class='const'>FLOATING_AREA_ID</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <p class="signature " id="focus-instance_method"> - (<tt><a href="../Object.html" title="Object (class)">Object</a></tt>) <strong>focus</strong> </p><div class="docstring"> <div class="discussion"> <p> Puts focus on this area. </p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 584 585 586</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 584</span> <span class='kw'>def</span> <span class='id focus'>focus</span> <span class='ivar'>@view</span><span class='period'>.</span><span class='id ctl'>ctl</span><span class='period'>.</span><span class='id write'>write</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>select </span><span class='embexpr_beg'>#{</span><span class='ivar'>@id</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <p class="signature " id="insert-instance_method"> - (<tt><a href="../Object.html" title="Object (class)">Object</a></tt>) <strong>insert</strong>(*clients) </p><div class="docstring"> <div class="discussion"> <p> Inserts the given clients after the currently focused client in this area. </p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 622 623 624 625 626 627 628 629</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 622</span> <span class='kw'>def</span> <span class='id insert'>insert</span> <span class='op'>*</span><span class='id clients'>clients</span> <span class='id clients'>clients</span><span class='period'>.</span><span class='id flatten!'>flatten!</span> <span class='kw'>return</span> <span class='kw'>if</span> <span class='id clients'>clients</span><span class='period'>.</span><span class='id empty?'>empty?</span> <span class='id clients'>clients</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id c'>c</span><span class='op'>|</span> <span class='id import_client'>import_client</span> <span class='id c'>c</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <p class="signature " id="layout=-instance_method"> - (<tt><a href="../Object.html" title="Object (class)">Object</a></tt>) <strong>layout=</strong>(mode) </p><div class="docstring"> <div class="discussion"> <p> Sets the layout of clients in this column. </p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 568 569 570 571 572 573 574 575</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 568</span> <span class='kw'>def</span> <span class='id layout='>layout=</span> <span class='id mode'>mode</span> <span class='kw'>case</span> <span class='id mode'>mode</span> <span class='kw'>when</span> <span class='symbol'>:stack</span> <span class='kw'>then</span> <span class='id mode'>mode</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>stack-max</span><span class='tstring_end'>'</span></span> <span class='kw'>when</span> <span class='symbol'>:max</span> <span class='kw'>then</span> <span class='id mode'>mode</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>stack+max</span><span class='tstring_end'>'</span></span> <span class='kw'>end</span> <span class='ivar'>@view</span><span class='period'>.</span><span class='id ctl'>ctl</span><span class='period'>.</span><span class='id write'>write</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>colmode </span><span class='embexpr_beg'>#{</span><span class='ivar'>@id</span><span class='rbrace'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id mode'>mode</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <p class="signature " id="length-instance_method"> - (<tt><a href="../Object.html" title="Object (class)">Object</a></tt>) <strong>length</strong> </p><div class="docstring"> <div class="discussion"> <p> Returns the number of clients in this area. </p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 595 596 597</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 595</span> <span class='kw'>def</span> <span class='id length'>length</span> <span class='id client_ids'>client_ids</span><span class='period'>.</span><span class='id length'>length</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <p class="signature " id="length=-instance_method"> - (<tt><a href="../Object.html" title="Object (class)">Object</a></tt>) <strong>length=</strong>(max_clients) </p><div class="docstring"> <div class="discussion"> <p> Ensures that this area has at most the given number of clients. </p> <p> Areas to the right of this one serve as a buffer into which excess clients are evicted and from which deficit clients are imported. </p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 661</span> <span class='kw'>def</span> <span class='id length='>length=</span> <span class='id max_clients'>max_clients</span> <span class='kw'>return</span> <span class='kw'>unless</span> <span class='id max_clients'>max_clients</span> <span class='op'>></span> <span class='int'>0</span> <span class='id len'>len</span><span class='comma'>,</span> <span class='id out'>out</span> <span class='op'>=</span> <span class='id length'>length</span><span class='comma'>,</span> <span class='id fringe'>fringe</span> <span class='kw'>if</span> <span class='id len'>len</span> <span class='op'>></span> <span class='id max_clients'>max_clients</span> <span class='id out'>out</span><span class='period'>.</span><span class='id unshift'>unshift</span> <span class='id clients'>clients</span><span class='lbracket'>[</span><span class='id max_clients'>max_clients</span><span class='op'>..</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>elsif</span> <span class='id len'>len</span> <span class='op'><</span> <span class='id max_clients'>max_clients</span> <span class='kw'>until</span> <span class='lparen'>(</span><span class='id diff'>diff</span> <span class='op'>=</span> <span class='id max_clients'>max_clients</span> <span class='op'>-</span> <span class='id length'>length</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>0</span> <span class='id importable'>importable</span> <span class='op'>=</span> <span class='id out'>out</span><span class='period'>.</span><span class='id clients'>clients</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='id diff'>diff</span><span class='rbracket'>]</span> <span class='kw'>break</span> <span class='kw'>if</span> <span class='id importable'>importable</span><span class='period'>.</span><span class='id empty?'>empty?</span> <span class='id push'>push</span> <span class='id importable'>importable</span> <span class='kw'>end</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <p class="signature " id="push-instance_method"> - (<tt><a href="../Object.html" title="Object (class)">Object</a></tt>) <strong>push</strong>(*clients) <span class="aliases">Also known as: <span class="names"><span id='<<-instance_method'><<</span></span> </span> </p><div class="docstring"> <div class="discussion"> <p> Inserts the given clients at the bottom of this area. </p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 602 603 604 605 606 607 608 609 610 611 612 613 614</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 602</span> <span class='kw'>def</span> <span class='id push'>push</span> <span class='op'>*</span><span class='id clients'>clients</span> <span class='id clients'>clients</span><span class='period'>.</span><span class='id flatten!'>flatten!</span> <span class='kw'>return</span> <span class='kw'>if</span> <span class='id clients'>clients</span><span class='period'>.</span><span class='id empty?'>empty?</span> <span class='id insert'>insert</span> <span class='id clients'>clients</span> <span class='comment'># move inserted clients to bottom </span> <span class='id clients'>clients</span><span class='period'>.</span><span class='id reverse'>reverse</span><span class='period'>.</span><span class='id each_with_index'>each_with_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id c'>c</span><span class='comma'>,</span> <span class='id i'>i</span><span class='op'>|</span> <span class='kw'>until</span> <span class='id c'>c</span><span class='period'>.</span><span class='id id'>id</span> <span class='op'>==</span> <span class='kw'>self</span><span class='period'>.</span><span class='id client_ids'>client_ids</span><span class='lbracket'>[</span><span class='op'>-</span><span class='id i'>i</span><span class='period'>.</span><span class='id succ'>succ</span><span class='rbracket'>]</span> <span class='id c'>c</span><span class='period'>.</span><span class='id send'>send</span> <span class='symbol'>:down</span> <span class='kw'>end</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <p class="signature " id="unshift-instance_method"> - (<tt><a href="../Object.html" title="Object (class)">Object</a></tt>) <strong>unshift</strong>(*clients) </p><div class="docstring"> <div class="discussion"> <p> Inserts the given clients at the top of this area. </p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 634 635 636 637 638 639 640 641 642 643 644 645 646</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 634</span> <span class='kw'>def</span> <span class='id unshift'>unshift</span> <span class='op'>*</span><span class='id clients'>clients</span> <span class='id clients'>clients</span><span class='period'>.</span><span class='id flatten!'>flatten!</span> <span class='kw'>return</span> <span class='kw'>if</span> <span class='id clients'>clients</span><span class='period'>.</span><span class='id empty?'>empty?</span> <span class='id insert'>insert</span> <span class='id clients'>clients</span> <span class='comment'># move inserted clients to top </span> <span class='id clients'>clients</span><span class='period'>.</span><span class='id each_with_index'>each_with_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id c'>c</span><span class='comma'>,</span> <span class='id i'>i</span><span class='op'>|</span> <span class='kw'>until</span> <span class='id c'>c</span><span class='period'>.</span><span class='id id'>id</span> <span class='op'>==</span> <span class='kw'>self</span><span class='period'>.</span><span class='id client_ids'>client_ids</span><span class='lbracket'>[</span><span class='id i'>i</span><span class='rbracket'>]</span> <span class='id c'>c</span><span class='period'>.</span><span class='id send'>send</span> <span class='symbol'>:up</span> <span class='kw'>end</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> </div> <div id="footer"> Generated on Mon Mar 22 22:23:54 2010 by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a> 0.5.4 (ruby-1.9.1). </div> </body> </html>