summaryrefslogtreecommitdiff
path: root/classes/Net/SSH/Multi/ServerList.html
diff options
context:
space:
mode:
Diffstat (limited to 'classes/Net/SSH/Multi/ServerList.html')
-rw-r--r--classes/Net/SSH/Multi/ServerList.html224
1 files changed, 224 insertions, 0 deletions
diff --git a/classes/Net/SSH/Multi/ServerList.html b/classes/Net/SSH/Multi/ServerList.html
new file mode 100644
index 0000000..5c29cac
--- /dev/null
+++ b/classes/Net/SSH/Multi/ServerList.html
@@ -0,0 +1,224 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang='en'>
+ <head>
+ <title>: Net::SSH::Multi::ServerList [Control multiple Net::SSH connections via a single interface.]</title>
+ <meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
+ <link href='../../../../rdoc-style.css' media='screen' rel='stylesheet' type='text/css'>
+ <script type='text/javascript'>
+ //<![CDATA[
+ function popupCode(url) {
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+ }
+
+ function toggleCode(id) {
+ var code = document.getElementById(id)
+
+ code.style.display = code.style.display != 'block' ? 'block' : 'none'
+ return true
+ }
+
+ // Make codeblocks hidden by default
+ document.writeln('<' + 'style type="text/css">.method .source pre { display: none }<\/style>')
+ //]]>
+ </script>
+ </head>
+ <body class='page'>
+ <div class='class' id='wrapper'>
+ <div class='header'>
+ <h1 class='name'>
+ <span class='type'>Class</span>
+ Net::SSH::Multi::ServerList
+ </h1>
+ <ol class='paths'>
+ <li>
+ <a href="../../../../files/lib/net/ssh/multi/server_list_rb.html">lib/net/ssh/multi/server_list.rb</a>
+ </li>
+ </ol>
+ <div class='parent'>
+ Parent:
+ <strong>Object</strong>
+ </div>
+ </div>
+ <div id='content'>
+ <div id='text'>
+ <div id='description'>
+ <p>
+ Encapsulates a list of server objects, both dynamic (<a
+ href="DynamicServer.html">Net::SSH::Multi::DynamicServer</a>) and static
+ (<a href="Server.html">Net::SSH::Multi::Server</a>). It attempts to make it
+ transparent whether a dynamic server set has been evaluated or not. Note
+ that a <a href="ServerList.html">ServerList</a> is NOT an Array, though it
+ is Enumerable.
+ </p>
+ </div>
+ <div id='method-list'>
+ <h2>Methods</h2>
+ <h3>public class</h3>
+ <ol>
+ <li><a href="#M000059">new</a></li>
+ </ol>
+ <h3>public instance</h3>
+ <ol>
+ <li><a href="#M000060">add</a></li>
+ <li><a href="#M000061">concat</a></li>
+ <li><a href="#M000062">each</a></li>
+ <li><a href="#M000064">flatten</a></li>
+ <li><a href="#M000063">select</a></li>
+ <li><a href="#M000065">to_ary</a></li>
+ </ol>
+ </div>
+ <div id='context'>
+ <div id='includes'>
+ <h2>Included modules</h2>
+ <ol>
+ <li>Enumerable</li>
+ </ol>
+ </div>
+ </div>
+ <div id='section'>
+ <div id='methods'>
+ <h2>Public class methods</h2>
+ <div class='method public-class' id='method-M000059'>
+ <a name='M000059'> </a>
+ <div class='synopsis'>
+ <span class='name'>new</span>
+ <span class='arguments'>(list=[])</span>
+ </div>
+ <div class='description'>
+ <p>
+ Create a new <a href="ServerList.html">ServerList</a> that wraps the given
+ server list. Duplicate entries will be discarded.
+ </p>
+ </div>
+ <div class='source'>
+ <a class='source-toggle' href='#' onclick="toggleCode('M000059-source'); return false">
+ [show source]
+ </a>
+ <pre id='M000059-source'> <span class="ruby-comment cmt"># File lib/net/ssh/multi/server_list.rb, line 15</span>&#x000A;15: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">list</span>=[])&#x000A;16: <span class="ruby-ivar">@list</span> = <span class="ruby-identifier">list</span>.<span class="ruby-identifier">uniq</span>&#x000A;17: <span class="ruby-keyword kw">end</span></pre>
+ </div>
+ </div>
+ <h2>Public instance methods</h2>
+ <div class='method public-instance' id='method-M000060'>
+ <a name='M000060'> </a>
+ <div class='synopsis'>
+ <span class='name'>add</span>
+ <span class='arguments'>(server)</span>
+ </div>
+ <div class='description'>
+ <p>
+ Adds the given server to the list, and returns the argument. If an
+ identical server definition already exists in the collection, the argument
+ is <em>not</em> added, and the existing server record is returned instead.
+ </p>
+ </div>
+ <div class='source'>
+ <a class='source-toggle' href='#' onclick="toggleCode('M000060-source'); return false">
+ [show source]
+ </a>
+ <pre id='M000060-source'> <span class="ruby-comment cmt"># File lib/net/ssh/multi/server_list.rb, line 23</span>&#x000A;23: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add</span>(<span class="ruby-identifier">server</span>)&#x000A;24: <span class="ruby-identifier">index</span> = <span class="ruby-ivar">@list</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">server</span>)&#x000A;25: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">index</span>&#x000A;26: <span class="ruby-identifier">server</span> = <span class="ruby-ivar">@list</span>[<span class="ruby-identifier">index</span>]&#x000A;27: <span class="ruby-keyword kw">else</span>&#x000A;28: <span class="ruby-ivar">@list</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">server</span>)&#x000A;29: <span class="ruby-keyword kw">end</span>&#x000A;30: <span class="ruby-identifier">server</span>&#x000A;31: <span class="ruby-keyword kw">end</span></pre>
+ </div>
+ </div>
+ <div class='method public-instance' id='method-M000061'>
+ <a name='M000061'> </a>
+ <div class='synopsis'>
+ <span class='name'>concat</span>
+ <span class='arguments'>(servers)</span>
+ </div>
+ <div class='description'>
+ <p>
+ Adds an array (or otherwise Enumerable list) of servers to this list, by
+ calling <a href="ServerList.html#M000060">add</a> for each argument.
+ Returns <tt>self</tt>.
+ </p>
+ </div>
+ <div class='source'>
+ <a class='source-toggle' href='#' onclick="toggleCode('M000061-source'); return false">
+ [show source]
+ </a>
+ <pre id='M000061-source'> <span class="ruby-comment cmt"># File lib/net/ssh/multi/server_list.rb, line 35</span>&#x000A;35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">concat</span>(<span class="ruby-identifier">servers</span>)&#x000A;36: <span class="ruby-identifier">servers</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">server</span><span class="ruby-operator">|</span> <span class="ruby-identifier">add</span>(<span class="ruby-identifier">server</span>) }&#x000A;37: <span class="ruby-keyword kw">self</span>&#x000A;38: <span class="ruby-keyword kw">end</span></pre>
+ </div>
+ </div>
+ <div class='method public-instance' id='method-M000062'>
+ <a name='M000062'> </a>
+ <div class='synopsis'>
+ <span class='name'>each</span>
+ <span class='arguments'>() {|server| ...}</span>
+ </div>
+ <div class='description'>
+ <p>
+ Iterates over each distinct server record in the collection. This will
+ correctly iterate over server records instantiated by a <a
+ href="DynamicServer.html">DynamicServer</a> as well, but only if the
+ dynamic server has been &#8220;evaluated&#8221; (see <a
+ href="DynamicServer.html#M000034">Net::SSH::Multi::DynamicServer#evaluate!</a>).
+ </p>
+ </div>
+ <div class='source'>
+ <a class='source-toggle' href='#' onclick="toggleCode('M000062-source'); return false">
+ [show source]
+ </a>
+ <pre id='M000062-source'> <span class="ruby-comment cmt"># File lib/net/ssh/multi/server_list.rb, line 44</span>&#x000A;44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>&#x000A;45: <span class="ruby-ivar">@list</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">server</span><span class="ruby-operator">|</span>&#x000A;46: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">server</span>&#x000A;47: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Server</span> <span class="ruby-keyword kw">then</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">server</span>&#x000A;48: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">DynamicServer</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">server</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">item</span> }&#x000A;49: <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;server list contains non-server: #{server.class}&quot;</span>&#x000A;50: <span class="ruby-keyword kw">end</span>&#x000A;51: <span class="ruby-keyword kw">end</span>&#x000A;52: <span class="ruby-keyword kw">self</span>&#x000A;53: <span class="ruby-keyword kw">end</span></pre>
+ </div>
+ </div>
+ <div class='method public-instance' id='method-M000064'>
+ <a name='M000064'> </a>
+ <div class='synopsis'>
+ <span class='name'>flatten</span>
+ <span class='arguments'>()</span>
+ </div>
+ <div class='description'>
+ <p>
+ Returns an array of all servers in the list, with dynamic server records
+ expanded. The result is an array of distinct server records (duplicates are
+ removed from the result).
+ </p>
+ </div>
+ <div class='source'>
+ <a class='source-toggle' href='#' onclick="toggleCode('M000064-source'); return false">
+ [show source]
+ </a>
+ <pre id='M000064-source'> <span class="ruby-comment cmt"># File lib/net/ssh/multi/server_list.rb, line 65</span>&#x000A;65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">flatten</span>&#x000A;66: <span class="ruby-identifier">result</span> = <span class="ruby-ivar">@list</span>.<span class="ruby-identifier">inject</span>([]) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">aggregator</span>, <span class="ruby-identifier">server</span><span class="ruby-operator">|</span>&#x000A;67: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">server</span>&#x000A;68: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Server</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">aggregator</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">server</span>)&#x000A;69: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">DynamicServer</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">aggregator</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">server</span>)&#x000A;70: <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;server list contains non-server: #{server.class}&quot;</span>&#x000A;71: <span class="ruby-keyword kw">end</span>&#x000A;72: <span class="ruby-keyword kw">end</span>&#x000A;73: &#x000A;74: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">uniq</span>&#x000A;75: <span class="ruby-keyword kw">end</span></pre>
+ </div>
+ </div>
+ <div class='method public-instance' id='method-M000063'>
+ <a name='M000063'> </a>
+ <div class='synopsis'>
+ <span class='name'>select</span>
+ <span class='arguments'>() {|i| ...}</span>
+ </div>
+ <div class='description'>
+ <p>
+ Works exactly as Enumerable#select, but returns the result as a new <a
+ href="ServerList.html">ServerList</a> instance.
+ </p>
+ </div>
+ <div class='source'>
+ <a class='source-toggle' href='#' onclick="toggleCode('M000063-source'); return false">
+ [show source]
+ </a>
+ <pre id='M000063-source'> <span class="ruby-comment cmt"># File lib/net/ssh/multi/server_list.rb, line 57</span>&#x000A;57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">select</span>&#x000A;58: <span class="ruby-identifier">subset</span> = <span class="ruby-ivar">@list</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">i</span> }&#x000A;59: <span class="ruby-constant">ServerList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">subset</span>)&#x000A;60: <span class="ruby-keyword kw">end</span></pre>
+ </div>
+ </div>
+ <div class='method public-instance' id='method-M000065'>
+ <a name='M000065'> </a>
+ <div class='synopsis'>
+ <span class='name'>to_ary</span>
+ <span class='arguments'>()</span>
+ </div>
+ <div class='description'>
+ <p>
+ Alias for <a href="ServerList.html#M000064">flatten</a>
+ </p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id='footer-push'></div>
+ </div>
+ <div id='footer'>
+ <a href="http://github.com/mislav/hanna/tree/master"><strong>Hanna</strong> RDoc template</a>
+ </div>
+ </body>
+</html>