net-ssh-simple 1.6.4 → 1.6.5
Sign up to get free protection for your applications and to get access to all the features.
- 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>
|