net-ssh-simple 1.6.4 → 1.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.rdoc +1 -1
- data/coverage/.last_run.json +1 -1
- data/coverage/.resultset.json +16 -10
- data/coverage/index.html +280 -244
- data/doc/Net.html +5 -5
- data/doc/Net/SSH.html +5 -5
- data/doc/Net/SSH/Simple.html +112 -96
- data/doc/Net/SSH/Simple/Error.html +25 -25
- data/doc/Net/SSH/Simple/Result.html +73 -73
- data/doc/_index.html +6 -6
- data/doc/class_list.html +2 -1
- data/doc/css/style.css +11 -1
- data/doc/file.README.html +58 -54
- data/doc/file_list.html +2 -1
- data/doc/frames.html +5 -7
- data/doc/index.html +58 -54
- data/doc/js/app.js +7 -2
- data/doc/js/full_list.js +7 -2
- data/doc/method_list.html +34 -99
- data/doc/top-level-namespace.html +5 -5
- data/lib/net/ssh/simple.rb +16 -10
- data/lib/net/ssh/simple/version.rb +1 -1
- metadata +1 -1
data/doc/class_list.html
CHANGED
@@ -15,6 +15,7 @@
|
|
15
15
|
<script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
|
16
16
|
|
17
17
|
|
18
|
+
<title>Class List</title>
|
18
19
|
<base id="base_target" target="_parent" />
|
19
20
|
</head>
|
20
21
|
<body>
|
@@ -44,7 +45,7 @@
|
|
44
45
|
<div id="search">Search: <input type="text" /></div>
|
45
46
|
|
46
47
|
<ul id="full_list" class="class">
|
47
|
-
<li><span class='object_link'><a href="top-level-namespace.html" title=" (root)">Top Level Namespace</a></span></li>
|
48
|
+
<li><span class='object_link'><a href="top-level-namespace.html" title="Top Level Namespace (root)">Top Level Namespace</a></span></li>
|
48
49
|
<li><a class='toggle'></a> <span class='object_link'><a href="Net.html" title="Net (module)">Net</a></span><small class='search_info'>Top Level Namespace</small></li><ul><li><a class='toggle'></a> <span class='object_link'><a href="Net/SSH.html" title="Net::SSH (module)">SSH</a></span><small class='search_info'>Net</small></li><ul><li><a class='toggle'></a> <span class='object_link'><a href="Net/SSH/Simple.html" title="Net::SSH::Simple (class)">Simple</a></span> < Object<small class='search_info'>Net::SSH</small></li><ul><li><span class='object_link'><a href="Net/SSH/Simple/Error.html" title="Net::SSH::Simple::Error (class)">Error</a></span> < RuntimeError<small class='search_info'>Net::SSH::Simple</small></li><li><span class='object_link'><a href="Net/SSH/Simple/Result.html" title="Net::SSH::Simple::Result (class)">Result</a></span> < Dash<small class='search_info'>Net::SSH::Simple</small></li></ul></ul></ul>
|
49
50
|
|
50
51
|
</ul>
|
data/doc/css/style.css
CHANGED
@@ -27,6 +27,16 @@ h2 small { font-weight: normal; font-size: 0.7em; display: block; float: right;
|
|
27
27
|
.rdoc-term { padding-right: 25px; font-weight: bold; }
|
28
28
|
.rdoc-list p { margin: 0; padding: 0; margin-bottom: 4px; }
|
29
29
|
|
30
|
+
/* style for <table> */
|
31
|
+
#filecontents table, .docstring table { border-collapse: collapse; }
|
32
|
+
#filecontents table th, #filecontents table td,
|
33
|
+
.docstring table th, .docstring table td { border: 1px solid #ccc; padding: 8px; padding-right: 17px; }
|
34
|
+
#filecontents table tr:nth-child(odd),
|
35
|
+
.docstring table tr:nth-child(odd) { background: #eee; }
|
36
|
+
#filecontents table tr:nth-child(even),
|
37
|
+
.docstring table tr:nth-child(even) { background: #fff; }
|
38
|
+
#filecontents table th, .docstring table th { background: #fff; }
|
39
|
+
|
30
40
|
/* style for <ul> */
|
31
41
|
#filecontents li > p, .docstring li > p { margin: 0px; }
|
32
42
|
#filecontents ul, .docstring ul { padding-left: 20px; }
|
@@ -314,9 +324,9 @@ pre.code .dot + pre.code .id,
|
|
314
324
|
pre.code .rubyid_to_i pre.code .rubyid_each { color: #0085FF; }
|
315
325
|
pre.code .comment { color: #0066FF; }
|
316
326
|
pre.code .const, pre.code .constant { color: #585CF6; }
|
327
|
+
pre.code .label,
|
317
328
|
pre.code .symbol { color: #C5060B; }
|
318
329
|
pre.code .kw,
|
319
|
-
pre.code .label,
|
320
330
|
pre.code .rubyid_require,
|
321
331
|
pre.code .rubyid_extend,
|
322
332
|
pre.code .rubyid_include { color: #0000FF; }
|
data/doc/file.README.html
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
3
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
4
|
<head>
|
5
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
6
6
|
<title>
|
7
7
|
File: README
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.3
|
9
|
+
— Documentation by YARD 0.8.7.3
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
13
|
-
<link rel="stylesheet" href="css/style.css" type="text/css"
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
|
14
14
|
|
15
|
-
<link rel="stylesheet" href="css/common.css" type="text/css"
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
|
16
16
|
|
17
17
|
<script type="text/javascript" charset="utf-8">
|
18
18
|
hasFrames = window.top.frames.main ? true : false;
|
@@ -62,7 +62,7 @@
|
|
62
62
|
<iframe id="search_frame"></iframe>
|
63
63
|
|
64
64
|
<div id="content"><div id='filecontents'>
|
65
|
-
<h1>Net::SSH::Simple <a href="https://gemnasium.com/busyloop/net-ssh-simple"><img src="https://gemnasium.com/busyloop/net-ssh-simple.png" alt="Dependency Status" /></a></h1>
|
65
|
+
<h1 id="label-Net%3A%3ASSH%3A%3ASimple+%3Cimg+src%3D%22https%3A%2F%2Fgemnasium.com%2Fbusyloop%2Fnet-ssh-simple.png%22+alt%3D%22Dependency+Status%22+%2F%3E">Net::SSH::Simple <a href="https://gemnasium.com/busyloop/net-ssh-simple"><img src="https://gemnasium.com/busyloop/net-ssh-simple.png" alt="Dependency Status" /></a></h1>
|
66
66
|
|
67
67
|
<p>Net::SSH::Simple is a simple wrapper around Net::SSH and Net::SCP.</p>
|
68
68
|
|
@@ -73,7 +73,7 @@ to error-handling, threading, timeouts and keep-alive.</p>
|
|
73
73
|
<p>It also simplifies advanced usage such as talking to many hosts in parallel
|
74
74
|
or performing streaming operations (stdio).</p>
|
75
75
|
|
76
|
-
<h2>Features</h2>
|
76
|
+
<h2 id="label-Features">Features</h2>
|
77
77
|
<ul><li>
|
78
78
|
<p>Friendly, flexible API for SSH and SCP (synchronous and asynchronous)</p>
|
79
79
|
</li><li>
|
@@ -93,72 +93,75 @@ href="http://busyloop.github.com/net-ssh-simple/doc/Net/SSH/Simple/Error">Net::S
|
|
93
93
|
coverage</p>
|
94
94
|
</li></ul>
|
95
95
|
|
96
|
-
<h2>Installation</h2>
|
96
|
+
<h2 id="label-Installation">Installation</h2>
|
97
97
|
|
98
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_gem'>gem</span> <span class='id identifier rubyid_install'>install</span> <span class='id identifier rubyid_net'>net</span><span class='op'>-</span><span class='id identifier rubyid_ssh'>ssh</span><span class='op'>-</span><span class='id identifier rubyid_simple'>simple</span></code></pre>
|
98
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_gem'>gem</span> <span class='id identifier rubyid_install'>install</span> <span class='id identifier rubyid_net'>net</span><span class='op'>-</span><span class='id identifier rubyid_ssh'>ssh</span><span class='op'>-</span><span class='id identifier rubyid_simple'>simple</span></code></pre>
|
99
99
|
|
100
|
-
<h2>Examples</h2>
|
100
|
+
<h2 id="label-Examples">Examples</h2>
|
101
101
|
|
102
102
|
<p>Note: If you are reading this on github then <a
|
103
103
|
href="http://busyloop.github.com/net-ssh-simple/doc/">click here</a> for a
|
104
104
|
more readable version with syntax highlighting.</p>
|
105
105
|
|
106
|
-
<h3>Block Syntax (synchronous)</h3>
|
106
|
+
<h3 id="label-Block+Syntax+%28synchronous%29">Block Syntax (synchronous)</h3>
|
107
107
|
|
108
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'
|
108
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>net/ssh/simple</span><span class='tstring_end'>'</span></span>
|
109
109
|
|
110
110
|
<span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_sync'>sync</span> <span class='kw'>do</span>
|
111
|
-
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
111
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span>
|
112
112
|
<span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_stdout'>stdout</span> <span class='comment'>#=> "Hello World."
|
113
113
|
</span>
|
114
|
-
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'
|
115
|
-
<span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'
|
116
|
-
<span class='kw'>end</span
|
114
|
+
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example2.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
115
|
+
<span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example3.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span>
|
116
|
+
<span class='kw'>end</span>
|
117
|
+
</code></pre>
|
117
118
|
|
118
|
-
<h3>Block Syntax (asynchronous)</h3>
|
119
|
+
<h3 id="label-Block+Syntax+%28asynchronous%29">Block Syntax (asynchronous)</h3>
|
119
120
|
|
120
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'
|
121
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>net/ssh/simple</span><span class='tstring_end'>'</span></span>
|
121
122
|
|
122
123
|
<span class='id identifier rubyid_t1'>t1</span> <span class='op'>=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_async'>async</span> <span class='kw'>do</span>
|
123
|
-
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'
|
124
|
-
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
124
|
+
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
125
|
+
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example3.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World A."</span><span class='tstring_end'>'</span></span>
|
125
126
|
<span class='kw'>end</span>
|
126
127
|
<span class='id identifier rubyid_t2'>t2</span> <span class='op'>=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_async'>async</span> <span class='kw'>do</span>
|
127
|
-
<span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'
|
128
|
-
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
128
|
+
<span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example6.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span>
|
129
|
+
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example7.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World B."</span><span class='tstring_end'>'</span></span>
|
129
130
|
<span class='kw'>end</span>
|
130
131
|
<span class='id identifier rubyid_r1'>r1</span> <span class='op'>=</span> <span class='id identifier rubyid_t1'>t1</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span> <span class='comment'># wait for t1 to finish and grab return value
|
131
132
|
</span><span class='id identifier rubyid_r2'>r2</span> <span class='op'>=</span> <span class='id identifier rubyid_t2'>t2</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span> <span class='comment'># wait for t2 to finish and grab return value
|
132
133
|
</span>
|
133
134
|
<span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r1'>r1</span><span class='period'>.</span><span class='id identifier rubyid_stdout'>stdout</span> <span class='comment'>#=> "Hello World A."
|
134
|
-
</span><span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r2'>r2</span><span class='period'>.</span><span class='id identifier rubyid_stdout'>stdout</span> <span class='comment'>#=> "Hello World B."
|
135
|
+
</span><span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r2'>r2</span><span class='period'>.</span><span class='id identifier rubyid_stdout'>stdout</span> <span class='comment'>#=> "Hello World B."
|
136
|
+
</span></code></pre>
|
135
137
|
|
136
|
-
<h3>Using an instance</h3>
|
138
|
+
<h3 id="label-Using+an+instance">Using an instance</h3>
|
137
139
|
|
138
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'
|
140
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>net/ssh/simple</span><span class='tstring_end'>'</span></span>
|
139
141
|
|
140
142
|
<span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
141
|
-
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
142
|
-
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'
|
143
|
-
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'
|
144
|
-
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span
|
143
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span>
|
144
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example2.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
145
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example3.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span>
|
146
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span>
|
147
|
+
</code></pre>
|
145
148
|
|
146
|
-
<h2>Thread safety</h2>
|
149
|
+
<h2 id="label-Thread+safety">Thread safety</h2>
|
147
150
|
|
148
151
|
<p>Do <em>not</em> share a Net::SSH::Simple instance across threads.</p>
|
149
152
|
|
150
|
-
<p>That
|
151
|
-
Net::SSH::Simple concurrently in different Threads. If you only use
|
152
|
-
block-syntax then you have nothing to worry about.</p>
|
153
|
+
<p>That's the only rule to watch out for. Other than that you're free
|
154
|
+
to use Net::SSH::Simple concurrently in different Threads. If you only use
|
155
|
+
the block-syntax then you have nothing to worry about.</p>
|
153
156
|
|
154
157
|
<p>If you want to use the instance syntax in a threaded environment then the
|
155
158
|
following idiom will provide the best performance:</p>
|
156
159
|
|
157
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'
|
160
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>net/ssh/simple</span><span class='tstring_end'>'</span></span>
|
158
161
|
|
159
162
|
<span class='comment'># Create and re-use one instance per thread, with a default username.
|
160
163
|
</span><span class='kw'>def</span> <span class='id identifier rubyid_ss'>ss</span>
|
161
|
-
<span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span><span class='lbracket'>[</span><span class='symbol'>:simplessh</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='symbol'>:user</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'
|
164
|
+
<span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span><span class='lbracket'>[</span><span class='symbol'>:simplessh</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='symbol'>:user</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>bob</span><span class='tstring_end'>'</span></span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
162
165
|
<span class='kw'>end</span>
|
163
166
|
|
164
167
|
<span class='comment'># Strictly optional. You may use this method to close the
|
@@ -175,16 +178,16 @@ following idiom will provide the best performance:</p>
|
|
175
178
|
</span><span class='kw'>def</span> <span class='id identifier rubyid_do_something_involving_ssh'>do_something_involving_ssh</span>
|
176
179
|
<span class='comment'># The connections to example1-5.com are re-used across
|
177
180
|
</span> <span class='comment'># multiple calls to this method.
|
178
|
-
</span> <span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
179
|
-
<span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'
|
180
|
-
<span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'
|
181
|
+
</span> <span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='lbrace'>{</span><span class='symbol'>:user</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>not_bob</span><span class='tstring_end'>'</span></span><span class='rbrace'>}</span>
|
182
|
+
<span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example2.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
183
|
+
<span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example3.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span>
|
181
184
|
|
182
185
|
<span class='id identifier rubyid_t'>t</span> <span class='op'>=</span> <span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_async'>async</span> <span class='kw'>do</span>
|
183
|
-
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'
|
186
|
+
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example4.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
184
187
|
<span class='kw'>end</span>
|
185
188
|
|
186
189
|
<span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_sync'>sync</span> <span class='kw'>do</span>
|
187
|
-
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'
|
190
|
+
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example5.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
188
191
|
<span class='kw'>end</span>
|
189
192
|
|
190
193
|
<span class='comment'># wait for our async call to finish
|
@@ -194,43 +197,44 @@ following idiom will provide the best performance:</p>
|
|
194
197
|
</span> <span class='comment'># because we want these connections to close immediately
|
195
198
|
</span> <span class='comment'># after the block finishes. This is useful when you know
|
196
199
|
</span> <span class='comment'># that some hosts will be connected to only once during
|
197
|
-
</span> <span class='comment'># the lifetime of a thread (there
|
200
|
+
</span> <span class='comment'># the lifetime of a thread (there's no point in keeping
|
198
201
|
</span> <span class='comment'># these open).
|
199
202
|
</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_sync'>sync</span> <span class='kw'>do</span>
|
200
203
|
<span class='comment'># opens connections to example8.com, example9.com
|
201
|
-
</span> <span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
202
|
-
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
204
|
+
</span> <span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example8.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span>
|
205
|
+
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example9.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span>
|
203
206
|
|
204
207
|
<span class='comment'># connections are reused
|
205
|
-
</span> <span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
206
|
-
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
208
|
+
</span> <span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example8.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "World Hello."</span><span class='tstring_end'>'</span></span>
|
209
|
+
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example9.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "World Hello."</span><span class='tstring_end'>'</span></span>
|
207
210
|
|
208
211
|
<span class='comment'># both connections close at the end of this block
|
209
212
|
</span> <span class='kw'>end</span>
|
210
|
-
<span class='kw'>end</span
|
213
|
+
<span class='kw'>end</span>
|
214
|
+
</code></pre>
|
211
215
|
|
212
|
-
<h2>Documentation</h2>
|
216
|
+
<h2 id="label-Documentation">Documentation</h2>
|
213
217
|
|
214
218
|
<p>See <a
|
215
219
|
href="http://busyloop.github.com/net-ssh-simple/doc/Net/SSH/Simple.html">Net::SSH::Simple</a>
|
216
220
|
for more examples and full API.</p>
|
217
221
|
|
218
|
-
<h2>Running the test suite</h2>
|
222
|
+
<h2 id="label-Running+the+test+suite">Running the test suite</h2>
|
219
223
|
|
220
224
|
<p>The spec-suite makes SSH-connections to localhost, thus you need to have
|
221
225
|
your own ssh-key authorized in order to run it. Please see the comment at
|
222
|
-
the top of
|
226
|
+
the top of 'spec/net-ssh-simple.rb' on how to set this up.</p>
|
223
227
|
|
224
228
|
<p>When your host is properly configured the following command should pass:</p>
|
225
229
|
|
226
|
-
<pre class="code ruby"><code>$ bundle exec rake</code></pre>
|
230
|
+
<pre class="code ruby"><code class="ruby">$ bundle exec rake</code></pre>
|
227
231
|
|
228
|
-
<h2>License (MIT)</h2>
|
232
|
+
<h2 id="label-License+%28MIT%29">License (MIT)</h2>
|
229
233
|
|
230
234
|
<p>Copyright (C) 2011 by moe@busyloop.net</p>
|
231
235
|
|
232
236
|
<p>Permission is hereby granted, free of charge, to any person obtaining a
|
233
|
-
copy of this software and associated documentation files (the
|
237
|
+
copy of this software and associated documentation files (the “Software”),
|
234
238
|
to deal in the Software without restriction, including without limitation
|
235
239
|
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
236
240
|
and/or sell copies of the Software, and to permit persons to whom the
|
@@ -239,7 +243,7 @@ Software is furnished to do so, subject to the following conditions:</p>
|
|
239
243
|
<p>The above copyright notice and this permission notice shall be included in
|
240
244
|
all copies or substantial portions of the Software.</p>
|
241
245
|
|
242
|
-
<p>THE SOFTWARE IS PROVIDED
|
246
|
+
<p>THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
243
247
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
244
248
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
245
249
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
@@ -249,9 +253,9 @@ DEALINGS IN THE SOFTWARE.</p>
|
|
249
253
|
</div></div>
|
250
254
|
|
251
255
|
<div id="footer">
|
252
|
-
Generated on
|
256
|
+
Generated on Fri Mar 14 19:29:20 2014 by
|
253
257
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
254
|
-
0.8.3 (ruby-1.
|
258
|
+
0.8.7.3 (ruby-2.1.1).
|
255
259
|
</div>
|
256
260
|
|
257
261
|
</body>
|
data/doc/file_list.html
CHANGED
@@ -15,6 +15,7 @@
|
|
15
15
|
<script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
|
16
16
|
|
17
17
|
|
18
|
+
<title>File List</title>
|
18
19
|
<base id="base_target" target="_parent" />
|
19
20
|
</head>
|
20
21
|
<body>
|
@@ -46,7 +47,7 @@
|
|
46
47
|
<ul id="full_list" class="file">
|
47
48
|
|
48
49
|
|
49
|
-
<li class="r1"><a href="index.html" title="README">README</a></li>
|
50
|
+
<li class="r1"><span class="object_link"><a href="index.html" title="README">README</a></a></li>
|
50
51
|
|
51
52
|
|
52
53
|
</ul>
|
data/doc/frames.html
CHANGED
@@ -4,18 +4,16 @@
|
|
4
4
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
5
|
<head>
|
6
6
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
7
|
-
<title>Documentation by YARD 0.8.3</title>
|
7
|
+
<title>Documentation by YARD 0.8.7.3</title>
|
8
8
|
</head>
|
9
9
|
<script type="text/javascript" charset="utf-8">
|
10
10
|
window.onload = function() {
|
11
|
-
var match = window.location.hash.match(/^#!(.+)/);
|
12
|
-
var name = 'index.html';
|
13
|
-
|
14
|
-
name = unescape(match[1]);
|
15
|
-
}
|
11
|
+
var match = unescape(window.location.hash).match(/^#!(.+)/);
|
12
|
+
var name = match ? match[1] : 'index.html';
|
13
|
+
name = name.replace(/^(\w+):\/\//, '').replace(/^\/\//, '');
|
16
14
|
document.writeln('<frameset cols="20%,*">' +
|
17
15
|
'<frame name="list" src="class_list.html" />' +
|
18
|
-
'<frame name="main" src="' + name + '" />' +
|
16
|
+
'<frame name="main" src="' + escape(name) + '" />' +
|
19
17
|
'</frameset>');
|
20
18
|
}
|
21
19
|
</script>
|
data/doc/index.html
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
3
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
4
|
<head>
|
5
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
6
6
|
<title>
|
7
7
|
File: README
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.3
|
9
|
+
— Documentation by YARD 0.8.7.3
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
13
|
-
<link rel="stylesheet" href="css/style.css" type="text/css"
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
|
14
14
|
|
15
|
-
<link rel="stylesheet" href="css/common.css" type="text/css"
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
|
16
16
|
|
17
17
|
<script type="text/javascript" charset="utf-8">
|
18
18
|
hasFrames = window.top.frames.main ? true : false;
|
@@ -62,7 +62,7 @@
|
|
62
62
|
<iframe id="search_frame"></iframe>
|
63
63
|
|
64
64
|
<div id="content"><div id='filecontents'>
|
65
|
-
<h1>Net::SSH::Simple <a href="https://gemnasium.com/busyloop/net-ssh-simple"><img src="https://gemnasium.com/busyloop/net-ssh-simple.png" alt="Dependency Status" /></a></h1>
|
65
|
+
<h1 id="label-Net%3A%3ASSH%3A%3ASimple+%3Cimg+src%3D%22https%3A%2F%2Fgemnasium.com%2Fbusyloop%2Fnet-ssh-simple.png%22+alt%3D%22Dependency+Status%22+%2F%3E">Net::SSH::Simple <a href="https://gemnasium.com/busyloop/net-ssh-simple"><img src="https://gemnasium.com/busyloop/net-ssh-simple.png" alt="Dependency Status" /></a></h1>
|
66
66
|
|
67
67
|
<p>Net::SSH::Simple is a simple wrapper around Net::SSH and Net::SCP.</p>
|
68
68
|
|
@@ -73,7 +73,7 @@ to error-handling, threading, timeouts and keep-alive.</p>
|
|
73
73
|
<p>It also simplifies advanced usage such as talking to many hosts in parallel
|
74
74
|
or performing streaming operations (stdio).</p>
|
75
75
|
|
76
|
-
<h2>Features</h2>
|
76
|
+
<h2 id="label-Features">Features</h2>
|
77
77
|
<ul><li>
|
78
78
|
<p>Friendly, flexible API for SSH and SCP (synchronous and asynchronous)</p>
|
79
79
|
</li><li>
|
@@ -93,72 +93,75 @@ href="http://busyloop.github.com/net-ssh-simple/doc/Net/SSH/Simple/Error">Net::S
|
|
93
93
|
coverage</p>
|
94
94
|
</li></ul>
|
95
95
|
|
96
|
-
<h2>Installation</h2>
|
96
|
+
<h2 id="label-Installation">Installation</h2>
|
97
97
|
|
98
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_gem'>gem</span> <span class='id identifier rubyid_install'>install</span> <span class='id identifier rubyid_net'>net</span><span class='op'>-</span><span class='id identifier rubyid_ssh'>ssh</span><span class='op'>-</span><span class='id identifier rubyid_simple'>simple</span></code></pre>
|
98
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_gem'>gem</span> <span class='id identifier rubyid_install'>install</span> <span class='id identifier rubyid_net'>net</span><span class='op'>-</span><span class='id identifier rubyid_ssh'>ssh</span><span class='op'>-</span><span class='id identifier rubyid_simple'>simple</span></code></pre>
|
99
99
|
|
100
|
-
<h2>Examples</h2>
|
100
|
+
<h2 id="label-Examples">Examples</h2>
|
101
101
|
|
102
102
|
<p>Note: If you are reading this on github then <a
|
103
103
|
href="http://busyloop.github.com/net-ssh-simple/doc/">click here</a> for a
|
104
104
|
more readable version with syntax highlighting.</p>
|
105
105
|
|
106
|
-
<h3>Block Syntax (synchronous)</h3>
|
106
|
+
<h3 id="label-Block+Syntax+%28synchronous%29">Block Syntax (synchronous)</h3>
|
107
107
|
|
108
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'
|
108
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>net/ssh/simple</span><span class='tstring_end'>'</span></span>
|
109
109
|
|
110
110
|
<span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_sync'>sync</span> <span class='kw'>do</span>
|
111
|
-
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
111
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span>
|
112
112
|
<span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_stdout'>stdout</span> <span class='comment'>#=> "Hello World."
|
113
113
|
</span>
|
114
|
-
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'
|
115
|
-
<span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'
|
116
|
-
<span class='kw'>end</span
|
114
|
+
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example2.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
115
|
+
<span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example3.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span>
|
116
|
+
<span class='kw'>end</span>
|
117
|
+
</code></pre>
|
117
118
|
|
118
|
-
<h3>Block Syntax (asynchronous)</h3>
|
119
|
+
<h3 id="label-Block+Syntax+%28asynchronous%29">Block Syntax (asynchronous)</h3>
|
119
120
|
|
120
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'
|
121
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>net/ssh/simple</span><span class='tstring_end'>'</span></span>
|
121
122
|
|
122
123
|
<span class='id identifier rubyid_t1'>t1</span> <span class='op'>=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_async'>async</span> <span class='kw'>do</span>
|
123
|
-
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'
|
124
|
-
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
124
|
+
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
125
|
+
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example3.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World A."</span><span class='tstring_end'>'</span></span>
|
125
126
|
<span class='kw'>end</span>
|
126
127
|
<span class='id identifier rubyid_t2'>t2</span> <span class='op'>=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_async'>async</span> <span class='kw'>do</span>
|
127
|
-
<span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'
|
128
|
-
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
128
|
+
<span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example6.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span>
|
129
|
+
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example7.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World B."</span><span class='tstring_end'>'</span></span>
|
129
130
|
<span class='kw'>end</span>
|
130
131
|
<span class='id identifier rubyid_r1'>r1</span> <span class='op'>=</span> <span class='id identifier rubyid_t1'>t1</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span> <span class='comment'># wait for t1 to finish and grab return value
|
131
132
|
</span><span class='id identifier rubyid_r2'>r2</span> <span class='op'>=</span> <span class='id identifier rubyid_t2'>t2</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span> <span class='comment'># wait for t2 to finish and grab return value
|
132
133
|
</span>
|
133
134
|
<span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r1'>r1</span><span class='period'>.</span><span class='id identifier rubyid_stdout'>stdout</span> <span class='comment'>#=> "Hello World A."
|
134
|
-
</span><span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r2'>r2</span><span class='period'>.</span><span class='id identifier rubyid_stdout'>stdout</span> <span class='comment'>#=> "Hello World B."
|
135
|
+
</span><span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r2'>r2</span><span class='period'>.</span><span class='id identifier rubyid_stdout'>stdout</span> <span class='comment'>#=> "Hello World B."
|
136
|
+
</span></code></pre>
|
135
137
|
|
136
|
-
<h3>Using an instance</h3>
|
138
|
+
<h3 id="label-Using+an+instance">Using an instance</h3>
|
137
139
|
|
138
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'
|
140
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>net/ssh/simple</span><span class='tstring_end'>'</span></span>
|
139
141
|
|
140
142
|
<span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
141
|
-
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
142
|
-
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'
|
143
|
-
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'
|
144
|
-
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span
|
143
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span>
|
144
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example2.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
145
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example3.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span>
|
146
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span>
|
147
|
+
</code></pre>
|
145
148
|
|
146
|
-
<h2>Thread safety</h2>
|
149
|
+
<h2 id="label-Thread+safety">Thread safety</h2>
|
147
150
|
|
148
151
|
<p>Do <em>not</em> share a Net::SSH::Simple instance across threads.</p>
|
149
152
|
|
150
|
-
<p>That
|
151
|
-
Net::SSH::Simple concurrently in different Threads. If you only use
|
152
|
-
block-syntax then you have nothing to worry about.</p>
|
153
|
+
<p>That's the only rule to watch out for. Other than that you're free
|
154
|
+
to use Net::SSH::Simple concurrently in different Threads. If you only use
|
155
|
+
the block-syntax then you have nothing to worry about.</p>
|
153
156
|
|
154
157
|
<p>If you want to use the instance syntax in a threaded environment then the
|
155
158
|
following idiom will provide the best performance:</p>
|
156
159
|
|
157
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'
|
160
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>net/ssh/simple</span><span class='tstring_end'>'</span></span>
|
158
161
|
|
159
162
|
<span class='comment'># Create and re-use one instance per thread, with a default username.
|
160
163
|
</span><span class='kw'>def</span> <span class='id identifier rubyid_ss'>ss</span>
|
161
|
-
<span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span><span class='lbracket'>[</span><span class='symbol'>:simplessh</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='symbol'>:user</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'
|
164
|
+
<span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span><span class='lbracket'>[</span><span class='symbol'>:simplessh</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='symbol'>:user</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>bob</span><span class='tstring_end'>'</span></span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
162
165
|
<span class='kw'>end</span>
|
163
166
|
|
164
167
|
<span class='comment'># Strictly optional. You may use this method to close the
|
@@ -175,16 +178,16 @@ following idiom will provide the best performance:</p>
|
|
175
178
|
</span><span class='kw'>def</span> <span class='id identifier rubyid_do_something_involving_ssh'>do_something_involving_ssh</span>
|
176
179
|
<span class='comment'># The connections to example1-5.com are re-used across
|
177
180
|
</span> <span class='comment'># multiple calls to this method.
|
178
|
-
</span> <span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
179
|
-
<span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'
|
180
|
-
<span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'
|
181
|
+
</span> <span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='lbrace'>{</span><span class='symbol'>:user</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>not_bob</span><span class='tstring_end'>'</span></span><span class='rbrace'>}</span>
|
182
|
+
<span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example2.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
183
|
+
<span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example3.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span>
|
181
184
|
|
182
185
|
<span class='id identifier rubyid_t'>t</span> <span class='op'>=</span> <span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_async'>async</span> <span class='kw'>do</span>
|
183
|
-
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'
|
186
|
+
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example4.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
184
187
|
<span class='kw'>end</span>
|
185
188
|
|
186
189
|
<span class='id identifier rubyid_ss'>ss</span><span class='period'>.</span><span class='id identifier rubyid_sync'>sync</span> <span class='kw'>do</span>
|
187
|
-
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'
|
190
|
+
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example5.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
188
191
|
<span class='kw'>end</span>
|
189
192
|
|
190
193
|
<span class='comment'># wait for our async call to finish
|
@@ -194,43 +197,44 @@ following idiom will provide the best performance:</p>
|
|
194
197
|
</span> <span class='comment'># because we want these connections to close immediately
|
195
198
|
</span> <span class='comment'># after the block finishes. This is useful when you know
|
196
199
|
</span> <span class='comment'># that some hosts will be connected to only once during
|
197
|
-
</span> <span class='comment'># the lifetime of a thread (there
|
200
|
+
</span> <span class='comment'># the lifetime of a thread (there's no point in keeping
|
198
201
|
</span> <span class='comment'># these open).
|
199
202
|
</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_sync'>sync</span> <span class='kw'>do</span>
|
200
203
|
<span class='comment'># opens connections to example8.com, example9.com
|
201
|
-
</span> <span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
202
|
-
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
204
|
+
</span> <span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example8.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span>
|
205
|
+
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example9.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span>
|
203
206
|
|
204
207
|
<span class='comment'># connections are reused
|
205
|
-
</span> <span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
206
|
-
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'
|
208
|
+
</span> <span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example8.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "World Hello."</span><span class='tstring_end'>'</span></span>
|
209
|
+
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example9.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "World Hello."</span><span class='tstring_end'>'</span></span>
|
207
210
|
|
208
211
|
<span class='comment'># both connections close at the end of this block
|
209
212
|
</span> <span class='kw'>end</span>
|
210
|
-
<span class='kw'>end</span
|
213
|
+
<span class='kw'>end</span>
|
214
|
+
</code></pre>
|
211
215
|
|
212
|
-
<h2>Documentation</h2>
|
216
|
+
<h2 id="label-Documentation">Documentation</h2>
|
213
217
|
|
214
218
|
<p>See <a
|
215
219
|
href="http://busyloop.github.com/net-ssh-simple/doc/Net/SSH/Simple.html">Net::SSH::Simple</a>
|
216
220
|
for more examples and full API.</p>
|
217
221
|
|
218
|
-
<h2>Running the test suite</h2>
|
222
|
+
<h2 id="label-Running+the+test+suite">Running the test suite</h2>
|
219
223
|
|
220
224
|
<p>The spec-suite makes SSH-connections to localhost, thus you need to have
|
221
225
|
your own ssh-key authorized in order to run it. Please see the comment at
|
222
|
-
the top of
|
226
|
+
the top of 'spec/net-ssh-simple.rb' on how to set this up.</p>
|
223
227
|
|
224
228
|
<p>When your host is properly configured the following command should pass:</p>
|
225
229
|
|
226
|
-
<pre class="code ruby"><code>$ bundle exec rake</code></pre>
|
230
|
+
<pre class="code ruby"><code class="ruby">$ bundle exec rake</code></pre>
|
227
231
|
|
228
|
-
<h2>License (MIT)</h2>
|
232
|
+
<h2 id="label-License+%28MIT%29">License (MIT)</h2>
|
229
233
|
|
230
234
|
<p>Copyright (C) 2011 by moe@busyloop.net</p>
|
231
235
|
|
232
236
|
<p>Permission is hereby granted, free of charge, to any person obtaining a
|
233
|
-
copy of this software and associated documentation files (the
|
237
|
+
copy of this software and associated documentation files (the “Software”),
|
234
238
|
to deal in the Software without restriction, including without limitation
|
235
239
|
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
236
240
|
and/or sell copies of the Software, and to permit persons to whom the
|
@@ -239,7 +243,7 @@ Software is furnished to do so, subject to the following conditions:</p>
|
|
239
243
|
<p>The above copyright notice and this permission notice shall be included in
|
240
244
|
all copies or substantial portions of the Software.</p>
|
241
245
|
|
242
|
-
<p>THE SOFTWARE IS PROVIDED
|
246
|
+
<p>THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
243
247
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
244
248
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
245
249
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
@@ -249,9 +253,9 @@ DEALINGS IN THE SOFTWARE.</p>
|
|
249
253
|
</div></div>
|
250
254
|
|
251
255
|
<div id="footer">
|
252
|
-
Generated on
|
256
|
+
Generated on Fri Mar 14 19:29:20 2014 by
|
253
257
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
254
|
-
0.8.3 (ruby-1.
|
258
|
+
0.8.7.3 (ruby-2.1.1).
|
255
259
|
</div>
|
256
260
|
|
257
261
|
</body>
|