summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordelano <delano@delanotes.com>2015-04-11 13:14:37 -0700
committerdelano <delano@delanotes.com>2015-04-11 13:14:37 -0700
commit0348314d0c7edfe8797a95c1c1e22b4c47cdf913 (patch)
tree48ed9b1eef707e9330a28b923d9041b58d2bd840
parentfe43b81fc77b5142404b0c6b055a086ac0da3015 (diff)
downloadnet-ssh-multi-gh-pages.tar.gz
Updated docsgh-pages
-rw-r--r--classes/Net/SSH/Multi.html4
-rw-r--r--classes/Net/SSH/Multi/Channel.html54
-rw-r--r--classes/Net/SSH/Multi/ChannelProxy.html4
-rw-r--r--classes/Net/SSH/Multi/DynamicServer.html16
-rw-r--r--classes/Net/SSH/Multi/PendingConnection.html11
-rw-r--r--classes/Net/SSH/Multi/Server.html59
-rw-r--r--classes/Net/SSH/Multi/ServerList.html2
-rw-r--r--classes/Net/SSH/Multi/Session.html62
-rw-r--r--classes/Net/SSH/Multi/SessionActions.html34
-rw-r--r--classes/Net/SSH/Multi/Subsession.html4
-rw-r--r--classes/Net/SSH/Multi/Version.html2
-rw-r--r--created.rid30
-rw-r--r--files/CHANGES_txt.html21
-rw-r--r--files/README_rdoc.html20
-rw-r--r--files/lib/net/ssh/multi/channel_proxy_rb.html2
-rw-r--r--files/lib/net/ssh/multi/channel_rb.html2
-rw-r--r--files/lib/net/ssh/multi/dynamic_server_rb.html2
-rw-r--r--files/lib/net/ssh/multi/pending_connection_rb.html2
-rw-r--r--files/lib/net/ssh/multi/server_list_rb.html2
-rw-r--r--files/lib/net/ssh/multi/server_rb.html2
-rw-r--r--files/lib/net/ssh/multi/session_actions_rb.html2
-rw-r--r--files/lib/net/ssh/multi/session_rb.html2
-rw-r--r--files/lib/net/ssh/multi/subsession_rb.html2
-rw-r--r--files/lib/net/ssh/multi/version_rb.html2
-rw-r--r--files/lib/net/ssh/multi_rb.html2
-rw-r--r--fr_method_index.html42
-rw-r--r--index.html2
27 files changed, 197 insertions, 192 deletions
diff --git a/classes/Net/SSH/Multi.html b/classes/Net/SSH/Multi.html
index c9ae8ee..0e96808 100644
--- a/classes/Net/SSH/Multi.html
+++ b/classes/Net/SSH/Multi.html
@@ -88,7 +88,7 @@
parallel, and allows commands to be executed on subsets of servers (defined
by groups).</p>
- <pre class="ruby"><span class="ruby-identifier">require</span> <span class="ruby-string">'net/ssh/multi'</span>&#x000A;&#x000A;<span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Multi</span>.<span class="ruby-identifier">start</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">session</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-comment"># access servers via a gateway</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">via</span> <span class="ruby-string">'gateway'</span>, <span class="ruby-string">'gateway-user'</span>&#x000A;&#x000A; <span class="ruby-comment"># define the servers we want to use</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'user1@host1'</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'user2@host2'</span>&#x000A;&#x000A; <span class="ruby-comment"># define servers in groups for more granular access</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">group</span> :<span class="ruby-identifier">app</span> <span class="ruby-keyword">do</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'user@app1'</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'user@app2'</span>&#x000A; <span class="ruby-keyword">end</span>&#x000A;&#x000A; <span class="ruby-comment"># execute commands on all servers</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">exec</span> <span class="ruby-string">&quot;uptime&quot;</span>&#x000A;&#x000A; <span class="ruby-comment"># execute commands on a subset of servers</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">with</span>(:<span class="ruby-identifier">app</span>).<span class="ruby-identifier">exec</span> <span class="ruby-string">&quot;hostname&quot;</span>&#x000A;&#x000A; <span class="ruby-comment"># run the aggregated event loop</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">loop</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>require 'net/ssh/multi'&#x000A;Net::SSH::Multi.start do |session|&#x000A; # access servers via a gateway&#x000A; session.via 'gateway', 'gateway-user'&#x000A;&#x000A; # define the servers we want to use&#x000A; session.use 'user1@host1'&#x000A; session.use 'user2@host2'&#x000A;&#x000A; # define servers in groups for more granular access&#x000A; session.group :app do&#x000A; session.use 'user@app1'&#x000A; session.use 'user@app2'&#x000A; end&#x000A;&#x000A; # execute commands on all servers&#x000A; session.exec &quot;uptime&quot;&#x000A;&#x000A; # execute commands on a subset of servers&#x000A; session.with(:app).exec &quot;hostname&quot;&#x000A;&#x000A; # run the aggregated event loop&#x000A; session.loop&#x000A;end</pre>
<p>See <a href="Multi/Session.html">Net::SSH::Multi::Session</a> for more
documentation.</p>
@@ -135,7 +135,7 @@
href="Multi/Session.html#method-i-close">Net::SSH::Multi::Session#close</a>)
when the block finishes. Otherwise, the new session will be returned.</p>
- <pre class="ruby"><span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Multi</span>.<span class="ruby-identifier">start</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">session</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-comment"># ...</span>&#x000A;<span class="ruby-keyword">end</span>&#x000A;&#x000A;<span class="ruby-identifier">session</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Multi</span>.<span class="ruby-identifier">start</span>&#x000A;<span class="ruby-comment"># ...</span>&#x000A;<span class="ruby-identifier">session</span>.<span class="ruby-identifier">close</span></pre>
+ <pre>Net::SSH::Multi.start do |session|&#x000A; # ...&#x000A;end&#x000A;session = Net::SSH::Multi.start&#x000A;# ...&#x000A;session.close</pre>
<p>Any options are passed directly to <a
href="Multi/Session.html#method-c-new">Net::SSH::Multi::Session.new</a>
diff --git a/classes/Net/SSH/Multi/Channel.html b/classes/Net/SSH/Multi/Channel.html
index e535eb3..7718b9b 100644
--- a/classes/Net/SSH/Multi/Channel.html
+++ b/classes/Net/SSH/Multi/Channel.html
@@ -51,16 +51,16 @@
<p>You typically obtain a <a href="Channel.html">Net::SSH::Multi::Channel</a>
instance via <a
- href="SessionActions.html#method-i-open_channel">Net::SSH::Multi::SessionActions#open_channel</a>
+ href="SessionActions.html#method-i-open_channel">Net::SSH::Multi::Session#open_channel</a>
or <a
- href="SessionActions.html#method-i-exec">Net::SSH::Multi::SessionActions#exec</a>,
+ href="SessionActions.html#method-i-exec">Net::SSH::Multi::Session#exec</a>,
though there is nothing stopping you from instantiating one yourself with a
handful of Net::SSH::Connection::Channel objects (though they should be
associated with connections managed by a <a
href="Session.html">Net::SSH::Multi::Session</a> object for consistent
behavior).</p>
- <pre class="ruby"><span class="ruby-identifier">channel</span> = <span class="ruby-identifier">session</span>.<span class="ruby-identifier">open_channel</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-comment"># ...</span>&#x000A;<span class="ruby-keyword">end</span>&#x000A;&#x000A;<span class="ruby-identifier">channel</span>.<span class="ruby-identifier">wait</span></pre>
+ <pre>channel = session.open_channel do |ch|&#x000A; # ...&#x000A;end&#x000A;channel.wait</pre>
</div>
<div id='method-list'>
<h2>Methods</h2>
@@ -151,13 +151,13 @@
<div class='description'>
<p>Instantiate a new <a href="Channel.html">Net::SSH::Multi::Channel</a>
- instance, controlled by the given <code>connection</code> (a <a
+ instance, controlled by the given <tt>connection</tt> (a <a
href="Session.html">Net::SSH::Multi::Session</a> object) and wrapping the
- given <code>channels</code> (Net::SSH::Connection::Channel instances).</p>
+ given <tt>channels</tt> (Net::SSH::Connection::Channel instances).</p>
<p>You will typically never call this directly; rather, you'll get your
multi-channel references via <a
- href="SessionActions.html#method-i-open_channel">Net::SSH::Multi::SessionActions#open_channel</a>
+ href="SessionActions.html#method-i-open_channel">Net::SSH::Multi::Session#open_channel</a>
and friends.</p>
</div>
<div class='source'>
@@ -178,7 +178,7 @@
<p>Retrieve the property (see <a
href="Channel.html#attribute-i-properties">properties</a>) with the given
- <code>key</code>.</p>
+ <tt>key</tt>.</p>
<pre>host = channel[:host]</pre>
</div>
@@ -199,7 +199,7 @@
<p>Set the property (see <a
href="Channel.html#attribute-i-properties">properties</a>) with the given
- <code>key</code> to the given <code>value</code>.</p>
+ <tt>key</tt> to the given <tt>value</tt>.</p>
<pre>channel[:visited] = true</pre>
</div>
@@ -290,13 +290,13 @@
</div>
<div class='description'>
- <p>Perform an <code>exec</code> command on all component channels. The block,
- if given, is passed to each component channel, so it will (potentially) be
+ <p>Perform an <tt>exec</tt> command on all component channels. The block, if
+ given, is passed to each component channel, so it will (potentially) be
invoked once for every channel in the collection. The block will receive
two parameters: the specific channel object being operated on, and a
boolean indicating whether the exec succeeded or not.</p>
- <pre class="ruby"><span class="ruby-identifier">channel</span>.<span class="ruby-identifier">exec</span> <span class="ruby-string">&quot;ls -l&quot;</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span>, <span class="ruby-identifier">success</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-comment"># ...</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>channel.exec &quot;ls -l&quot; do |ch, success|&#x000A; # ...&#x000A;end</pre>
<p>See the documentation in <a href="../../SSH.html">Net::SSH</a> for
Net::SSH::Connection::Channel#exec for more information on how to work with
@@ -321,7 +321,7 @@
remote server terminates the channel. The callback will be invoked with one
argument: the specific channel object being closed.</p>
- <pre class="ruby"><span class="ruby-identifier">channel</span>.<span class="ruby-identifier">on_close</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-comment"># ...</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>channel.on_close do |ch|&#x000A; # ...&#x000A;end</pre>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-on_close-source'); return false">
@@ -339,11 +339,11 @@
<div class='description'>
<p>Registers a callback on all component channels, to be invoked when the
- remote process emits data (usually on its <code>stdout</code> stream). The
+ remote process emits data (usually on its <tt>stdout</tt> stream). The
block will be invoked with two arguments: the specific channel object, and
the data that was received.</p>
- <pre class="ruby"><span class="ruby-identifier">channel</span>.<span class="ruby-identifier">on_data</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;got data: #{data}&quot;</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>channel.on_data do |ch, data|&#x000A; puts &quot;got data: #{data}&quot;&#x000A;end</pre>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-on_data-source'); return false">
@@ -364,7 +364,7 @@
remote server has no further data to send. The callback will be invoked
with one argument: the specific channel object being marked EOF.</p>
- <pre class="ruby"><span class="ruby-identifier">channel</span>.<span class="ruby-identifier">on_eof</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-comment"># ...</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>channel.on_eof do |ch|&#x000A; # ...&#x000A;end</pre>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-on_eof-source'); return false">
@@ -382,12 +382,12 @@
<div class='description'>
<p>Registers a callback on all component channels, to be invoked when the
- remote process emits "extended" data (typically on its <code>stderr</code>
+ remote process emits "extended" data (typically on its <tt>stderr</tt>
stream). The block will be invoked with three arguments: the specific
channel object, an integer describing the data type (usually a 1 for
- <code>stderr</code>) and the data that was received.</p>
+ <tt>stderr</tt>) and the data that was received.</p>
- <pre class="ruby"><span class="ruby-identifier">channel</span>.<span class="ruby-identifier">on_extended_data</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;got extended data: #{data}&quot;</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>channel.on_extended_data do |ch, type, data|&#x000A; puts &quot;got extended data: #{data}&quot;&#x000A;end</pre>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-on_extended_data-source'); return false">
@@ -410,7 +410,7 @@
description of the error (as a string), and an integer code representing
the error.</p>
- <pre class="ruby"><span class="ruby-identifier">channel</span>.<span class="ruby-identifier">on_open_failed</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span>, <span class="ruby-identifier">description</span>, <span class="ruby-identifier">code</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-comment"># ...</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>channel.on_open_failed do |ch, description, code|&#x000A; # ...&#x000A;end</pre>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-on_open_failed-source'); return false">
@@ -431,7 +431,7 @@
idle portion of the connection event loop. The callback will be invoked
with one argument: the specific channel object being processed.</p>
- <pre class="ruby"><span class="ruby-identifier">channel</span>.<span class="ruby-identifier">on_process</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-comment"># ...</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>channel.on_process do |ch|&#x000A; # ...&#x000A;end</pre>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-on_process-source'); return false">
@@ -449,12 +449,12 @@
<div class='description'>
<p>Registers a callback on all component channels, to be invoked when the
- remote server sends a channel request of the given <code>type</code>. The
+ remote server sends a channel request of the given <tt>type</tt>. The
callback will be invoked with two arguments: the specific channel object
receiving the request, and a Net::SSH::Buffer instance containing the
request-specific data.</p>
- <pre class="ruby"><span class="ruby-identifier">channel</span>.<span class="ruby-identifier">on_request</span>(<span class="ruby-string">&quot;exit-status&quot;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;exited with #{data.read_long}&quot;</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>channel.on_request(&quot;exit-status&quot;) do |ch, data|&#x000A; puts &quot;exited with #{data.read_long}&quot;&#x000A;end</pre>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-on_request-source'); return false">
@@ -471,14 +471,14 @@
</div>
<div class='description'>
- <p>Perform a <code>request_pty</code> command on all component channels. The
+ <p>Perform a <tt>request_pty</tt> command on all component channels. The
block, if given, is passed to each component channel, so it will
(potentially) be invoked once for every channel in the collection. The
block will receive two parameters: the specific channel object being
operated on, and a boolean indicating whether the pty request succeeded or
not.</p>
- <pre class="ruby"><span class="ruby-identifier">channel</span>.<span class="ruby-identifier">request_pty</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span>, <span class="ruby-identifier">success</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-comment"># ...</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>channel.request_pty do |ch, success|&#x000A; # ...&#x000A;end</pre>
<p>See the documentation in <a href="../../SSH.html">Net::SSH</a> for
Net::SSH::Connection::Channel#request_pty for more information on how to
@@ -499,9 +499,9 @@
</div>
<div class='description'>
- <p>Send the given <code>data</code> to each component channel. It will be sent
- to the remote process, typically being received on the process'
- <code>stdin</code> stream.</p>
+ <p>Send the given <tt>data</tt> to each component channel. It will be sent to
+ the remote process, typically being received on the process' <tt>stdin</tt>
+ stream.</p>
<pre>channel.send_data &quot;password\n&quot;</pre>
</div>
diff --git a/classes/Net/SSH/Multi/ChannelProxy.html b/classes/Net/SSH/Multi/ChannelProxy.html
index dfa3bb7..9455d54 100644
--- a/classes/Net/SSH/Multi/ChannelProxy.html
+++ b/classes/Net/SSH/Multi/ChannelProxy.html
@@ -104,7 +104,7 @@
</div>
<div class='description'>
- <p>Instantiates a new channel proxy with the given <code>on_confirm</code>
+ <p>Instantiates a new channel proxy with the given <tt>on_confirm</tt>
callback.</p>
</div>
<div class='source'>
@@ -124,7 +124,7 @@
<div class='description'>
<p>Instructs the proxy to delegate all further actions to the given
- <code>channel</code> (which must be an instance of
+ <tt>channel</tt> (which must be an instance of
Net::SSH::Connection::Channel). All recorded actions are immediately
replayed, in order, against the delegate channel.</p>
</div>
diff --git a/classes/Net/SSH/Multi/DynamicServer.html b/classes/Net/SSH/Multi/DynamicServer.html
index 376e0b3..dcdadf0 100644
--- a/classes/Net/SSH/Multi/DynamicServer.html
+++ b/classes/Net/SSH/Multi/DynamicServer.html
@@ -51,11 +51,11 @@
<pre>session.use { lookup_ip_address_of_server }</pre>
- <p>This prevents <code>lookup_ip_address_of_server</code> from being invoked
+ <p>This prevents <tt>lookup_ip_address_of_server</tt> from being invoked
unless the server is actually needed, at which point it is invoked and the
result cached.</p>
- <p>The callback should return either <code>nil</code> (in which case no new
+ <p>The callback should return either <tt>nil</tt> (in which case no new
servers are instantiated), a String (representing a connection
specification), an array of Strings, or an array of <a
href="Server.html">Net::SSH::Multi::Server</a> instances.</p>
@@ -142,8 +142,8 @@
<p>Create a new <a href="DynamicServer.html">DynamicServer</a> record, owned
by the given <a href="Session.html">Net::SSH::Multi::Session</a>
- <code>master</code>, with the given hash of <code>options</code>, and using
- the given Proc <code>callback</code> to lazily evaluate the actual server
+ <tt>master</tt>, with the given hash of <tt>options</tt>, and using the
+ given Proc <tt>callback</tt> to lazily evaluate the actual server
instances.</p>
</div>
<div class='source'>
@@ -162,9 +162,9 @@
</div>
<div class='description'>
- <p>Returns the value for the given <code>key</code> in the :properties hash of
- the <code>options</code>. If no :properties hash exists in
- <code>options</code>, this returns <code>nil</code>.</p>
+ <p>Returns the value for the given <tt>key</tt> in the :properties hash of the
+ <tt>options</tt>. If no :properties hash exists in <tt>options</tt>, this
+ returns <tt>nil</tt>.</p>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-5B-5D-source'); return false">
@@ -181,7 +181,7 @@
</div>
<div class='description'>
- <p>Sets the given key/value pair in the <code>:properties</code> key in the
+ <p>Sets the given key/value pair in the <tt>:properties</tt> key in the
options hash. If the options hash has no :properties key, it will be
created.</p>
</div>
diff --git a/classes/Net/SSH/Multi/PendingConnection.html b/classes/Net/SSH/Multi/PendingConnection.html
index e77407a..42a4f2f 100644
--- a/classes/Net/SSH/Multi/PendingConnection.html
+++ b/classes/Net/SSH/Multi/PendingConnection.html
@@ -132,8 +132,8 @@
</div>
<div class='description'>
- <p>Always returns <code>true</code>, so that the pending connection looks
- active until it can be truly opened and replaced with a real connection.</p>
+ <p>Always returns <tt>true</tt>, so that the pending connection looks active
+ until it can be truly opened and replaced with a real connection.</p>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-busy-3F-source'); return false">
@@ -222,7 +222,7 @@
</div>
<div class='description'>
- <p>Returns <code>true</code>, and does nothing else.</p>
+ <p>Returns <tt>true</tt>, and does nothing else.</p>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-postprocess-source'); return false">
@@ -239,7 +239,7 @@
</div>
<div class='description'>
- <p>Returns <code>true</code>, and does nothing else.</p>
+ <p>Returns <tt>true</tt>, and does nothing else.</p>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-preprocess-source'); return false">
@@ -257,8 +257,7 @@
<div class='description'>
<p>Instructs the pending session to replay all of its recordings against the
- given <code>session</code>, and to then replace itself with the given
- session.</p>
+ given <tt>session</tt>, and to then replace itself with the given session.</p>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-replace_with-source'); return false">
diff --git a/classes/Net/SSH/Multi/Server.html b/classes/Net/SSH/Multi/Server.html
index 61a38cf..43fe049 100644
--- a/classes/Net/SSH/Multi/Server.html
+++ b/classes/Net/SSH/Multi/Server.html
@@ -97,7 +97,7 @@
<td class='context-item-desc'>
<p>The Net::SSH::Gateway instance to use to establish the connection. Will be
- <code>nil</code> if the connection should be established without a gateway.</p>
+ <tt>nil</tt> if the connection should be established without a gateway.</p>
</td>
</tr>
<tr class='top-aligned-row context-row'>
@@ -157,11 +157,10 @@
<div class='description'>
<p>Creates a new <a href="Server.html">Server</a> instance with the given
- connection information. The <code>master</code> argument must be a
- reference to the <a href="Session.html">Net::SSH::Multi::Session</a>
- instance that will manage this server reference. The <code>options</code>
- hash must conform to the options described for Net::SSH::start, with two
- additions:</p>
+ connection information. The <tt>master</tt> argument must be a reference to
+ the <a href="Session.html">Net::SSH::Multi::Session</a> instance that will
+ manage this server reference. The <tt>options</tt> hash must conform to the
+ options described for Net::SSH::start, with two additions:</p>
<ul><li>
<p>:via =&gt; a Net::SSH::Gateway instance to use when establishing a
connection to this server.</p>
@@ -169,9 +168,9 @@
<p>:user =&gt; the name of the user to use when logging into this server.</p>
</li></ul>
- <p>The <code>host</code> argument may include the username and port number, in
+ <p>The <tt>host</tt> argument may include the username and port number, in
which case those values take precedence over similar values given in the
- <code>options</code>:</p>
+ <tt>options</tt>:</p>
<pre>server = Net::SSH::Multi::Server.new(session, 'user@host:1234')&#x000A;puts server.user #-&gt; user&#x000A;puts server.port #-&gt; 1234</pre>
</div>
@@ -179,7 +178,7 @@
<a class='source-toggle' href='#' onclick="toggleCode('method-c-new-source'); return false">
[show source]
</a>
- <pre id='method-c-new-source'><span class="ruby-comment"># File lib/net/ssh/multi/server.rb, line 43</span>&#x000A;<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">master</span>, <span class="ruby-identifier">host</span>, <span class="ruby-identifier">options</span>={})&#x000A; <span class="ruby-ivar">@master</span> = <span class="ruby-identifier">master</span>&#x000A; <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">dup</span>&#x000A;&#x000A; <span class="ruby-ivar">@user</span>, <span class="ruby-ivar">@host</span>, <span class="ruby-identifier">port</span> = <span class="ruby-identifier">host</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">%r^(?:([^;,:=]+)@|)(.*?)(?::(\d+)|)$/</span>)[<span class="ruby-value">1</span>,<span class="ruby-value">3</span>]&#x000A;&#x000A; <span class="ruby-identifier">user_opt</span>, <span class="ruby-identifier">port_opt</span> = <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:user</span>), <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:port</span>)&#x000A;&#x000A; <span class="ruby-ivar">@user</span> = <span class="ruby-ivar">@user</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">user_opt</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">master</span>.<span class="ruby-identifier">default_user</span>&#x000A; <span class="ruby-identifier">port</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">port_opt</span>&#x000A;&#x000A; <span class="ruby-ivar">@options</span>[<span class="ruby-value">:port</span>] = <span class="ruby-identifier">port</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">port</span>&#x000A;&#x000A; <span class="ruby-ivar">@gateway</span> = <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:via</span>)&#x000A; <span class="ruby-ivar">@failed</span> = <span class="ruby-keyword">false</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre id='method-c-new-source'><span class="ruby-comment"># File lib/net/ssh/multi/server.rb, line 43</span>&#x000A;<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">master</span>, <span class="ruby-identifier">host</span>, <span class="ruby-identifier">options</span>={})&#x000A; <span class="ruby-ivar">@master</span> = <span class="ruby-identifier">master</span>&#x000A; <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">dup</span>&#x000A;&#x000A; <span class="ruby-ivar">@user</span>, <span class="ruby-ivar">@host</span>, <span class="ruby-identifier">port</span> = <span class="ruby-identifier">host</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">/^(?:([^;,:=]+)@|)(.*?)(?::(\d+)|)$/</span>)[<span class="ruby-value">1</span>,<span class="ruby-value">3</span>]&#x000A;&#x000A; <span class="ruby-identifier">user_opt</span>, <span class="ruby-identifier">port_opt</span> = <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:user</span>), <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:port</span>)&#x000A;&#x000A; <span class="ruby-ivar">@user</span> = <span class="ruby-ivar">@user</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">user_opt</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">master</span>.<span class="ruby-identifier">default_user</span>&#x000A; <span class="ruby-identifier">port</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">port_opt</span>&#x000A;&#x000A; <span class="ruby-ivar">@options</span>[<span class="ruby-value">:port</span>] = <span class="ruby-identifier">port</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">port</span>&#x000A;&#x000A; <span class="ruby-ivar">@gateway</span> = <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:via</span>)&#x000A; <span class="ruby-ivar">@failed</span> = <span class="ruby-keyword">false</span>&#x000A;<span class="ruby-keyword">end</span></pre>
</div>
</div>
<h2>Public Instance methods</h2>
@@ -208,9 +207,9 @@
</div>
<div class='description'>
- <p>Returns the value of the server property with the given <code>key</code>.
- <a href="Server.html">Server</a> properties are described via the
- <code>:properties</code> key in the options hash when defining the <a
+ <p>Returns the value of the server property with the given <tt>key</tt>. <a
+ href="Server.html">Server</a> properties are described via the
+ <tt>:properties</tt> key in the options hash when defining the <a
href="Server.html">Server</a>.</p>
</div>
<div class='source'>
@@ -228,7 +227,7 @@
</div>
<div class='description'>
- <p>Sets the given key/value pair in the <code>:properties</code> key in the
+ <p>Sets the given key/value pair in the <tt>:properties</tt> key in the
options hash. If the options hash has no :properties key, it will be
created.</p>
</div>
@@ -247,14 +246,15 @@
</div>
<div class='description'>
- <p>Returns <code>true</code> if the session has been opened, and the session
- is currently busy (as defined by Net::SSH::Connection::Session#busy?).</p>
+ <p>Returns <tt>true</tt> if the session has been opened, and the session is
+ currently busy (as defined by Net::SSH::Connection::Session#busy?). Also
+ returns false if the server has failed to connect.</p>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-busy-3F-source'); return false">
[show source]
</a>
- <pre id='method-i-busy-3F-source'><span class="ruby-comment"># File lib/net/ssh/multi/server.rb, line 143</span>&#x000A;<span class="ruby-keyword">def</span> <span class="ruby-identifier">busy?</span>(<span class="ruby-identifier">include_invisible</span>=<span class="ruby-keyword">false</span>)&#x000A; <span class="ruby-identifier">session</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">session</span>.<span class="ruby-identifier">busy?</span>(<span class="ruby-identifier">include_invisible</span>)&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre id='method-i-busy-3F-source'><span class="ruby-comment"># File lib/net/ssh/multi/server.rb, line 144</span>&#x000A;<span class="ruby-keyword">def</span> <span class="ruby-identifier">busy?</span>(<span class="ruby-identifier">include_invisible</span>=<span class="ruby-keyword">false</span>)&#x000A; <span class="ruby-operator">!</span><span class="ruby-identifier">failed?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">session</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">session</span>.<span class="ruby-identifier">busy?</span>(<span class="ruby-identifier">include_invisible</span>)&#x000A;<span class="ruby-keyword">end</span></pre>
</div>
</div>
<div class='method public-instance' id='method-method-i-close'>
@@ -272,7 +272,7 @@
<a class='source-toggle' href='#' onclick="toggleCode('method-i-close-source'); return false">
[show source]
</a>
- <pre id='method-i-close-source'><span class="ruby-comment"># File lib/net/ssh/multi/server.rb, line 149</span>&#x000A;<span class="ruby-keyword">def</span> <span class="ruby-identifier">close</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">session</span>&#x000A;<span class="ruby-keyword">ensure</span>&#x000A; <span class="ruby-identifier">master</span>.<span class="ruby-identifier">server_closed</span>(<span class="ruby-keyword">self</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">session</span>&#x000A; <span class="ruby-ivar">@session</span> = <span class="ruby-keyword">nil</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre id='method-i-close-source'><span class="ruby-comment"># File lib/net/ssh/multi/server.rb, line 150</span>&#x000A;<span class="ruby-keyword">def</span> <span class="ruby-identifier">close</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">session</span>&#x000A;<span class="ruby-keyword">ensure</span>&#x000A; <span class="ruby-identifier">master</span>.<span class="ruby-identifier">server_closed</span>(<span class="ruby-keyword">self</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">session</span>&#x000A; <span class="ruby-ivar">@session</span> = <span class="ruby-keyword">nil</span>&#x000A;<span class="ruby-keyword">end</span></pre>
</div>
</div>
<div class='method public-instance' id='method-method-i-fail-21'>
@@ -284,8 +284,8 @@
<div class='description'>
<p>Indicates (by default) that this server has just failed a connection
- attempt. If <code>flag</code> is false, this can be used to reset the
- failed flag so that a retry may be attempted.</p>
+ attempt. If <tt>flag</tt> is false, this can be used to reset the failed
+ flag so that a retry may be attempted.</p>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-fail-21-source'); return false">
@@ -302,8 +302,7 @@
</div>
<div class='description'>
- <p>Returns <code>true</code> if this server has ever failed a connection
- attempt.</p>
+ <p>Returns <tt>true</tt> if this server has ever failed a connection attempt.</p>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-failed-3F-source'); return false">
@@ -320,10 +319,10 @@
</div>
<div class='description'>
- <p>Generates a <code>Fixnum</code> hash value for this object. This function
- has the property that +a.eql?(b)+ implies +a.hash == b.hash+. The hash
- value is used by class <code>Hash</code>. Any hash value that exceeds the
- capacity of a <code>Fixnum</code> will be truncated before being used.</p>
+ <p>Generates a <tt>Fixnum</tt> hash value for this object. This function has
+ the property that +a.eql?(b)+ implies +a.hash == b.hash+. The hash value is
+ used by class <tt>Hash</tt>. Any hash value that exceeds the capacity of a
+ <tt>Fixnum</tt> will be truncated before being used.</p>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-hash-source'); return false">
@@ -375,11 +374,11 @@
<div class='description'>
<p>Returns the <a href="../../SSH.html">Net::SSH</a> session object for this
- server. If <code>require_session</code> is false and the session has not
- previously been created, this will return <code>nil</code>. If
- <code>require_session</code> is true, the session will be instantiated if
- it has not already been instantiated, via the <code>gateway</code> if one
- is given, or directly (via Net::SSH::start) otherwise.</p>
+ server. If <tt>require_session</tt> is false and the session has not
+ previously been created, this will return <tt>nil</tt>. If
+ <tt>require_session</tt> is true, the session will be instantiated if it
+ has not already been instantiated, via the <tt>gateway</tt> if one is
+ given, or directly (via Net::SSH::start) otherwise.</p>
<pre>if server.session.nil?&#x000A; puts &quot;connecting...&quot;&#x000A; server.session(true)&#x000A;end</pre>
diff --git a/classes/Net/SSH/Multi/ServerList.html b/classes/Net/SSH/Multi/ServerList.html
index d1952f9..70850e5 100644
--- a/classes/Net/SSH/Multi/ServerList.html
+++ b/classes/Net/SSH/Multi/ServerList.html
@@ -136,7 +136,7 @@
<p>Adds an array (or otherwise Enumerable list) of servers to this list, by
calling <a href="ServerList.html#method-i-add">add</a> for each argument.
- Returns <code>self</code>.</p>
+ Returns <tt>self</tt>.</p>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-concat-source'); return false">
diff --git a/classes/Net/SSH/Multi/Session.html b/classes/Net/SSH/Multi/Session.html
index 7c24957..fe9cb21 100644
--- a/classes/Net/SSH/Multi/Session.html
+++ b/classes/Net/SSH/Multi/Session.html
@@ -54,13 +54,13 @@
href="../../SSH.html">SSH</a> channels and executing commands, allowing for
these operations to be done in parallel across multiple connections.</p>
- <pre class="ruby"><span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Multi</span>.<span class="ruby-identifier">start</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">session</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-comment"># access servers via a gateway</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">via</span> <span class="ruby-string">'gateway'</span>, <span class="ruby-string">'gateway-user'</span>&#x000A;&#x000A; <span class="ruby-comment"># define the servers we want to use</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'user1@host1'</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'user2@host2'</span>&#x000A;&#x000A; <span class="ruby-comment"># define servers in groups for more granular access</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">group</span> :<span class="ruby-identifier">app</span> <span class="ruby-keyword">do</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'user@app1'</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'user@app2'</span>&#x000A; <span class="ruby-keyword">end</span>&#x000A;&#x000A; <span class="ruby-comment"># execute commands on all servers</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">exec</span> <span class="ruby-string">&quot;uptime&quot;</span>&#x000A;&#x000A; <span class="ruby-comment"># execute commands on a subset of servers</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">with</span>(:<span class="ruby-identifier">app</span>).<span class="ruby-identifier">exec</span> <span class="ruby-string">&quot;hostname&quot;</span>&#x000A;&#x000A; <span class="ruby-comment"># run the aggregated event loop</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">loop</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>Net::SSH::Multi.start do |session|&#x000A; # access servers via a gateway&#x000A; session.via 'gateway', 'gateway-user'&#x000A; # define the servers we want to use&#x000A; session.use 'user1@host1'&#x000A; session.use 'user2@host2'&#x000A;&#x000A; # define servers in groups for more granular access&#x000A; session.group :app do&#x000A; session.use 'user@app1'&#x000A; session.use 'user@app2'&#x000A; end&#x000A;&#x000A; # execute commands on all servers&#x000A; session.exec &quot;uptime&quot;&#x000A;&#x000A; # execute commands on a subset of servers&#x000A; session.with(:app).exec &quot;hostname&quot;&#x000A;&#x000A; # run the aggregated event loop&#x000A; session.loop&#x000A;end</pre>
<p>Note that connections are established lazily, as soon as they are needed.
You can force the connections to be opened immediately, though, using the
<a href="SessionActions.html#method-i-connect-21">connect!</a> method.</p>
- <h2 id="label-Concurrent+Connection+Limiting">Concurrent Connection Limiting</h2>
+ <h2>Concurrent Connection Limiting</h2>
<p>Sometimes you may be dealing with a large number of servers, and if you try
to have connections open to all of them simultaneously you'll run into open
@@ -71,13 +71,13 @@
then ensure that no more than this number of connections are ever open
simultaneously.</p>
- <pre class="ruby"><span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Multi</span>.<span class="ruby-identifier">start</span>(:<span class="ruby-identifier">concurrent_connections</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">5</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">session</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-comment"># ...</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>Net::SSH::Multi.start(:concurrent_connections =&gt; 5) do |session|&#x000A; # ...&#x000A;end</pre>
<p>Opening channels and executing commands will still work exactly as before,
but <a href="../Multi.html">Net::SSH::Multi</a> will transparently close
finished connections and open pending ones.</p>
- <h2 id="label-Controlling+Connection+Errors">Controlling Connection Errors</h2>
+ <h2>Controlling Connection Errors</h2>
<p>By default, <a href="../Multi.html">Net::SSH::Multi</a> will raise an
exception if a connection error occurs when connecting to a server. This
@@ -91,7 +91,7 @@
session to :ignore (or to :warn, if you want a warning message when a
connection attempt fails):</p>
- <pre class="ruby"><span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Multi</span>.<span class="ruby-identifier">start</span>(:<span class="ruby-identifier">on_error</span> =<span class="ruby-operator">&gt;</span> :<span class="ruby-identifier">ignore</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">session</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-comment"># ...</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>Net::SSH::Multi.start(:on_error =&gt; :ignore) do |session|&#x000A; # ...&#x000A;end</pre>
<p>The default is :fail, which causes the exception to bubble up.
Additionally, you can specify a Proc object as the value for <a
@@ -101,12 +101,12 @@
:retry as the payload, or force the exception to be reraised by throwing
:go with :raise as the payload:</p>
- <pre class="ruby"><span class="ruby-identifier">handler</span> = <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">server</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-identifier">server</span>[:<span class="ruby-identifier">connection_attempts</span>] <span class="ruby-operator">||=</span> <span class="ruby-value">0</span>&#x000A; <span class="ruby-keyword">if</span> <span class="ruby-identifier">server</span>[:<span class="ruby-identifier">connection_attempts</span>] <span class="ruby-operator">&lt;</span> <span class="ruby-value">3</span>&#x000A; <span class="ruby-identifier">server</span>[:<span class="ruby-identifier">connection_attempts</span>] <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>&#x000A; <span class="ruby-identifier">throw</span> :<span class="ruby-identifier">go</span>, :<span class="ruby-keyword">retry</span>&#x000A; <span class="ruby-keyword">else</span>&#x000A; <span class="ruby-identifier">throw</span> :<span class="ruby-identifier">go</span>, :<span class="ruby-identifier">raise</span>&#x000A; <span class="ruby-keyword">end</span>&#x000A;<span class="ruby-keyword">end</span>&#x000A;&#x000A;<span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Multi</span>.<span class="ruby-identifier">start</span>(:<span class="ruby-identifier">on_error</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">handler</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">session</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-comment"># ...</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>handler = Proc.new do |server|&#x000A; server[:connection_attempts] ||= 0&#x000A; if server[:connection_attempts] &lt; 3&#x000A; server[:connection_attempts] += 1&#x000A; throw :go, :retry&#x000A; else&#x000A; throw :go, :raise&#x000A; end&#x000A;end&#x000A;Net::SSH::Multi.start(:on_error =&gt; handler) do |session|&#x000A; # ...&#x000A;end</pre>
<p>Any other thrown value (or no thrown value at all) will result in the
failure being ignored.</p>
- <h2 id="label-Lazily+Evaluated+Server+Definitions">Lazily Evaluated <a href="Server.html">Server</a> Definitions</h2>
+ <h2>Lazily Evaluated <a href="Server.html">Server</a> Definitions</h2>
<p>Sometimes you might be dealing with an environment where you don't know the
names or addresses of the servers until runtime. You can certainly
@@ -120,7 +120,7 @@
<p>You can do this by passing a block to <a
href="Session.html#method-i-use">use</a>:</p>
- <pre class="ruby"><span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">opt</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-identifier">lookup_ip_address_of_remote_host</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>session.use do |opt|&#x000A; lookup_ip_address_of_remote_host&#x000A;end</pre>
<p>See <a href="Session.html#method-i-use">use</a> for more information about
this usage.</p>
@@ -195,7 +195,7 @@
<td class='context-item-desc'>
<p>The default Net::SSH::Gateway instance to use to connect to the servers. If
- <code>nil</code>, no default gateway will be used.</p>
+ <tt>nil</tt>, no default gateway will be used.</p>
</td>
</tr>
<tr class='top-aligned-row context-row'>
@@ -264,7 +264,7 @@
<p>You can set the <a
href="Session.html#attribute-i-concurrent_connections">concurrent_connections</a>
- property in the options. Setting it to <code>nil</code> (the default) will
+ property in the options. Setting it to <tt>nil</tt> (the default) will
cause <a href="../Multi.html">Net::SSH::Multi</a> to ignore any concurrent
connection limit and allow all defined sessions to be open simultaneously.
Setting it to an integer will cause <a
@@ -272,7 +272,7 @@
of concurrently open sessions, opening subsequent sessions only when other
sessions finish and close.</p>
- <pre class="ruby"><span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Multi</span>.<span class="ruby-identifier">start</span>(:<span class="ruby-identifier">concurrent_connections</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">10</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">session</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-operator">...</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>Net::SSH::Multi.start(:concurrent_connections =&gt; 10) do |session|&#x000A; session.use ...&#x000A;end</pre>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-c-new-source'); return false">
@@ -321,7 +321,7 @@
href="Session.html#attribute-i-server_list">server_list</a> array
(typically by calling <a href="Session.html#method-i-use">use</a>):</p>
- <pre class="ruby"><span class="ruby-identifier">server1</span> = <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span>(<span class="ruby-string">'host1'</span>, <span class="ruby-string">'user1'</span>)&#x000A;<span class="ruby-identifier">server2</span> = <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span>(<span class="ruby-string">'host2'</span>, <span class="ruby-string">'user2'</span>)&#x000A;<span class="ruby-identifier">session</span>.<span class="ruby-identifier">group</span> :<span class="ruby-identifier">app</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">server1</span>, :<span class="ruby-identifier">web</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">server2</span>&#x000A;<span class="ruby-identifier">session</span>.<span class="ruby-identifier">group</span> :<span class="ruby-identifier">staging</span> =<span class="ruby-operator">&gt;</span> [<span class="ruby-identifier">server1</span>, <span class="ruby-identifier">server2</span>]&#x000A;<span class="ruby-identifier">session</span>.<span class="ruby-identifier">group</span> <span class="ruby-node">%w(xen linux)</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">server2</span>&#x000A;<span class="ruby-identifier">session</span>.<span class="ruby-identifier">group</span> <span class="ruby-node">%w(rackspace backup)</span> =<span class="ruby-operator">&gt;</span> [<span class="ruby-identifier">server1</span>, <span class="ruby-identifier">server2</span>]</pre>
+ <pre>server1 = session.use('host1', 'user1')&#x000A;server2 = session.use('host2', 'user2')&#x000A;session.group :app =&gt; server1, :web =&gt; server2&#x000A;session.group :staging =&gt; [server1, server2]&#x000A;session.group %w(xen linux) =&gt; server2&#x000A;session.group %w(rackspace backup) =&gt; [server1, server2]</pre>
<p>Secondly, instead of a mapping of groups to servers, you can just provide a
list of group names, and then a block. Inside the block, any calls to <a
@@ -348,10 +348,10 @@
<div class='description'>
<p>Run the aggregated event loop for all open server sessions, until the given
- block returns <code>false</code>. If no block is given, the loop will run
- for as long as <a href="SessionActions.html#method-i-busy-3F">busy?</a>
- returns <code>true</code> (in other words, for as long as there are any
- (non-invisible) channels open).</p>
+ block returns <tt>false</tt>. If no block is given, the loop will run for
+ as long as <a href="SessionActions.html#method-i-busy-3F">busy?</a> returns
+ <tt>true</tt> (in other words, for as long as there are any (non-invisible)
+ channels open).</p>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-loop-source'); return false">
@@ -394,12 +394,12 @@
<div class='description'>
<p>Run a single iteration of the aggregated event loop for all open server
- sessions. The <code>wait</code> parameter indicates how long to wait for an
- event to appear on any of the different sessions; <code>nil</code> (the
+ sessions. The <tt>wait</tt> parameter indicates how long to wait for an
+ event to appear on any of the different sessions; <tt>nil</tt> (the
default) means "wait forever". If the block is given, then it will be used
to determine whether <a href="Session.html#method-i-process">process</a>
- returns <code>true</code> (the block did not return <code>false</code>), or
- <code>false</code> (the block returned <code>false</code>).</p>
+ returns <tt>true</tt> (the block did not return <tt>false</tt>), or
+ <tt>false</tt> (the block returned <tt>false</tt>).</p>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-process-source'); return false">
@@ -458,11 +458,11 @@
servers to those whose properties do <em>not</em> match). Properties are
described when the server is defined (via the :properties key):</p>
- <pre class="ruby"><span class="ruby-identifier">session</span>.<span class="ruby-identifier">group</span> :<span class="ruby-identifier">db</span> <span class="ruby-keyword">do</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'dbmain'</span>, <span class="ruby-string">'user'</span>, :<span class="ruby-identifier">properties</span> =<span class="ruby-operator">&gt;</span> { :<span class="ruby-identifier">primary</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> }&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'dbslave'</span>, <span class="ruby-string">'user2'</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'dbslve2'</span>, <span class="ruby-string">'user2'</span>&#x000A;<span class="ruby-keyword">end</span>&#x000A;&#x000A;<span class="ruby-comment"># return ONLY on the servers in the :db group which have the :primary</span>&#x000A;<span class="ruby-comment"># property set to true.</span>&#x000A;<span class="ruby-identifier">primary</span> = <span class="ruby-identifier">session</span>.<span class="ruby-identifier">servers_for</span>(:<span class="ruby-identifier">db</span> =<span class="ruby-operator">&gt;</span> { :<span class="ruby-identifier">only</span> =<span class="ruby-operator">&gt;</span> { :<span class="ruby-identifier">primary</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> } })</pre>
+ <pre>session.group :db do&#x000A; session.use 'dbmain', 'user', :properties =&gt; { :primary =&gt; true }&#x000A; session.use 'dbslave', 'user2'&#x000A; session.use 'dbslve2', 'user2'&#x000A;end&#x000A;# return ONLY on the servers in the :db group which have the :primary&#x000A;# property set to true.&#x000A;primary = session.servers_for(:db =&gt; { :only =&gt; { :primary =&gt; true } })</pre>
<p>You can, naturally, combine these methods:</p>
- <pre class="ruby"><span class="ruby-comment"># all servers in :app and :web, and all servers in :db with the</span>&#x000A;<span class="ruby-comment"># :primary property set to true</span>&#x000A;<span class="ruby-identifier">servers</span> = <span class="ruby-identifier">session</span>.<span class="ruby-identifier">servers_for</span>(:<span class="ruby-identifier">app</span>, :<span class="ruby-identifier">web</span>, :<span class="ruby-identifier">db</span> =<span class="ruby-operator">&gt;</span> { :<span class="ruby-identifier">only</span> =<span class="ruby-operator">&gt;</span> { :<span class="ruby-identifier">primary</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> } })</pre>
+ <pre># all servers in :app and :web, and all servers in :db with the&#x000A;# :primary property set to true&#x000A;servers = session.servers_for(:app, :web, :db =&gt; { :only =&gt; { :primary =&gt; true } })</pre>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-servers_for-source'); return false">
@@ -480,17 +480,17 @@
<div class='description'>
<p>Defines a new server definition, to be managed by this session. The server
- is at the given <code>host</code>, and will be connected to as the given
- <code>user</code>. The other options are passed as-is to the <a
+ is at the given <tt>host</tt>, and will be connected to as the given
+ <tt>user</tt>. The other options are passed as-is to the <a
href="../../SSH.html">Net::SSH</a> session constructor.</p>
<p>If a default gateway has been specified previously (with <a
href="Session.html#method-i-via">via</a>) it will be passed to the new
server definition. You can override this by passing a different
- Net::SSH::Gateway instance (or <code>nil</code>) with the :via key in the
- <code>options</code>.</p>
+ Net::SSH::Gateway instance (or <tt>nil</tt>) with the :via key in the
+ <tt>options</tt>.</p>
- <pre class="ruby"><span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'host'</span>&#x000A;<span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'user@host2'</span>, :<span class="ruby-identifier">via</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">nil</span>&#x000A;<span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'host3'</span>, :<span class="ruby-identifier">user</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;user3&quot;</span>, :<span class="ruby-identifier">via</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Gateway</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">'gateway.host'</span>, <span class="ruby-string">'user'</span>)</pre>
+ <pre>session.use 'host'&#x000A;session.use 'user@host2', :via =&gt; nil&#x000A;session.use 'host3', :user =&gt; &quot;user3&quot;, :via =&gt; Net::SSH::Gateway.new('gateway.host', 'user')</pre>
<p>If only a single host is given, the new server instance is returned. You
can give multiple hosts at a time, though, in which case an array of server
@@ -502,9 +502,9 @@
href="DynamicServer.html">Net::SSH::Multi::DynamicServer</a> definition, to
be evaluated lazily the first time the server is needed. The block will
recive any options hash given to <a
- href="Session.html#method-i-use">use</a>, and should return
- <code>nil</code> (if no servers are to be added), a String or an array of
- Strings (to be interpreted as a connection specification), or a <a
+ href="Session.html#method-i-use">use</a>, and should return <tt>nil</tt>
+ (if no servers are to be added), a String or an array of Strings (to be
+ interpreted as a connection specification), or a <a
href="Server.html">Server</a> or an array of Servers.</p>
</div>
<div class='source'>
@@ -553,7 +553,7 @@
href="Session.html#method-i-servers_for">servers_for</a> for a discussion
of how these criteria are interpreted.</p>
- <pre class="ruby"><span class="ruby-identifier">session</span>.<span class="ruby-identifier">with</span>(:<span class="ruby-identifier">app</span>).<span class="ruby-identifier">exec</span>(<span class="ruby-string">'hostname'</span>)&#x000A;&#x000A;<span class="ruby-identifier">session</span>.<span class="ruby-identifier">with</span>(:<span class="ruby-identifier">app</span>, :<span class="ruby-identifier">db</span> =<span class="ruby-operator">&gt;</span> { :<span class="ruby-identifier">primary</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> }) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-identifier">s</span>.<span class="ruby-identifier">exec</span> <span class="ruby-string">'date'</span>&#x000A; <span class="ruby-identifier">s</span>.<span class="ruby-identifier">exec</span> <span class="ruby-string">'uptime'</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>session.with(:app).exec('hostname')&#x000A;session.with(:app, :db =&gt; { :primary =&gt; true }) do |s|&#x000A; s.exec 'date'&#x000A; s.exec 'uptime'&#x000A;end</pre>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-with-source'); return false">
diff --git a/classes/Net/SSH/Multi/SessionActions.html b/classes/Net/SSH/Multi/SessionActions.html
index 78bd4a6..190b376 100644
--- a/classes/Net/SSH/Multi/SessionActions.html
+++ b/classes/Net/SSH/Multi/SessionActions.html
@@ -45,7 +45,7 @@
<p>This module represents the actions that are available on session
collections. Any class that includes this module needs only provide a
- <code>servers</code> method that returns a list of <a
+ <tt>servers</tt> method that returns a list of <a
href="Server.html">Net::SSH::Multi::Server</a> instances, and the rest just
works. See <a href="Session.html">Net::SSH::Multi::Session</a> and <a
href="Subsession.html">Net::SSH::Multi::Subsession</a> for consumers of
@@ -77,11 +77,11 @@
</div>
<div class='description'>
- <p>Returns <code>true</code> if any server in the current container has an
- open <a href="../../SSH.html">SSH</a> session that is currently processing
- any channels. If <code>include_invisible</code> is <code>false</code> (the
- default) then invisible channels (such as those created by port forwarding)
- will not be counted; otherwise, they will be.</p>
+ <p>Returns <tt>true</tt> if any server in the current container has an open <a
+ href="../../SSH.html">SSH</a> session that is currently processing any
+ channels. If <tt>include_invisible</tt> is <tt>false</tt> (the default)
+ then invisible channels (such as those created by port forwarding) will not
+ be counted; otherwise, they will be.</p>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-busy-3F-source'); return false">
@@ -127,22 +127,22 @@
<p>If a block is given, it will be invoked whenever data is received across
the channel, with three arguments: the channel object, a symbol identifying
- which output stream the data was received on (<code>:stdout</code> or
- <code>:stderr</code>) and a string containing the data that was received:</p>
+ which output stream the data was received on (<tt>:stdout</tt> or
+ <tt>:stderr</tt>) and a string containing the data that was received:</p>
- <pre class="ruby"><span class="ruby-identifier">session</span>.<span class="ruby-identifier">exec</span>(<span class="ruby-string">&quot;command&quot;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span>, <span class="ruby-identifier">stream</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;[#{ch[:host]} : #{stream}] #{data}&quot;</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>session.exec(&quot;command&quot;) do |ch, stream, data|&#x000A; puts &quot;[#{ch[:host]} : #{stream}] #{data}&quot;&#x000A;end</pre>
<p>If no block is given, all output will be written to +$stdout+ or +$stderr+,
as appropriate.</p>
<p>Note that <a href="SessionActions.html#method-i-exec">exec</a> will also
- capture the exit status of the process in the <code>:exit_status</code>
+ capture the exit status of the process in the <tt>:exit_status</tt>
property of each channel. Since <a
href="SessionActions.html#method-i-exec">exec</a> returns all of the
channels in a <a href="Channel.html">Net::SSH::Multi::Channel</a> object,
you can check for the exit status like this:</p>
- <pre class="ruby"><span class="ruby-identifier">channel</span> = <span class="ruby-identifier">session</span>.<span class="ruby-identifier">exec</span>(<span class="ruby-string">&quot;command&quot;</span>) { <span class="ruby-operator">...</span> }&#x000A;<span class="ruby-identifier">channel</span>.<span class="ruby-identifier">wait</span>&#x000A;&#x000A;<span class="ruby-keyword">if</span> <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span>[:<span class="ruby-identifier">exit_status</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> }&#x000A; <span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;executing failed on at least one host!&quot;</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>channel = session.exec(&quot;command&quot;) { ... }&#x000A;channel.wait&#x000A;if channel.any? { |c| c[:exit_status] != 0 }&#x000A; puts &quot;executing failed on at least one host!&quot;&#x000A;end</pre>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-exec-source'); return false">
@@ -159,9 +159,9 @@
</div>
<div class='description'>
- <p>Returns the session that is the "master". This defaults to
- <code>self</code>, but classes that include this module may wish to change
- this if they are subsessions that depend on a master session.</p>
+ <p>Returns the session that is the "master". This defaults to <tt>self</tt>,
+ but classes that include this module may wish to change this if they are
+ subsessions that depend on a master session.</p>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-master-source'); return false">
@@ -180,8 +180,8 @@
<p>Asks all sessions for all contained servers (see <a
href="SessionActions.html#method-i-sessions">sessions</a>) to open a new
- channel. When each server responds, the <code>on_confirm</code> block will
- be invoked with a single argument, the channel object for that server. This
+ channel. When each server responds, the <tt>on_confirm</tt> block will be
+ invoked with a single argument, the channel object for that server. This
means that the block will be invoked one time for each session.</p>
<p>All new channels will be collected and returned, aggregated into a new <a
@@ -200,7 +200,7 @@
<p>Having access to these things lets you more easily report which host (e.g.)
data was received from:</p>
- <pre class="ruby"><span class="ruby-identifier">session</span>.<span class="ruby-identifier">open_channel</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">channel</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">exec</span> <span class="ruby-string">&quot;command&quot;</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span>, <span class="ruby-identifier">success</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-identifier">ch</span>.<span class="ruby-identifier">on_data</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ch</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;got data #{data} from #{ch[:host]}&quot;</span>&#x000A; <span class="ruby-keyword">end</span>&#x000A; <span class="ruby-keyword">end</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>session.open_channel do |channel|&#x000A; channel.exec &quot;command&quot; do |ch, success|&#x000A; ch.on_data do |ch, data|&#x000A; puts &quot;got data #{data} from #{ch[:host]}&quot;&#x000A; end&#x000A; end&#x000A;end</pre>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-i-open_channel-source'); return false">
diff --git a/classes/Net/SSH/Multi/Subsession.html b/classes/Net/SSH/Multi/Subsession.html
index 7c18b21..6eda395 100644
--- a/classes/Net/SSH/Multi/Subsession.html
+++ b/classes/Net/SSH/Multi/Subsession.html
@@ -108,8 +108,8 @@
</div>
<div class='description'>
- <p>Create a new subsession of the given <code>master</code> session, that
- operates on the given <code>server_list</code>.</p>
+ <p>Create a new subsession of the given <tt>master</tt> session, that operates
+ on the given <tt>server_list</tt>.</p>
</div>
<div class='source'>
<a class='source-toggle' href='#' onclick="toggleCode('method-c-new-source'); return false">
diff --git a/classes/Net/SSH/Multi/Version.html b/classes/Net/SSH/Multi/Version.html
index fca9924..3b583bf 100644
--- a/classes/Net/SSH/Multi/Version.html
+++ b/classes/Net/SSH/Multi/Version.html
@@ -95,7 +95,7 @@
<tr class='top-aligned-row context-row'>
<td class='context-item-name'>TINY</td>
<td>=</td>
- <td class='context-item-value'>0</td>
+ <td class='context-item-value'>1</td>
<td>&nbsp;</td>
<td class='context-item-desc'>
diff --git a/created.rid b/created.rid
index 1e55898..4c13f52 100644
--- a/created.rid
+++ b/created.rid
@@ -1,15 +1,15 @@
-Wed, 06 Feb 2013 12:30:08 -0800
-README.rdoc Wed, 06 Feb 2013 11:04:09 -0800
-lib/net/ssh/multi/channel.rb Wed, 06 Feb 2013 11:04:09 -0800
-lib/net/ssh/multi/channel_proxy.rb Wed, 06 Feb 2013 11:04:09 -0800
-lib/net/ssh/multi/dynamic_server.rb Wed, 06 Feb 2013 11:04:09 -0800
-lib/net/ssh/multi/pending_connection.rb Wed, 06 Feb 2013 11:04:09 -0800
-lib/net/ssh/multi/server.rb Wed, 06 Feb 2013 11:04:09 -0800
-lib/net/ssh/multi/server_list.rb Wed, 06 Feb 2013 11:04:09 -0800
-lib/net/ssh/multi/session.rb Wed, 06 Feb 2013 11:04:09 -0800
-lib/net/ssh/multi/session_actions.rb Wed, 06 Feb 2013 11:04:09 -0800
-lib/net/ssh/multi/subsession.rb Wed, 06 Feb 2013 11:04:09 -0800
-lib/net/ssh/multi/version.rb Wed, 06 Feb 2013 12:29:49 -0800
-lib/net/ssh/multi.rb Wed, 06 Feb 2013 11:04:09 -0800
-LICENSE.txt Wed, 06 Feb 2013 11:04:09 -0800
-CHANGES.txt Wed, 06 Feb 2013 12:29:49 -0800
+Sat, 11 Apr 2015 13:14:34 -0700
+README.rdoc Sat, 11 Apr 2015 12:56:28 -0700
+lib/net/ssh/multi/channel.rb Sat, 11 Apr 2015 12:56:28 -0700
+lib/net/ssh/multi/channel_proxy.rb Sat, 11 Apr 2015 12:56:28 -0700
+lib/net/ssh/multi/dynamic_server.rb Sat, 11 Apr 2015 12:56:28 -0700
+lib/net/ssh/multi/pending_connection.rb Sat, 11 Apr 2015 12:56:28 -0700
+lib/net/ssh/multi/server.rb Sat, 11 Apr 2015 12:58:32 -0700
+lib/net/ssh/multi/server_list.rb Sat, 11 Apr 2015 12:56:28 -0700
+lib/net/ssh/multi/session.rb Sat, 11 Apr 2015 12:58:32 -0700
+lib/net/ssh/multi/session_actions.rb Sat, 11 Apr 2015 12:56:28 -0700
+lib/net/ssh/multi/subsession.rb Sat, 11 Apr 2015 12:56:28 -0700
+lib/net/ssh/multi/version.rb Sat, 11 Apr 2015 13:14:04 -0700
+lib/net/ssh/multi.rb Sat, 11 Apr 2015 12:56:28 -0700
+LICENSE.txt Sat, 11 Apr 2015 12:56:28 -0700
+CHANGES.txt Sat, 11 Apr 2015 13:14:04 -0700
diff --git a/files/CHANGES_txt.html b/files/CHANGES_txt.html
index 516d0fc..0c301bf 100644
--- a/files/CHANGES_txt.html
+++ b/files/CHANGES_txt.html
@@ -31,42 +31,49 @@
</div>
<div class='last-update'>
Last Update:
- <span class='datetime'>2013-02-06 12:29:49 -0800</span>
+ <span class='datetime'>2015-04-11 13:14:04 -0700</span>
</div>
</div>
<div id='content'>
<div id='text'>
<div id='description'>
- <h3 id="label-1.2.0+%2F+06+Feb+2013">1.2.0 / 06 Feb 2013</h3>
+ <h3>1.2.1 / 11 Apr 2015</h3>
+ <ul><li>
+ <p>Fix two problems with :concurrent_connections option (#4) [sersut]</p>
+ </li><li>
+ <p>Replaced test-unit with minitest [juliandunn]</p>
+ </li></ul>
+
+ <h3>1.2.0 / 06 Feb 2013</h3>
<ul><li>
<p>Added public cert. All gem releases are now signed. See INSTALL in readme.</p>
</li></ul>
- <h3 id="label-1.1+%2F+3+Apr+2011">1.1 / 3 Apr 2011</h3>
+ <h3>1.1 / 3 Apr 2011</h3>
<ul><li>
<p>Rescue Timeout::Error so :on_error works as expected when server is
unavailable. [Joel Watson]</p>
</li></ul>
- <h3 id="label-1.0.1+%2F+1+Feb+2009">1.0.1 / 1 Feb 2009</h3>
+ <h3>1.0.1 / 1 Feb 2009</h3>
<ul><li>
<p>Remove redundant call to block_given? in Session#group [paddor]</p>
</li><li>
<p>Add Channel#on_open_failed callback hook [Jamis Buck]</p>
</li></ul>
- <h3 id="label-1.0.0+%2F+1+May+2008">1.0.0 / 1 May 2008</h3>
+ <h3>1.0.0 / 1 May 2008</h3>
<ul><li>
<p>(no changes since the last preview release)</p>
</li></ul>
- <h3 id="label-1.0+Preview+Release+2+%280.99.1%29+%2F+19+Apr+2008">1.0 Preview Release 2 (0.99.1) / 19 Apr 2008</h3>
+ <h3>1.0 Preview Release 2 (0.99.1) / 19 Apr 2008</h3>
<ul><li>
<p>Don't try to select on closed IO streams [Jamis Buck]</p>
</li></ul>
- <h3 id="label-1.0+Preview+Release+1+%280.99.0%29+%2F+10+Apr+2008">1.0 Preview Release 1 (0.99.0) / 10 Apr 2008</h3>
+ <h3>1.0 Preview Release 1 (0.99.0) / 10 Apr 2008</h3>
<ul><li>
<p>First release of <a
href="../classes/Net/SSH/Multi.html">Net::SSH::Multi</a></p>
diff --git a/files/README_rdoc.html b/files/README_rdoc.html
index 95f2884..7a4adee 100644
--- a/files/README_rdoc.html
+++ b/files/README_rdoc.html
@@ -25,20 +25,20 @@
<body class='page'>
<div class='file' id='wrapper'>
<div class='header'>
- <h1 class='name'>README.rdoc</h1>
+ <div class='name'>README.rdoc</div>
<div class='paths'>
README.rdoc
</div>
<div class='last-update'>
Last Update:
- <span class='datetime'>2013-02-06 11:04:09 -0800</span>
+ <span class='datetime'>2015-04-11 12:56:28 -0700</span>
</div>
</div>
<div id='content'>
<div id='text'>
<div id='description'>
- <h1 id="label-Net%3A%3ASSH%3A%3AMulti"><a href="../classes/Net/SSH/Multi.html">Net::SSH::Multi</a></h1>
+ <h1><a href="../classes/Net/SSH/Multi.html">Net::SSH::Multi</a></h1>
<ul><li>
<p>Docs: <a
href="http://net-ssh.github.com/net-ssh-multi">net-ssh.github.com/net-ssh-multi</a></p>
@@ -54,7 +54,7 @@
<p><em>As of v1.1.1, all gem releases are signed. See INSTALL.</em></p>
- <h2 id="label-DESCRIPTION%3A">DESCRIPTION:</h2>
+ <h2>DESCRIPTION:</h2>
<p><a href="../classes/Net/SSH/Multi.html">Net::SSH::Multi</a> is a library
for controlling multiple <a href="../classes/Net/SSH.html">Net::SSH</a>
@@ -68,7 +68,7 @@
parallel, and allows commands to be executed on subsets of servers (defined
by groups).</p>
- <h2 id="label-FEATURES%3A">FEATURES:</h2>
+ <h2>FEATURES:</h2>
<ul><li>
<p>Easily manage multiple connections</p>
</li><li>
@@ -82,17 +82,17 @@
tunneled, or even specify a different gateway machine for each server</p>
</li></ul>
- <h2 id="label-SYNOPSIS%3A">SYNOPSIS:</h2>
+ <h2>SYNOPSIS:</h2>
<p>In a nutshell:</p>
- <pre class="ruby"><span class="ruby-identifier">require</span> <span class="ruby-string">'net/ssh/multi'</span>&#x000A;&#x000A;<span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Multi</span>.<span class="ruby-identifier">start</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">session</span><span class="ruby-operator">|</span>&#x000A; <span class="ruby-comment"># access servers via a gateway</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">via</span> <span class="ruby-string">'gateway'</span>, <span class="ruby-string">'gateway-user'</span>&#x000A;&#x000A; <span class="ruby-comment"># define the servers we want to use</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'user1@host1'</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'user2@host2'</span>&#x000A;&#x000A; <span class="ruby-comment"># define servers in groups for more granular access</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">group</span> :<span class="ruby-identifier">app</span> <span class="ruby-keyword">do</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'user@app1'</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">use</span> <span class="ruby-string">'user@app2'</span>&#x000A; <span class="ruby-keyword">end</span>&#x000A;&#x000A; <span class="ruby-comment"># execute commands on all servers</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">exec</span> <span class="ruby-string">&quot;uptime&quot;</span>&#x000A;&#x000A; <span class="ruby-comment"># execute commands on a subset of servers</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">with</span>(:<span class="ruby-identifier">app</span>).<span class="ruby-identifier">exec</span> <span class="ruby-string">&quot;hostname&quot;</span>&#x000A;&#x000A; <span class="ruby-comment"># run the aggregated event loop</span>&#x000A; <span class="ruby-identifier">session</span>.<span class="ruby-identifier">loop</span>&#x000A;<span class="ruby-keyword">end</span></pre>
+ <pre>require 'net/ssh/multi'&#x000A;Net::SSH::Multi.start do |session|&#x000A; # access servers via a gateway&#x000A; session.via 'gateway', 'gateway-user'&#x000A;&#x000A; # define the servers we want to use&#x000A; session.use 'user1@host1'&#x000A; session.use 'user2@host2'&#x000A;&#x000A; # define servers in groups for more granular access&#x000A; session.group :app do&#x000A; session.use 'user@app1'&#x000A; session.use 'user@app2'&#x000A; end&#x000A;&#x000A; # execute commands on all servers&#x000A; session.exec &quot;uptime&quot;&#x000A;&#x000A; # execute commands on a subset of servers&#x000A; session.with(:app).exec &quot;hostname&quot;&#x000A;&#x000A; # run the aggregated event loop&#x000A; session.loop&#x000A;end</pre>
<p>See <a
href="../classes/Net/SSH/Multi/Session.html">Net::SSH::Multi::Session</a>
for more documentation.</p>
- <h2 id="label-REQUIREMENTS%3A">REQUIREMENTS:</h2>
+ <h2>REQUIREMENTS:</h2>
<ul><li>
<p>net-ssh (version 2)</p>
</li><li>
@@ -106,7 +106,7 @@
<p>Mocha (for the tests)</p>
</li></ul>
- <h2 id="label-INSTALL%3A">INSTALL:</h2>
+ <h2>INSTALL:</h2>
<ul><li>
<p>gem install net-ssh-multi</p>
</li></ul>
@@ -127,7 +127,7 @@
data signature". If you're still having trouble let me know and I'll give
you a hand.</p>
- <h2 id="label-LICENSE%3A">LICENSE:</h2>
+ <h2>LICENSE:</h2>
<p>(The MIT License)</p>
diff --git a/files/lib/net/ssh/multi/channel_proxy_rb.html b/files/lib/net/ssh/multi/channel_proxy_rb.html
index a7e5e2b..46fc73d 100644
--- a/files/lib/net/ssh/multi/channel_proxy_rb.html
+++ b/files/lib/net/ssh/multi/channel_proxy_rb.html
@@ -31,7 +31,7 @@
</div>
<div class='last-update'>
Last Update:
- <span class='datetime'>2013-02-06 11:04:09 -0800</span>
+ <span class='datetime'>2015-04-11 12:56:28 -0700</span>
</div>
</div>
<div id='content'>
diff --git a/files/lib/net/ssh/multi/channel_rb.html b/files/lib/net/ssh/multi/channel_rb.html
index 54e2b50..fba6043 100644
--- a/files/lib/net/ssh/multi/channel_rb.html
+++ b/files/lib/net/ssh/multi/channel_rb.html
@@ -31,7 +31,7 @@
</div>
<div class='last-update'>
Last Update:
- <span class='datetime'>2013-02-06 11:04:09 -0800</span>
+ <span class='datetime'>2015-04-11 12:56:28 -0700</span>
</div>
</div>
<div id='content'>
diff --git a/files/lib/net/ssh/multi/dynamic_server_rb.html b/files/lib/net/ssh/multi/dynamic_server_rb.html
index 06dda62..9acd3df 100644
--- a/files/lib/net/ssh/multi/dynamic_server_rb.html
+++ b/files/lib/net/ssh/multi/dynamic_server_rb.html
@@ -31,7 +31,7 @@
</div>
<div class='last-update'>
Last Update:
- <span class='datetime'>2013-02-06 11:04:09 -0800</span>
+ <span class='datetime'>2015-04-11 12:56:28 -0700</span>
</div>
</div>
<div id='content'>
diff --git a/files/lib/net/ssh/multi/pending_connection_rb.html b/files/lib/net/ssh/multi/pending_connection_rb.html
index 2f60e49..00eb20f 100644
--- a/files/lib/net/ssh/multi/pending_connection_rb.html
+++ b/files/lib/net/ssh/multi/pending_connection_rb.html
@@ -31,7 +31,7 @@
</div>
<div class='last-update'>
Last Update:
- <span class='datetime'>2013-02-06 11:04:09 -0800</span>
+ <span class='datetime'>2015-04-11 12:56:28 -0700</span>
</div>
</div>
<div id='content'>
diff --git a/files/lib/net/ssh/multi/server_list_rb.html b/files/lib/net/ssh/multi/server_list_rb.html
index 73964f0..33d3846 100644
--- a/files/lib/net/ssh/multi/server_list_rb.html
+++ b/files/lib/net/ssh/multi/server_list_rb.html
@@ -31,7 +31,7 @@
</div>
<div class='last-update'>
Last Update:
- <span class='datetime'>2013-02-06 11:04:09 -0800</span>
+ <span class='datetime'>2015-04-11 12:56:28 -0700</span>
</div>
</div>
<div id='content'>
diff --git a/files/lib/net/ssh/multi/server_rb.html b/files/lib/net/ssh/multi/server_rb.html
index 625acfd..5b21841 100644
--- a/files/lib/net/ssh/multi/server_rb.html
+++ b/files/lib/net/ssh/multi/server_rb.html
@@ -31,7 +31,7 @@
</div>
<div class='last-update'>
Last Update:
- <span class='datetime'>2013-02-06 11:04:09 -0800</span>
+ <span class='datetime'>2015-04-11 12:58:32 -0700</span>
</div>
</div>
<div id='content'>
diff --git a/files/lib/net/ssh/multi/session_actions_rb.html b/files/lib/net/ssh/multi/session_actions_rb.html
index d5805b0..136068a 100644
--- a/files/lib/net/ssh/multi/session_actions_rb.html
+++ b/files/lib/net/ssh/multi/session_actions_rb.html
@@ -31,7 +31,7 @@
</div>
<div class='last-update'>
Last Update:
- <span class='datetime'>2013-02-06 11:04:09 -0800</span>
+ <span class='datetime'>2015-04-11 12:56:28 -0700</span>
</div>
</div>
<div id='content'>
diff --git a/files/lib/net/ssh/multi/session_rb.html b/files/lib/net/ssh/multi/session_rb.html
index cc118e7..c914684 100644
--- a/files/lib/net/ssh/multi/session_rb.html
+++ b/files/lib/net/ssh/multi/session_rb.html
@@ -31,7 +31,7 @@
</div>
<div class='last-update'>
Last Update:
- <span class='datetime'>2013-02-06 11:04:09 -0800</span>
+ <span class='datetime'>2015-04-11 12:58:32 -0700</span>
</div>
</div>
<div id='content'>
diff --git a/files/lib/net/ssh/multi/subsession_rb.html b/files/lib/net/ssh/multi/subsession_rb.html
index 52119c7..e00d104 100644
--- a/files/lib/net/ssh/multi/subsession_rb.html
+++ b/files/lib/net/ssh/multi/subsession_rb.html
@@ -31,7 +31,7 @@
</div>
<div class='last-update'>
Last Update:
- <span class='datetime'>2013-02-06 11:04:09 -0800</span>
+ <span class='datetime'>2015-04-11 12:56:28 -0700</span>
</div>
</div>
<div id='content'>
diff --git a/files/lib/net/ssh/multi/version_rb.html b/files/lib/net/ssh/multi/version_rb.html
index ccda021..969f81b 100644
--- a/files/lib/net/ssh/multi/version_rb.html
+++ b/files/lib/net/ssh/multi/version_rb.html
@@ -31,7 +31,7 @@
</div>
<div class='last-update'>
Last Update:
- <span class='datetime'>2013-02-06 12:29:49 -0800</span>
+ <span class='datetime'>2015-04-11 13:14:04 -0700</span>
</div>
</div>
<div id='content'>
diff --git a/files/lib/net/ssh/multi_rb.html b/files/lib/net/ssh/multi_rb.html
index f7421e1..493eab2 100644
--- a/files/lib/net/ssh/multi_rb.html
+++ b/files/lib/net/ssh/multi_rb.html
@@ -31,7 +31,7 @@
</div>
<div class='last-update'>
Last Update:
- <span class='datetime'>2013-02-06 11:04:09 -0800</span>
+ <span class='datetime'>2015-04-11 12:56:28 -0700</span>
</div>
</div>
<div id='content'>
diff --git a/fr_method_index.html b/fr_method_index.html
index 09b5102..8e0925d 100644
--- a/fr_method_index.html
+++ b/fr_method_index.html
@@ -4502,27 +4502,27 @@
</form>
<ol class='methods' id='search-results' style='display: none'></ol>
<ol class='methods' id='index-entries'>
- <li><a target="docwin" href="classes/Net/SSH/Multi/DynamicServer.html#method-callback"><span class="method_name">#callback</span> <span class="module_name">(Net::SSH::Multi::DynamicServer)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Channel.html#method-channels"><span class="method_name">#channels</span> <span class="module_name">(Net::SSH::Multi::Channel)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Session.html#method-concurrent_connections"><span class="method_name">#concurrent_connections</span> <span class="module_name">(Net::SSH::Multi::Session)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Channel.html#method-connection"><span class="method_name">#connection</span> <span class="module_name">(Net::SSH::Multi::Channel)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Session.html#method-default_gateway"><span class="method_name">#default_gateway</span> <span class="module_name">(Net::SSH::Multi::Session)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Session.html#method-default_user"><span class="method_name">#default_user</span> <span class="module_name">(Net::SSH::Multi::Session)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Server.html#method-gateway"><span class="method_name">#gateway</span> <span class="module_name">(Net::SSH::Multi::Server)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Session.html#method-groups"><span class="method_name">#groups</span> <span class="module_name">(Net::SSH::Multi::Session)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Server.html#method-host"><span class="method_name">#host</span> <span class="module_name">(Net::SSH::Multi::Server)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/DynamicServer.html#method-master"><span class="method_name">#master</span> <span class="module_name">(Net::SSH::Multi::DynamicServer)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Subsession.html#method-master"><span class="method_name">#master</span> <span class="module_name">(Net::SSH::Multi::Subsession)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Server.html#method-master"><span class="method_name">#master</span> <span class="module_name">(Net::SSH::Multi::Server)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/ChannelProxy.html#method-on_confirm"><span class="method_name">#on_confirm</span> <span class="module_name">(Net::SSH::Multi::ChannelProxy)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Session.html#method-on_error"><span class="method_name">#on_error</span> <span class="module_name">(Net::SSH::Multi::Session)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Server.html#method-options"><span class="method_name">#options</span> <span class="module_name">(Net::SSH::Multi::Server)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/DynamicServer.html#method-options"><span class="method_name">#options</span> <span class="module_name">(Net::SSH::Multi::DynamicServer)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Channel.html#method-properties"><span class="method_name">#properties</span> <span class="module_name">(Net::SSH::Multi::Channel)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/PendingConnection.html#method-server"><span class="method_name">#server</span> <span class="module_name">(Net::SSH::Multi::PendingConnection)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Session.html#method-server_list"><span class="method_name">#server_list</span> <span class="module_name">(Net::SSH::Multi::Session)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Subsession.html#method-servers"><span class="method_name">#servers</span> <span class="module_name">(Net::SSH::Multi::Subsession)</span></a></li>
- <li><a target="docwin" href="classes/Net/SSH/Multi/Server.html#method-user"><span class="method_name">#user</span> <span class="module_name">(Net::SSH::Multi::Server)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/DynamicServer.html#attribute-i-callback"><span class="method_name">#callback</span> <span class="module_name">(Net::SSH::Multi::DynamicServer)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Channel.html#attribute-i-channels"><span class="method_name">#channels</span> <span class="module_name">(Net::SSH::Multi::Channel)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Session.html#attribute-i-concurrent_connections"><span class="method_name">#concurrent_connections</span> <span class="module_name">(Net::SSH::Multi::Session)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Channel.html#attribute-i-connection"><span class="method_name">#connection</span> <span class="module_name">(Net::SSH::Multi::Channel)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Session.html#attribute-i-default_gateway"><span class="method_name">#default_gateway</span> <span class="module_name">(Net::SSH::Multi::Session)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Session.html#attribute-i-default_user"><span class="method_name">#default_user</span> <span class="module_name">(Net::SSH::Multi::Session)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Server.html#attribute-i-gateway"><span class="method_name">#gateway</span> <span class="module_name">(Net::SSH::Multi::Server)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Session.html#attribute-i-groups"><span class="method_name">#groups</span> <span class="module_name">(Net::SSH::Multi::Session)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Server.html#attribute-i-host"><span class="method_name">#host</span> <span class="module_name">(Net::SSH::Multi::Server)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/DynamicServer.html#attribute-i-master"><span class="method_name">#master</span> <span class="module_name">(Net::SSH::Multi::DynamicServer)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Subsession.html#attribute-i-master"><span class="method_name">#master</span> <span class="module_name">(Net::SSH::Multi::Subsession)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Server.html#attribute-i-master"><span class="method_name">#master</span> <span class="module_name">(Net::SSH::Multi::Server)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/ChannelProxy.html#attribute-i-on_confirm"><span class="method_name">#on_confirm</span> <span class="module_name">(Net::SSH::Multi::ChannelProxy)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Session.html#attribute-i-on_error"><span class="method_name">#on_error</span> <span class="module_name">(Net::SSH::Multi::Session)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Server.html#attribute-i-options"><span class="method_name">#options</span> <span class="module_name">(Net::SSH::Multi::Server)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/DynamicServer.html#attribute-i-options"><span class="method_name">#options</span> <span class="module_name">(Net::SSH::Multi::DynamicServer)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Channel.html#attribute-i-properties"><span class="method_name">#properties</span> <span class="module_name">(Net::SSH::Multi::Channel)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/PendingConnection.html#attribute-i-server"><span class="method_name">#server</span> <span class="module_name">(Net::SSH::Multi::PendingConnection)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Session.html#attribute-i-server_list"><span class="method_name">#server_list</span> <span class="module_name">(Net::SSH::Multi::Session)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Subsession.html#attribute-i-servers"><span class="method_name">#servers</span> <span class="module_name">(Net::SSH::Multi::Subsession)</span></a></li>
+ <li><a target="docwin" href="classes/Net/SSH/Multi/Server.html#attribute-i-user"><span class="method_name">#user</span> <span class="module_name">(Net::SSH::Multi::Server)</span></a></li>
<li><a target="docwin" href="classes/Net/SSH/Multi/ChannelProxy.html#method-c-new"><span class="method_name">::new</span> <span class="module_name">(Net::SSH::Multi::ChannelProxy)</span></a></li>
<li><a target="docwin" href="classes/Net/SSH/Multi/Channel.html#method-c-new"><span class="method_name">::new</span> <span class="module_name">(Net::SSH::Multi::Channel)</span></a></li>
<li><a target="docwin" href="classes/Net/SSH/Multi/Subsession.html#method-c-new"><span class="method_name">::new</span> <span class="module_name">(Net::SSH::Multi::Subsession)</span></a></li>
diff --git a/index.html b/index.html
index cb64fe7..6f43747 100644
--- a/index.html
+++ b/index.html
@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
<head>
- <title>net-ssh-multi 1.2.0</title>
+ <title>net-ssh-multi 1.2.1</title>
<meta content='text/html; charset=US-ASCII' http-equiv='Content-Type'>
</head>
<frameset border='1' bordercolor='gray' cols='20%, *' frameborder='1'>