net-ssh-simple 1.6.18 → 1.7.0
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/coverage/.last_run.json +1 -1
- data/coverage/.resultset.json +54 -46
- data/coverage/index.html +279 -231
- data/doc/Net.html +1 -1
- data/doc/Net/SSH.html +1 -1
- data/doc/Net/SSH/Simple.html +4 -15
- data/doc/Net/SSH/Simple/Error.html +19 -19
- data/doc/Net/SSH/Simple/Result.html +69 -69
- data/doc/_index.html +1 -1
- data/doc/file.README.html +1 -1
- data/doc/index.html +1 -1
- data/doc/method_list.html +10 -10
- data/doc/top-level-namespace.html +1 -1
- data/lib/net/ssh/simple.rb +12 -4
- data/lib/net/ssh/simple/version.rb +1 -1
- data/net-ssh-simple.gemspec +2 -2
- data/spec/net-ssh-simple.rb +1 -1
- metadata +10 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ecfda9347bd244d65cdab50ef132f5d5ee93f184
|
4
|
+
data.tar.gz: 52d4769495b4e53ccce7d5ae04a3906f8580ed46
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 368417cda2fac9e2a5e3ade31e0ce29f2a69c7470d41ab2c9addcd81e3824d23f2aafe65ab2050132121a0a7407adc1e8bd7b47fb8123eda10c8bea9286d3302
|
7
|
+
data.tar.gz: a735cc63883baef7f2f2cc6fba18f01363ae1e292b37e1b6ba64eac32d71ee69e5f38fc7afff0e4f7ee8d5dbe1df68a5370cea563da487b03c8a764601bf6b09
|
data/coverage/.last_run.json
CHANGED
data/coverage/.resultset.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"RSpec": {
|
3
3
|
"coverage": {
|
4
|
-
"/
|
4
|
+
"/Users/moe/code/busyloop/net-ssh-simple/lib/net/ssh/simple.rb": [
|
5
5
|
null,
|
6
6
|
null,
|
7
7
|
null,
|
@@ -490,34 +490,34 @@
|
|
490
490
|
null,
|
491
491
|
null,
|
492
492
|
1,
|
493
|
-
|
494
|
-
|
495
|
-
|
493
|
+
71,
|
494
|
+
71,
|
495
|
+
70,
|
496
496
|
null,
|
497
497
|
null,
|
498
498
|
null,
|
499
499
|
null,
|
500
500
|
null,
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
501
|
+
70,
|
502
|
+
70,
|
503
|
+
70,
|
504
|
+
70,
|
505
|
+
952,
|
506
|
+
952,
|
507
|
+
952,
|
508
508
|
null,
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
509
|
+
70,
|
510
|
+
892,
|
511
|
+
892,
|
512
|
+
892,
|
513
513
|
null,
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
514
|
+
70,
|
515
|
+
65,
|
516
|
+
65,
|
517
|
+
65,
|
518
|
+
65,
|
519
519
|
null,
|
520
|
-
|
520
|
+
70,
|
521
521
|
3,
|
522
522
|
3,
|
523
523
|
3,
|
@@ -527,13 +527,13 @@
|
|
527
527
|
2,
|
528
528
|
null,
|
529
529
|
null,
|
530
|
-
|
530
|
+
70,
|
531
531
|
null,
|
532
532
|
null,
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
533
|
+
70,
|
534
|
+
66,
|
535
|
+
66,
|
536
|
+
66,
|
537
537
|
null,
|
538
538
|
null,
|
539
539
|
null,
|
@@ -605,27 +605,35 @@
|
|
605
605
|
null,
|
606
606
|
1,
|
607
607
|
1,
|
608
|
-
|
609
|
-
|
608
|
+
1,
|
609
|
+
null,
|
610
|
+
1,
|
611
|
+
null,
|
612
|
+
null,
|
613
|
+
1,
|
614
|
+
null,
|
615
|
+
null,
|
616
|
+
null,
|
617
|
+
null,
|
610
618
|
null,
|
611
619
|
null,
|
612
620
|
1,
|
613
621
|
1,
|
614
622
|
null,
|
615
623
|
1,
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
624
|
+
104,
|
625
|
+
104,
|
626
|
+
104,
|
627
|
+
104,
|
628
|
+
104,
|
629
|
+
104,
|
630
|
+
104,
|
631
|
+
599,
|
632
|
+
104,
|
633
|
+
104,
|
626
634
|
null,
|
627
635
|
null,
|
628
|
-
|
636
|
+
103,
|
629
637
|
null,
|
630
638
|
7,
|
631
639
|
7,
|
@@ -638,17 +646,17 @@
|
|
638
646
|
null,
|
639
647
|
null,
|
640
648
|
1,
|
641
|
-
|
642
|
-
|
649
|
+
103,
|
650
|
+
2159,
|
643
651
|
1,
|
644
652
|
null,
|
645
653
|
null,
|
646
654
|
null,
|
647
|
-
|
648
|
-
|
649
|
-
|
655
|
+
2158,
|
656
|
+
107,
|
657
|
+
107,
|
650
658
|
null,
|
651
|
-
|
659
|
+
2158,
|
652
660
|
null,
|
653
661
|
null,
|
654
662
|
null,
|
@@ -748,6 +756,6 @@
|
|
748
756
|
null
|
749
757
|
]
|
750
758
|
},
|
751
|
-
"timestamp":
|
759
|
+
"timestamp": 1491214516
|
752
760
|
}
|
753
761
|
}
|
data/coverage/index.html
CHANGED
@@ -14,27 +14,27 @@
|
|
14
14
|
<img src="./assets/0.10.0/loading.gif" alt="loading"/>
|
15
15
|
</div>
|
16
16
|
<div id="wrapper" style="display:none;">
|
17
|
-
<div class="timestamp">Generated <abbr class="timeago" title="2017-
|
17
|
+
<div class="timestamp">Generated <abbr class="timeago" title="2017-04-03T12:15:16+02:00">2017-04-03T12:15:16+02:00</abbr></div>
|
18
18
|
<ul class="group_tabs"></ul>
|
19
19
|
|
20
20
|
<div id="content">
|
21
21
|
<div class="file_list_container" id="AllFiles">
|
22
22
|
<h2>
|
23
23
|
<span class="group_name">All Files</span>
|
24
|
-
(<span class="covered_percent"><span class="green">
|
24
|
+
(<span class="covered_percent"><span class="green">100.0%</span></span>
|
25
25
|
covered at
|
26
26
|
<span class="covered_strength">
|
27
27
|
<span class="green">
|
28
|
-
|
28
|
+
101.0
|
29
29
|
</span>
|
30
30
|
</span> hits/line)
|
31
31
|
</h2>
|
32
32
|
<a name="AllFiles"></a>
|
33
33
|
<div>
|
34
34
|
<b>1</b> files in total.
|
35
|
-
<b>
|
36
|
-
<span class="green"><b>
|
37
|
-
<span class="red"><b>
|
35
|
+
<b>167</b> relevant lines.
|
36
|
+
<span class="green"><b>167</b> lines covered</span> and
|
37
|
+
<span class="red"><b>0</b> lines missed </span>
|
38
38
|
</div>
|
39
39
|
<table class="file_list">
|
40
40
|
<thead>
|
@@ -51,13 +51,13 @@
|
|
51
51
|
<tbody>
|
52
52
|
|
53
53
|
<tr>
|
54
|
-
<td class="strong"><a href="#
|
55
|
-
<td class="green strong">
|
56
|
-
<td>
|
57
|
-
<td>
|
58
|
-
<td>
|
59
|
-
<td>
|
60
|
-
<td>
|
54
|
+
<td class="strong"><a href="#d0ec2a569d1de04ed3493abc0da5a4a708c29c28" class="src_link" title="lib/net/ssh/simple.rb">lib/net/ssh/simple.rb</a></td>
|
55
|
+
<td class="green strong">100.0 %</td>
|
56
|
+
<td>752</td>
|
57
|
+
<td>167</td>
|
58
|
+
<td>167</td>
|
59
|
+
<td>0</td>
|
60
|
+
<td>101.0</td>
|
61
61
|
</tr>
|
62
62
|
|
63
63
|
</tbody>
|
@@ -69,21 +69,21 @@
|
|
69
69
|
</div>
|
70
70
|
|
71
71
|
<div id="footer">
|
72
|
-
Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.
|
72
|
+
Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.14.1
|
73
73
|
and simplecov-html v0.10.0<br/>
|
74
74
|
using RSpec
|
75
75
|
</div>
|
76
76
|
|
77
77
|
<div class="source_files">
|
78
78
|
|
79
|
-
<div class="source_table" id="
|
79
|
+
<div class="source_table" id="d0ec2a569d1de04ed3493abc0da5a4a708c29c28">
|
80
80
|
<div class="header">
|
81
81
|
<h3>lib/net/ssh/simple.rb</h3>
|
82
|
-
<h4><span class="green">
|
82
|
+
<h4><span class="green">100.0 %</span> covered</h4>
|
83
83
|
<div>
|
84
|
-
<b>
|
85
|
-
<span class="green"><b>
|
86
|
-
<span class="red"><b>
|
84
|
+
<b>167</b> relevant lines.
|
85
|
+
<span class="green"><b>167</b> lines covered</span> and
|
86
|
+
<span class="red"><b>0</b> lines missed.</span>
|
87
87
|
</div>
|
88
88
|
</div>
|
89
89
|
|
@@ -3018,20 +3018,20 @@
|
|
3018
3018
|
<code class="ruby"> def ssh(host, cmd, opts={}, &block)</code>
|
3019
3019
|
</li>
|
3020
3020
|
|
3021
|
-
<li class="covered" data-hits="
|
3022
|
-
<span class="hits">
|
3021
|
+
<li class="covered" data-hits="71" data-linenumber="489">
|
3022
|
+
<span class="hits">71</span>
|
3023
3023
|
|
3024
3024
|
<code class="ruby"> opts = @opts.merge(opts)</code>
|
3025
3025
|
</li>
|
3026
3026
|
|
3027
|
-
<li class="covered" data-hits="
|
3028
|
-
<span class="hits">
|
3027
|
+
<li class="covered" data-hits="71" data-linenumber="490">
|
3028
|
+
<span class="hits">71</span>
|
3029
3029
|
|
3030
3030
|
<code class="ruby"> with_session(host, opts) do |session|</code>
|
3031
3031
|
</li>
|
3032
3032
|
|
3033
|
-
<li class="covered" data-hits="
|
3034
|
-
<span class="hits">
|
3033
|
+
<li class="covered" data-hits="70" data-linenumber="491">
|
3034
|
+
<span class="hits">70</span>
|
3035
3035
|
|
3036
3036
|
<code class="ruby"> @result = Result.new(</code>
|
3037
3037
|
</li>
|
@@ -3066,44 +3066,44 @@
|
|
3066
3066
|
<code class="ruby"></code>
|
3067
3067
|
</li>
|
3068
3068
|
|
3069
|
-
<li class="covered" data-hits="
|
3070
|
-
<span class="hits">
|
3069
|
+
<li class="covered" data-hits="70" data-linenumber="497">
|
3070
|
+
<span class="hits">70</span>
|
3071
3071
|
|
3072
3072
|
<code class="ruby"> channel = session.open_channel do |chan|</code>
|
3073
3073
|
</li>
|
3074
3074
|
|
3075
|
-
<li class="covered" data-hits="
|
3076
|
-
<span class="hits">
|
3075
|
+
<li class="covered" data-hits="70" data-linenumber="498">
|
3076
|
+
<span class="hits">70</span>
|
3077
3077
|
|
3078
3078
|
<code class="ruby"> chan.exec cmd do |ch, success|</code>
|
3079
3079
|
</li>
|
3080
3080
|
|
3081
|
-
<li class="covered" data-hits="
|
3082
|
-
<span class="hits">
|
3081
|
+
<li class="covered" data-hits="70" data-linenumber="499">
|
3082
|
+
<span class="hits">70</span>
|
3083
3083
|
|
3084
3084
|
<code class="ruby"> @result[:success] = success</code>
|
3085
3085
|
</li>
|
3086
3086
|
|
3087
|
-
<li class="covered" data-hits="
|
3088
|
-
<span class="hits">
|
3087
|
+
<li class="covered" data-hits="70" data-linenumber="500">
|
3088
|
+
<span class="hits">70</span>
|
3089
3089
|
|
3090
3090
|
<code class="ruby"> ch.on_data do |c, data|</code>
|
3091
3091
|
</li>
|
3092
3092
|
|
3093
|
-
<li class="covered" data-hits="
|
3094
|
-
<span class="hits">
|
3093
|
+
<li class="covered" data-hits="952" data-linenumber="501">
|
3094
|
+
<span class="hits">952</span>
|
3095
3095
|
|
3096
3096
|
<code class="ruby"> @result[:last_event_at] = Time.new</code>
|
3097
3097
|
</li>
|
3098
3098
|
|
3099
|
-
<li class="covered" data-hits="
|
3100
|
-
<span class="hits">
|
3099
|
+
<li class="covered" data-hits="952" data-linenumber="502">
|
3100
|
+
<span class="hits">952</span>
|
3101
3101
|
|
3102
3102
|
<code class="ruby"> r = block.call(:stdout, ch, data) if block</code>
|
3103
3103
|
</li>
|
3104
3104
|
|
3105
|
-
<li class="covered" data-hits="
|
3106
|
-
<span class="hits">
|
3105
|
+
<li class="covered" data-hits="952" data-linenumber="503">
|
3106
|
+
<span class="hits">952</span>
|
3107
3107
|
|
3108
3108
|
<code class="ruby"> @result[:stdout] += data.to_s unless r == :no_append</code>
|
3109
3109
|
</li>
|
@@ -3114,26 +3114,26 @@
|
|
3114
3114
|
<code class="ruby"> end</code>
|
3115
3115
|
</li>
|
3116
3116
|
|
3117
|
-
<li class="covered" data-hits="
|
3118
|
-
<span class="hits">
|
3117
|
+
<li class="covered" data-hits="70" data-linenumber="505">
|
3118
|
+
<span class="hits">70</span>
|
3119
3119
|
|
3120
3120
|
<code class="ruby"> ch.on_extended_data do |c, type, data|</code>
|
3121
3121
|
</li>
|
3122
3122
|
|
3123
|
-
<li class="covered" data-hits="
|
3124
|
-
<span class="hits">
|
3123
|
+
<li class="covered" data-hits="892" data-linenumber="506">
|
3124
|
+
<span class="hits">892</span>
|
3125
3125
|
|
3126
3126
|
<code class="ruby"> @result[:last_event_at] = Time.new</code>
|
3127
3127
|
</li>
|
3128
3128
|
|
3129
|
-
<li class="covered" data-hits="
|
3130
|
-
<span class="hits">
|
3129
|
+
<li class="covered" data-hits="892" data-linenumber="507">
|
3130
|
+
<span class="hits">892</span>
|
3131
3131
|
|
3132
3132
|
<code class="ruby"> r = block.call(:stderr, ch, data) if block</code>
|
3133
3133
|
</li>
|
3134
3134
|
|
3135
|
-
<li class="covered" data-hits="
|
3136
|
-
<span class="hits">
|
3135
|
+
<li class="covered" data-hits="892" data-linenumber="508">
|
3136
|
+
<span class="hits">892</span>
|
3137
3137
|
|
3138
3138
|
<code class="ruby"> @result[:stderr] += data.to_s unless r == :no_append</code>
|
3139
3139
|
</li>
|
@@ -3144,32 +3144,32 @@
|
|
3144
3144
|
<code class="ruby"> end</code>
|
3145
3145
|
</li>
|
3146
3146
|
|
3147
|
-
<li class="covered" data-hits="
|
3148
|
-
<span class="hits">
|
3147
|
+
<li class="covered" data-hits="70" data-linenumber="510">
|
3148
|
+
<span class="hits">70</span>
|
3149
3149
|
|
3150
3150
|
<code class="ruby"> ch.on_request('exit-status') do |c, data|</code>
|
3151
3151
|
</li>
|
3152
3152
|
|
3153
|
-
<li class="covered" data-hits="
|
3154
|
-
<span class="hits">
|
3153
|
+
<li class="covered" data-hits="65" data-linenumber="511">
|
3154
|
+
<span class="hits">65</span>
|
3155
3155
|
|
3156
3156
|
<code class="ruby"> @result[:last_event_at] = Time.new</code>
|
3157
3157
|
</li>
|
3158
3158
|
|
3159
|
-
<li class="covered" data-hits="
|
3160
|
-
<span class="hits">
|
3159
|
+
<li class="covered" data-hits="65" data-linenumber="512">
|
3160
|
+
<span class="hits">65</span>
|
3161
3161
|
|
3162
3162
|
<code class="ruby"> exit_code = data.read_long</code>
|
3163
3163
|
</li>
|
3164
3164
|
|
3165
|
-
<li class="covered" data-hits="
|
3166
|
-
<span class="hits">
|
3165
|
+
<li class="covered" data-hits="65" data-linenumber="513">
|
3166
|
+
<span class="hits">65</span>
|
3167
3167
|
|
3168
3168
|
<code class="ruby"> block.call(:exit_code, ch, exit_code) if block</code>
|
3169
3169
|
</li>
|
3170
3170
|
|
3171
|
-
<li class="covered" data-hits="
|
3172
|
-
<span class="hits">
|
3171
|
+
<li class="covered" data-hits="65" data-linenumber="514">
|
3172
|
+
<span class="hits">65</span>
|
3173
3173
|
|
3174
3174
|
<code class="ruby"> @result[:exit_code] = exit_code</code>
|
3175
3175
|
</li>
|
@@ -3180,8 +3180,8 @@
|
|
3180
3180
|
<code class="ruby"> end</code>
|
3181
3181
|
</li>
|
3182
3182
|
|
3183
|
-
<li class="covered" data-hits="
|
3184
|
-
<span class="hits">
|
3183
|
+
<li class="covered" data-hits="70" data-linenumber="516">
|
3184
|
+
<span class="hits">70</span>
|
3185
3185
|
|
3186
3186
|
<code class="ruby"> ch.on_request('exit-signal') do |c, data|</code>
|
3187
3187
|
</li>
|
@@ -3240,8 +3240,8 @@
|
|
3240
3240
|
<code class="ruby"> end</code>
|
3241
3241
|
</li>
|
3242
3242
|
|
3243
|
-
<li class="covered" data-hits="
|
3244
|
-
<span class="hits">
|
3243
|
+
<li class="covered" data-hits="70" data-linenumber="526">
|
3244
|
+
<span class="hits">70</span>
|
3245
3245
|
|
3246
3246
|
<code class="ruby"> block.call(:start, ch, nil) if block</code>
|
3247
3247
|
</li>
|
@@ -3258,26 +3258,26 @@
|
|
3258
3258
|
<code class="ruby"> end</code>
|
3259
3259
|
</li>
|
3260
3260
|
|
3261
|
-
<li class="covered" data-hits="
|
3262
|
-
<span class="hits">
|
3261
|
+
<li class="covered" data-hits="70" data-linenumber="529">
|
3262
|
+
<span class="hits">70</span>
|
3263
3263
|
|
3264
3264
|
<code class="ruby"> wait_for_channel session, channel, @result, opts</code>
|
3265
3265
|
</li>
|
3266
3266
|
|
3267
|
-
<li class="covered" data-hits="
|
3268
|
-
<span class="hits">
|
3267
|
+
<li class="covered" data-hits="66" data-linenumber="530">
|
3268
|
+
<span class="hits">66</span>
|
3269
3269
|
|
3270
3270
|
<code class="ruby"> @result[:finish_at] = Time.new</code>
|
3271
3271
|
</li>
|
3272
3272
|
|
3273
|
-
<li class="covered" data-hits="
|
3274
|
-
<span class="hits">
|
3273
|
+
<li class="covered" data-hits="66" data-linenumber="531">
|
3274
|
+
<span class="hits">66</span>
|
3275
3275
|
|
3276
3276
|
<code class="ruby"> block.call(:finish, channel, nil) if block</code>
|
3277
3277
|
</li>
|
3278
3278
|
|
3279
|
-
<li class="covered" data-hits="
|
3280
|
-
<span class="hits">
|
3279
|
+
<li class="covered" data-hits="66" data-linenumber="532">
|
3280
|
+
<span class="hits">66</span>
|
3281
3281
|
|
3282
3282
|
<code class="ruby"> @result</code>
|
3283
3283
|
</li>
|
@@ -3699,856 +3699,904 @@
|
|
3699
3699
|
<li class="covered" data-hits="1" data-linenumber="602">
|
3700
3700
|
<span class="hits">1</span>
|
3701
3701
|
|
3702
|
-
<code class="ruby">
|
3702
|
+
<code class="ruby"> is_64bit_platform = true</code>
|
3703
3703
|
</li>
|
3704
3704
|
|
3705
3705
|
<li class="covered" data-hits="1" data-linenumber="603">
|
3706
3706
|
<span class="hits">1</span>
|
3707
3707
|
|
3708
|
-
<code class="ruby">
|
3708
|
+
<code class="ruby"> begin</code>
|
3709
|
+
</li>
|
3710
|
+
|
3711
|
+
<li class="covered" data-hits="1" data-linenumber="604">
|
3712
|
+
<span class="hits">1</span>
|
3713
|
+
|
3714
|
+
<code class="ruby"> Socket.tcp('127.0.0.1', 1, connect_timeout: 2**32).close</code>
|
3709
3715
|
</li>
|
3710
3716
|
|
3711
|
-
<li class="
|
3717
|
+
<li class="never" data-hits="" data-linenumber="605">
|
3712
3718
|
|
3713
3719
|
|
3714
|
-
<code class="ruby">
|
3720
|
+
<code class="ruby"> rescue Errno::EINVAL</code>
|
3715
3721
|
</li>
|
3716
3722
|
|
3717
|
-
<li class="
|
3723
|
+
<li class="covered" data-hits="1" data-linenumber="606">
|
3724
|
+
<span class="hits">1</span>
|
3725
|
+
|
3726
|
+
<code class="ruby"> is_64bit_platform = false</code>
|
3727
|
+
</li>
|
3728
|
+
|
3729
|
+
<li class="never" data-hits="" data-linenumber="607">
|
3718
3730
|
|
3719
3731
|
|
3720
|
-
<code class="ruby">
|
3732
|
+
<code class="ruby"> rescue</code>
|
3721
3733
|
</li>
|
3722
3734
|
|
3723
|
-
<li class="never" data-hits="" data-linenumber="
|
3735
|
+
<li class="never" data-hits="" data-linenumber="608">
|
3724
3736
|
|
3725
3737
|
|
3726
3738
|
<code class="ruby"> end</code>
|
3727
3739
|
</li>
|
3728
3740
|
|
3729
|
-
<li class="
|
3741
|
+
<li class="covered" data-hits="1" data-linenumber="609">
|
3742
|
+
<span class="hits">1</span>
|
3743
|
+
|
3744
|
+
<code class="ruby"> MAX_TIMEOUT = is_64bit_platform ? 2**32 : 2**16</code>
|
3745
|
+
</li>
|
3746
|
+
|
3747
|
+
<li class="never" data-hits="" data-linenumber="610">
|
3730
3748
|
|
3731
3749
|
|
3732
3750
|
<code class="ruby"></code>
|
3733
3751
|
</li>
|
3734
3752
|
|
3735
|
-
<li class="
|
3753
|
+
<li class="never" data-hits="" data-linenumber="611">
|
3754
|
+
|
3755
|
+
|
3756
|
+
<code class="ruby"> # if MAX_TIMEOUT == 2**16 and $SUPPRESS_32BIT_WARNING.nil?</code>
|
3757
|
+
</li>
|
3758
|
+
|
3759
|
+
<li class="never" data-hits="" data-linenumber="612">
|
3760
|
+
|
3761
|
+
|
3762
|
+
<code class="ruby"> # warn "WARNING: 32bit platform detected; Net::SSH::Simple timeout defaults to 65536s (~18 hours)."</code>
|
3763
|
+
</li>
|
3764
|
+
|
3765
|
+
<li class="never" data-hits="" data-linenumber="613">
|
3766
|
+
|
3767
|
+
|
3768
|
+
<code class="ruby"> # warn "To suppress this warning set $SUPPRESS_32BIT_WARNING=1 before you require 'net/ssh/simple'."</code>
|
3769
|
+
</li>
|
3770
|
+
|
3771
|
+
<li class="never" data-hits="" data-linenumber="614">
|
3772
|
+
|
3773
|
+
|
3774
|
+
<code class="ruby"> # end</code>
|
3775
|
+
</li>
|
3776
|
+
|
3777
|
+
<li class="never" data-hits="" data-linenumber="615">
|
3778
|
+
|
3779
|
+
|
3780
|
+
<code class="ruby"></code>
|
3781
|
+
</li>
|
3782
|
+
|
3783
|
+
<li class="covered" data-hits="1" data-linenumber="616">
|
3736
3784
|
<span class="hits">1</span>
|
3737
3785
|
|
3738
3786
|
<code class="ruby"> private</code>
|
3739
3787
|
</li>
|
3740
3788
|
|
3741
|
-
<li class="covered" data-hits="1" data-linenumber="
|
3789
|
+
<li class="covered" data-hits="1" data-linenumber="617">
|
3742
3790
|
<span class="hits">1</span>
|
3743
3791
|
|
3744
3792
|
<code class="ruby"> EXTRA_OPTS = [:operation_timeout, :close_timeout, :keepalive_interval, :scp_src, :scp_dst]</code>
|
3745
3793
|
</li>
|
3746
3794
|
|
3747
|
-
<li class="never" data-hits="" data-linenumber="
|
3795
|
+
<li class="never" data-hits="" data-linenumber="618">
|
3748
3796
|
|
3749
3797
|
|
3750
3798
|
<code class="ruby"></code>
|
3751
3799
|
</li>
|
3752
3800
|
|
3753
|
-
<li class="covered" data-hits="1" data-linenumber="
|
3801
|
+
<li class="covered" data-hits="1" data-linenumber="619">
|
3754
3802
|
<span class="hits">1</span>
|
3755
3803
|
|
3756
3804
|
<code class="ruby"> def with_session(host, opts={}, &block)</code>
|
3757
3805
|
</li>
|
3758
3806
|
|
3759
|
-
<li class="covered" data-hits="
|
3760
|
-
<span class="hits">
|
3807
|
+
<li class="covered" data-hits="104" data-linenumber="620">
|
3808
|
+
<span class="hits">104</span>
|
3761
3809
|
|
3762
3810
|
<code class="ruby"> opts[:timeout] ||= 60</code>
|
3763
3811
|
</li>
|
3764
3812
|
|
3765
|
-
<li class="covered" data-hits="
|
3766
|
-
<span class="hits">
|
3813
|
+
<li class="covered" data-hits="104" data-linenumber="621">
|
3814
|
+
<span class="hits">104</span>
|
3767
3815
|
|
3768
3816
|
<code class="ruby"> opts[:timeout] = MAX_TIMEOUT if opts[:timeout] == 0</code>
|
3769
3817
|
</li>
|
3770
3818
|
|
3771
|
-
<li class="covered" data-hits="
|
3772
|
-
<span class="hits">
|
3819
|
+
<li class="covered" data-hits="104" data-linenumber="622">
|
3820
|
+
<span class="hits">104</span>
|
3773
3821
|
|
3774
3822
|
<code class="ruby"> opts[:operation_timeout] ||= 3600</code>
|
3775
3823
|
</li>
|
3776
3824
|
|
3777
|
-
<li class="covered" data-hits="
|
3778
|
-
<span class="hits">
|
3825
|
+
<li class="covered" data-hits="104" data-linenumber="623">
|
3826
|
+
<span class="hits">104</span>
|
3779
3827
|
|
3780
3828
|
<code class="ruby"> opts[:operation_timeout] = MAX_TIMEOUT if opts[:operation_timeout] == 0</code>
|
3781
3829
|
</li>
|
3782
3830
|
|
3783
|
-
<li class="covered" data-hits="
|
3784
|
-
<span class="hits">
|
3831
|
+
<li class="covered" data-hits="104" data-linenumber="624">
|
3832
|
+
<span class="hits">104</span>
|
3785
3833
|
|
3786
3834
|
<code class="ruby"> opts[:close_timeout] ||= 5</code>
|
3787
3835
|
</li>
|
3788
3836
|
|
3789
|
-
<li class="covered" data-hits="
|
3790
|
-
<span class="hits">
|
3837
|
+
<li class="covered" data-hits="104" data-linenumber="625">
|
3838
|
+
<span class="hits">104</span>
|
3791
3839
|
|
3792
3840
|
<code class="ruby"> opts[:keepalive_interval] ||= 60</code>
|
3793
3841
|
</li>
|
3794
3842
|
|
3795
|
-
<li class="covered" data-hits="
|
3796
|
-
<span class="hits">
|
3843
|
+
<li class="covered" data-hits="104" data-linenumber="626">
|
3844
|
+
<span class="hits">104</span>
|
3797
3845
|
|
3798
3846
|
<code class="ruby"> begin</code>
|
3799
3847
|
</li>
|
3800
3848
|
|
3801
|
-
<li class="covered" data-hits="
|
3802
|
-
<span class="hits">
|
3849
|
+
<li class="covered" data-hits="599" data-linenumber="627">
|
3850
|
+
<span class="hits">599</span>
|
3803
3851
|
|
3804
3852
|
<code class="ruby"> net_ssh_opts = opts.reject{|k,v| EXTRA_OPTS.include? k }</code>
|
3805
3853
|
</li>
|
3806
3854
|
|
3807
|
-
<li class="covered" data-hits="
|
3808
|
-
<span class="hits">
|
3855
|
+
<li class="covered" data-hits="104" data-linenumber="628">
|
3856
|
+
<span class="hits">104</span>
|
3809
3857
|
|
3810
3858
|
<code class="ruby"> ::Timeout.timeout(opts[:operation_timeout]) do</code>
|
3811
3859
|
</li>
|
3812
3860
|
|
3813
|
-
<li class="covered" data-hits="
|
3814
|
-
<span class="hits">
|
3861
|
+
<li class="covered" data-hits="104" data-linenumber="629">
|
3862
|
+
<span class="hits">104</span>
|
3815
3863
|
|
3816
3864
|
<code class="ruby"> session = Thread.current[:ssh_simple_sessions][host.hash] \</code>
|
3817
3865
|
</li>
|
3818
3866
|
|
3819
|
-
<li class="never" data-hits="" data-linenumber="
|
3867
|
+
<li class="never" data-hits="" data-linenumber="630">
|
3820
3868
|
|
3821
3869
|
|
3822
3870
|
<code class="ruby"> = Thread.current[:ssh_simple_sessions][host.hash] \</code>
|
3823
3871
|
</li>
|
3824
3872
|
|
3825
|
-
<li class="never" data-hits="" data-linenumber="
|
3873
|
+
<li class="never" data-hits="" data-linenumber="631">
|
3826
3874
|
|
3827
3875
|
|
3828
3876
|
<code class="ruby"> || Net::SSH.start(*[host, opts[:user], net_ssh_opts])</code>
|
3829
3877
|
</li>
|
3830
3878
|
|
3831
|
-
<li class="covered" data-hits="
|
3832
|
-
<span class="hits">
|
3879
|
+
<li class="covered" data-hits="103" data-linenumber="632">
|
3880
|
+
<span class="hits">103</span>
|
3833
3881
|
|
3834
3882
|
<code class="ruby"> block.call(session)</code>
|
3835
3883
|
</li>
|
3836
3884
|
|
3837
|
-
<li class="never" data-hits="" data-linenumber="
|
3885
|
+
<li class="never" data-hits="" data-linenumber="633">
|
3838
3886
|
|
3839
3887
|
|
3840
3888
|
<code class="ruby"> end</code>
|
3841
3889
|
</li>
|
3842
3890
|
|
3843
|
-
<li class="covered" data-hits="7" data-linenumber="
|
3891
|
+
<li class="covered" data-hits="7" data-linenumber="634">
|
3844
3892
|
<span class="hits">7</span>
|
3845
3893
|
|
3846
3894
|
<code class="ruby"> rescue => e</code>
|
3847
3895
|
</li>
|
3848
3896
|
|
3849
|
-
<li class="covered" data-hits="7" data-linenumber="
|
3897
|
+
<li class="covered" data-hits="7" data-linenumber="635">
|
3850
3898
|
<span class="hits">7</span>
|
3851
3899
|
|
3852
3900
|
<code class="ruby"> opts[:password].gsub!(/./,'*') if opts.include? :password</code>
|
3853
3901
|
</li>
|
3854
3902
|
|
3855
|
-
<li class="covered" data-hits="7" data-linenumber="
|
3903
|
+
<li class="covered" data-hits="7" data-linenumber="636">
|
3856
3904
|
<span class="hits">7</span>
|
3857
3905
|
|
3858
3906
|
<code class="ruby"> @result[:exception] = e</code>
|
3859
3907
|
</li>
|
3860
3908
|
|
3861
|
-
<li class="covered" data-hits="7" data-linenumber="
|
3909
|
+
<li class="covered" data-hits="7" data-linenumber="637">
|
3862
3910
|
<span class="hits">7</span>
|
3863
3911
|
|
3864
3912
|
<code class="ruby"> @result[:success] = false</code>
|
3865
3913
|
</li>
|
3866
3914
|
|
3867
|
-
<li class="covered" data-hits="7" data-linenumber="
|
3915
|
+
<li class="covered" data-hits="7" data-linenumber="638">
|
3868
3916
|
<span class="hits">7</span>
|
3869
3917
|
|
3870
3918
|
<code class="ruby"> @result[:timed_out] = true if e.is_a? ::Timeout::Error</code>
|
3871
3919
|
</li>
|
3872
3920
|
|
3873
|
-
<li class="covered" data-hits="7" data-linenumber="
|
3921
|
+
<li class="covered" data-hits="7" data-linenumber="639">
|
3874
3922
|
<span class="hits">7</span>
|
3875
3923
|
|
3876
3924
|
<code class="ruby"> @result[:finish_at] = Time.new</code>
|
3877
3925
|
</li>
|
3878
3926
|
|
3879
|
-
<li class="covered" data-hits="7" data-linenumber="
|
3927
|
+
<li class="covered" data-hits="7" data-linenumber="640">
|
3880
3928
|
<span class="hits">7</span>
|
3881
3929
|
|
3882
3930
|
<code class="ruby"> raise Net::SSH::Simple::Error, [e, @result]</code>
|
3883
3931
|
</li>
|
3884
3932
|
|
3885
|
-
<li class="never" data-hits="" data-linenumber="
|
3933
|
+
<li class="never" data-hits="" data-linenumber="641">
|
3886
3934
|
|
3887
3935
|
|
3888
3936
|
<code class="ruby"> end</code>
|
3889
3937
|
</li>
|
3890
3938
|
|
3891
|
-
<li class="never" data-hits="" data-linenumber="
|
3939
|
+
<li class="never" data-hits="" data-linenumber="642">
|
3892
3940
|
|
3893
3941
|
|
3894
3942
|
<code class="ruby"> end</code>
|
3895
3943
|
</li>
|
3896
3944
|
|
3897
|
-
<li class="never" data-hits="" data-linenumber="
|
3945
|
+
<li class="never" data-hits="" data-linenumber="643">
|
3898
3946
|
|
3899
3947
|
|
3900
3948
|
<code class="ruby"></code>
|
3901
3949
|
</li>
|
3902
3950
|
|
3903
|
-
<li class="covered" data-hits="1" data-linenumber="
|
3951
|
+
<li class="covered" data-hits="1" data-linenumber="644">
|
3904
3952
|
<span class="hits">1</span>
|
3905
3953
|
|
3906
3954
|
<code class="ruby"> def wait_for_channel(session, channel, result, opts)</code>
|
3907
3955
|
</li>
|
3908
3956
|
|
3909
|
-
<li class="covered" data-hits="
|
3910
|
-
<span class="hits">
|
3957
|
+
<li class="covered" data-hits="103" data-linenumber="645">
|
3958
|
+
<span class="hits">103</span>
|
3911
3959
|
|
3912
3960
|
<code class="ruby"> session.loop(1) do</code>
|
3913
3961
|
</li>
|
3914
3962
|
|
3915
|
-
<li class="covered" data-hits="
|
3916
|
-
<span class="hits">
|
3963
|
+
<li class="covered" data-hits="2159" data-linenumber="646">
|
3964
|
+
<span class="hits">2159</span>
|
3917
3965
|
|
3918
3966
|
<code class="ruby"> if opts[:timeout] < Time.now - result[:last_event_at]</code>
|
3919
3967
|
</li>
|
3920
3968
|
|
3921
|
-
<li class="covered" data-hits="1" data-linenumber="
|
3969
|
+
<li class="covered" data-hits="1" data-linenumber="647">
|
3922
3970
|
<span class="hits">1</span>
|
3923
3971
|
|
3924
3972
|
<code class="ruby"> raise ::Timeout::Error, 'idle timeout'</code>
|
3925
3973
|
</li>
|
3926
3974
|
|
3927
|
-
<li class="never" data-hits="" data-linenumber="
|
3975
|
+
<li class="never" data-hits="" data-linenumber="648">
|
3928
3976
|
|
3929
3977
|
|
3930
3978
|
<code class="ruby"> end</code>
|
3931
3979
|
</li>
|
3932
3980
|
|
3933
|
-
<li class="never" data-hits="" data-linenumber="
|
3981
|
+
<li class="never" data-hits="" data-linenumber="649">
|
3934
3982
|
|
3935
3983
|
|
3936
3984
|
<code class="ruby"></code>
|
3937
3985
|
</li>
|
3938
3986
|
|
3939
|
-
<li class="never" data-hits="" data-linenumber="
|
3987
|
+
<li class="never" data-hits="" data-linenumber="650">
|
3940
3988
|
|
3941
3989
|
|
3942
3990
|
<code class="ruby"> # Send keep-alive probes at the configured interval.</code>
|
3943
3991
|
</li>
|
3944
3992
|
|
3945
|
-
<li class="covered" data-hits="
|
3946
|
-
<span class="hits">
|
3993
|
+
<li class="covered" data-hits="2158" data-linenumber="651">
|
3994
|
+
<span class="hits">2158</span>
|
3947
3995
|
|
3948
3996
|
<code class="ruby"> if opts[:keepalive_interval] < Time.now.to_i - (@result[:last_keepalive_at]||0).to_i</code>
|
3949
3997
|
</li>
|
3950
3998
|
|
3951
|
-
<li class="covered" data-hits="
|
3952
|
-
<span class="hits">
|
3999
|
+
<li class="covered" data-hits="107" data-linenumber="652">
|
4000
|
+
<span class="hits">107</span>
|
3953
4001
|
|
3954
4002
|
<code class="ruby"> session.send_global_request('keep-alive@openssh.com')</code>
|
3955
4003
|
</li>
|
3956
4004
|
|
3957
|
-
<li class="covered" data-hits="
|
3958
|
-
<span class="hits">
|
4005
|
+
<li class="covered" data-hits="107" data-linenumber="653">
|
4006
|
+
<span class="hits">107</span>
|
3959
4007
|
|
3960
4008
|
<code class="ruby"> @result[:last_keepalive_at] = Time.now</code>
|
3961
4009
|
</li>
|
3962
4010
|
|
3963
|
-
<li class="never" data-hits="" data-linenumber="
|
4011
|
+
<li class="never" data-hits="" data-linenumber="654">
|
3964
4012
|
|
3965
4013
|
|
3966
4014
|
<code class="ruby"> end</code>
|
3967
4015
|
</li>
|
3968
4016
|
|
3969
|
-
<li class="covered" data-hits="
|
3970
|
-
<span class="hits">
|
4017
|
+
<li class="covered" data-hits="2158" data-linenumber="655">
|
4018
|
+
<span class="hits">2158</span>
|
3971
4019
|
|
3972
4020
|
<code class="ruby"> channel.active?</code>
|
3973
4021
|
</li>
|
3974
4022
|
|
3975
|
-
<li class="never" data-hits="" data-linenumber="
|
4023
|
+
<li class="never" data-hits="" data-linenumber="656">
|
3976
4024
|
|
3977
4025
|
|
3978
4026
|
<code class="ruby"> end</code>
|
3979
4027
|
</li>
|
3980
4028
|
|
3981
|
-
<li class="never" data-hits="" data-linenumber="
|
4029
|
+
<li class="never" data-hits="" data-linenumber="657">
|
3982
4030
|
|
3983
4031
|
|
3984
4032
|
<code class="ruby"> end</code>
|
3985
4033
|
</li>
|
3986
4034
|
|
3987
|
-
<li class="never" data-hits="" data-linenumber="
|
4035
|
+
<li class="never" data-hits="" data-linenumber="658">
|
3988
4036
|
|
3989
4037
|
|
3990
4038
|
<code class="ruby"></code>
|
3991
4039
|
</li>
|
3992
4040
|
|
3993
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4041
|
+
<li class="covered" data-hits="1" data-linenumber="659">
|
3994
4042
|
<span class="hits">1</span>
|
3995
4043
|
|
3996
4044
|
<code class="ruby"> def scp(mode, host, src, dst, opts={}, &block)</code>
|
3997
4045
|
</li>
|
3998
4046
|
|
3999
|
-
<li class="covered" data-hits="33" data-linenumber="
|
4047
|
+
<li class="covered" data-hits="33" data-linenumber="660">
|
4000
4048
|
<span class="hits">33</span>
|
4001
4049
|
|
4002
4050
|
<code class="ruby"> opts[:scp_src] = src</code>
|
4003
4051
|
</li>
|
4004
4052
|
|
4005
|
-
<li class="covered" data-hits="33" data-linenumber="
|
4053
|
+
<li class="covered" data-hits="33" data-linenumber="661">
|
4006
4054
|
<span class="hits">33</span>
|
4007
4055
|
|
4008
4056
|
<code class="ruby"> opts[:scp_dst] = dst</code>
|
4009
4057
|
</li>
|
4010
4058
|
|
4011
|
-
<li class="covered" data-hits="33" data-linenumber="
|
4059
|
+
<li class="covered" data-hits="33" data-linenumber="662">
|
4012
4060
|
<span class="hits">33</span>
|
4013
4061
|
|
4014
4062
|
<code class="ruby"> @result = Result.new(</code>
|
4015
4063
|
</li>
|
4016
4064
|
|
4017
|
-
<li class="never" data-hits="" data-linenumber="
|
4065
|
+
<li class="never" data-hits="" data-linenumber="663">
|
4018
4066
|
|
4019
4067
|
|
4020
4068
|
<code class="ruby"> { :op => :scp, :host => host, :opts => opts, :cmd => mode,</code>
|
4021
4069
|
</li>
|
4022
4070
|
|
4023
|
-
<li class="never" data-hits="" data-linenumber="
|
4071
|
+
<li class="never" data-hits="" data-linenumber="664">
|
4024
4072
|
|
4025
4073
|
|
4026
4074
|
<code class="ruby"> :last_event_at => Time.new, :start_at => Time.new, :success => false</code>
|
4027
4075
|
</li>
|
4028
4076
|
|
4029
|
-
<li class="never" data-hits="" data-linenumber="
|
4077
|
+
<li class="never" data-hits="" data-linenumber="665">
|
4030
4078
|
|
4031
4079
|
|
4032
4080
|
<code class="ruby"> } )</code>
|
4033
4081
|
</li>
|
4034
4082
|
|
4035
|
-
<li class="covered" data-hits="33" data-linenumber="
|
4083
|
+
<li class="covered" data-hits="33" data-linenumber="666">
|
4036
4084
|
<span class="hits">33</span>
|
4037
4085
|
|
4038
4086
|
<code class="ruby"> with_session(host, opts) do |session|</code>
|
4039
4087
|
</li>
|
4040
4088
|
|
4041
|
-
<li class="covered" data-hits="33" data-linenumber="
|
4089
|
+
<li class="covered" data-hits="33" data-linenumber="667">
|
4042
4090
|
<span class="hits">33</span>
|
4043
4091
|
|
4044
4092
|
<code class="ruby"> lt = 0</code>
|
4045
4093
|
</li>
|
4046
4094
|
|
4047
|
-
<li class="covered" data-hits="33" data-linenumber="
|
4095
|
+
<li class="covered" data-hits="33" data-linenumber="668">
|
4048
4096
|
<span class="hits">33</span>
|
4049
4097
|
|
4050
4098
|
<code class="ruby"> channel = session.scp.send(mode, src, dst) do |ch, name, sent, total|</code>
|
4051
4099
|
</li>
|
4052
4100
|
|
4053
|
-
<li class="covered" data-hits="64" data-linenumber="
|
4101
|
+
<li class="covered" data-hits="64" data-linenumber="669">
|
4054
4102
|
<span class="hits">64</span>
|
4055
4103
|
|
4056
4104
|
<code class="ruby"> @result[:total] ||= total</code>
|
4057
4105
|
</li>
|
4058
4106
|
|
4059
|
-
<li class="covered" data-hits="64" data-linenumber="
|
4107
|
+
<li class="covered" data-hits="64" data-linenumber="670">
|
4060
4108
|
<span class="hits">64</span>
|
4061
4109
|
|
4062
4110
|
<code class="ruby"> @result[:sent] = sent</code>
|
4063
4111
|
</li>
|
4064
4112
|
|
4065
|
-
<li class="covered" data-hits="64" data-linenumber="
|
4113
|
+
<li class="covered" data-hits="64" data-linenumber="671">
|
4066
4114
|
<span class="hits">64</span>
|
4067
4115
|
|
4068
4116
|
<code class="ruby"> @result[:last_event_at] = Time.new</code>
|
4069
4117
|
</li>
|
4070
4118
|
|
4071
|
-
<li class="covered" data-hits="64" data-linenumber="
|
4119
|
+
<li class="covered" data-hits="64" data-linenumber="672">
|
4072
4120
|
<span class="hits">64</span>
|
4073
4121
|
|
4074
4122
|
<code class="ruby"> block.call(sent, total) unless block.nil?</code>
|
4075
4123
|
</li>
|
4076
4124
|
|
4077
|
-
<li class="never" data-hits="" data-linenumber="
|
4125
|
+
<li class="never" data-hits="" data-linenumber="673">
|
4078
4126
|
|
4079
4127
|
|
4080
4128
|
<code class="ruby"> end</code>
|
4081
4129
|
</li>
|
4082
4130
|
|
4083
|
-
<li class="covered" data-hits="33" data-linenumber="
|
4131
|
+
<li class="covered" data-hits="33" data-linenumber="674">
|
4084
4132
|
<span class="hits">33</span>
|
4085
4133
|
|
4086
4134
|
<code class="ruby"> wait_for_channel session, channel, @result, opts</code>
|
4087
4135
|
</li>
|
4088
4136
|
|
4089
|
-
<li class="covered" data-hits="31" data-linenumber="
|
4137
|
+
<li class="covered" data-hits="31" data-linenumber="675">
|
4090
4138
|
<span class="hits">31</span>
|
4091
4139
|
|
4092
4140
|
<code class="ruby"> @result[:finish_at] = Time.new</code>
|
4093
4141
|
</li>
|
4094
4142
|
|
4095
|
-
<li class="covered" data-hits="31" data-linenumber="
|
4143
|
+
<li class="covered" data-hits="31" data-linenumber="676">
|
4096
4144
|
<span class="hits">31</span>
|
4097
4145
|
|
4098
4146
|
<code class="ruby"> @result[:success] = @result[:sent] == @result[:total]</code>
|
4099
4147
|
</li>
|
4100
4148
|
|
4101
|
-
<li class="covered" data-hits="31" data-linenumber="
|
4149
|
+
<li class="covered" data-hits="31" data-linenumber="677">
|
4102
4150
|
<span class="hits">31</span>
|
4103
4151
|
|
4104
4152
|
<code class="ruby"> @result</code>
|
4105
4153
|
</li>
|
4106
4154
|
|
4107
|
-
<li class="never" data-hits="" data-linenumber="
|
4155
|
+
<li class="never" data-hits="" data-linenumber="678">
|
4108
4156
|
|
4109
4157
|
|
4110
4158
|
<code class="ruby"> end</code>
|
4111
4159
|
</li>
|
4112
4160
|
|
4113
|
-
<li class="never" data-hits="" data-linenumber="
|
4161
|
+
<li class="never" data-hits="" data-linenumber="679">
|
4114
4162
|
|
4115
4163
|
|
4116
4164
|
<code class="ruby"> end</code>
|
4117
4165
|
</li>
|
4118
4166
|
|
4119
|
-
<li class="never" data-hits="" data-linenumber="
|
4167
|
+
<li class="never" data-hits="" data-linenumber="680">
|
4120
4168
|
|
4121
4169
|
|
4122
4170
|
<code class="ruby"> end</code>
|
4123
4171
|
</li>
|
4124
4172
|
|
4125
|
-
<li class="never" data-hits="" data-linenumber="
|
4173
|
+
<li class="never" data-hits="" data-linenumber="681">
|
4126
4174
|
|
4127
4175
|
|
4128
4176
|
<code class="ruby"> end</code>
|
4129
4177
|
</li>
|
4130
4178
|
|
4131
|
-
<li class="never" data-hits="" data-linenumber="
|
4179
|
+
<li class="never" data-hits="" data-linenumber="682">
|
4132
4180
|
|
4133
4181
|
|
4134
4182
|
<code class="ruby">end</code>
|
4135
4183
|
</li>
|
4136
4184
|
|
4137
|
-
<li class="never" data-hits="" data-linenumber="
|
4185
|
+
<li class="never" data-hits="" data-linenumber="683">
|
4138
4186
|
|
4139
4187
|
|
4140
4188
|
<code class="ruby"></code>
|
4141
4189
|
</li>
|
4142
4190
|
|
4143
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4191
|
+
<li class="covered" data-hits="1" data-linenumber="684">
|
4144
4192
|
<span class="hits">1</span>
|
4145
4193
|
|
4146
4194
|
<code class="ruby">module Net</code>
|
4147
4195
|
</li>
|
4148
4196
|
|
4149
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4197
|
+
<li class="covered" data-hits="1" data-linenumber="685">
|
4150
4198
|
<span class="hits">1</span>
|
4151
4199
|
|
4152
4200
|
<code class="ruby"> module SSH</code>
|
4153
4201
|
</li>
|
4154
4202
|
|
4155
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4203
|
+
<li class="covered" data-hits="1" data-linenumber="686">
|
4156
4204
|
<span class="hits">1</span>
|
4157
4205
|
|
4158
4206
|
<code class="ruby"> class Simple</code>
|
4159
4207
|
</li>
|
4160
4208
|
|
4161
|
-
<li class="never" data-hits="" data-linenumber="
|
4209
|
+
<li class="never" data-hits="" data-linenumber="687">
|
4162
4210
|
|
4163
4211
|
|
4164
4212
|
<code class="ruby"> #</code>
|
4165
4213
|
</li>
|
4166
4214
|
|
4167
|
-
<li class="never" data-hits="" data-linenumber="
|
4215
|
+
<li class="never" data-hits="" data-linenumber="688">
|
4168
4216
|
|
4169
4217
|
|
4170
4218
|
<code class="ruby"> # Error that occured during a Net::SSH::Simple operation.</code>
|
4171
4219
|
</li>
|
4172
4220
|
|
4173
|
-
<li class="never" data-hits="" data-linenumber="
|
4221
|
+
<li class="never" data-hits="" data-linenumber="689">
|
4174
4222
|
|
4175
4223
|
|
4176
4224
|
<code class="ruby"> #</code>
|
4177
4225
|
</li>
|
4178
4226
|
|
4179
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4227
|
+
<li class="covered" data-hits="1" data-linenumber="690">
|
4180
4228
|
<span class="hits">1</span>
|
4181
4229
|
|
4182
4230
|
<code class="ruby"> class Error < RuntimeError</code>
|
4183
4231
|
</li>
|
4184
4232
|
|
4185
|
-
<li class="never" data-hits="" data-linenumber="
|
4233
|
+
<li class="never" data-hits="" data-linenumber="691">
|
4186
4234
|
|
4187
4235
|
|
4188
4236
|
<code class="ruby"> # Reference to the underlying Exception</code>
|
4189
4237
|
</li>
|
4190
4238
|
|
4191
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4239
|
+
<li class="covered" data-hits="1" data-linenumber="692">
|
4192
4240
|
<span class="hits">1</span>
|
4193
4241
|
|
4194
4242
|
<code class="ruby"> attr_reader :wrapped</code>
|
4195
4243
|
</li>
|
4196
4244
|
|
4197
|
-
<li class="never" data-hits="" data-linenumber="
|
4245
|
+
<li class="never" data-hits="" data-linenumber="693">
|
4198
4246
|
|
4199
4247
|
|
4200
4248
|
<code class="ruby"></code>
|
4201
4249
|
</li>
|
4202
4250
|
|
4203
|
-
<li class="never" data-hits="" data-linenumber="
|
4251
|
+
<li class="never" data-hits="" data-linenumber="694">
|
4204
4252
|
|
4205
4253
|
|
4206
4254
|
<code class="ruby"> # {Net::SSH::Simple::Result} of the interrupted operation (may be incomplete!).</code>
|
4207
4255
|
</li>
|
4208
4256
|
|
4209
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4257
|
+
<li class="covered" data-hits="1" data-linenumber="695">
|
4210
4258
|
<span class="hits">1</span>
|
4211
4259
|
|
4212
4260
|
<code class="ruby"> attr_reader :result</code>
|
4213
4261
|
</li>
|
4214
4262
|
|
4215
|
-
<li class="never" data-hits="" data-linenumber="
|
4263
|
+
<li class="never" data-hits="" data-linenumber="696">
|
4216
4264
|
|
4217
4265
|
|
4218
4266
|
<code class="ruby"></code>
|
4219
4267
|
</li>
|
4220
4268
|
|
4221
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4269
|
+
<li class="covered" data-hits="1" data-linenumber="697">
|
4222
4270
|
<span class="hits">1</span>
|
4223
4271
|
|
4224
4272
|
<code class="ruby"> def initialize(msg, e=$!)</code>
|
4225
4273
|
</li>
|
4226
4274
|
|
4227
|
-
<li class="covered" data-hits="7" data-linenumber="
|
4275
|
+
<li class="covered" data-hits="7" data-linenumber="698">
|
4228
4276
|
<span class="hits">7</span>
|
4229
4277
|
|
4230
4278
|
<code class="ruby"> super(msg)</code>
|
4231
4279
|
</li>
|
4232
4280
|
|
4233
|
-
<li class="covered" data-hits="7" data-linenumber="
|
4281
|
+
<li class="covered" data-hits="7" data-linenumber="699">
|
4234
4282
|
<span class="hits">7</span>
|
4235
4283
|
|
4236
4284
|
<code class="ruby"> @wrapped = e</code>
|
4237
4285
|
</li>
|
4238
4286
|
|
4239
|
-
<li class="covered" data-hits="7" data-linenumber="
|
4287
|
+
<li class="covered" data-hits="7" data-linenumber="700">
|
4240
4288
|
<span class="hits">7</span>
|
4241
4289
|
|
4242
4290
|
<code class="ruby"> @result = msg[1]</code>
|
4243
4291
|
</li>
|
4244
4292
|
|
4245
|
-
<li class="never" data-hits="" data-linenumber="
|
4293
|
+
<li class="never" data-hits="" data-linenumber="701">
|
4246
4294
|
|
4247
4295
|
|
4248
4296
|
<code class="ruby"> end</code>
|
4249
4297
|
</li>
|
4250
4298
|
|
4251
|
-
<li class="never" data-hits="" data-linenumber="
|
4299
|
+
<li class="never" data-hits="" data-linenumber="702">
|
4252
4300
|
|
4253
4301
|
|
4254
4302
|
<code class="ruby"></code>
|
4255
4303
|
</li>
|
4256
4304
|
|
4257
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4305
|
+
<li class="covered" data-hits="1" data-linenumber="703">
|
4258
4306
|
<span class="hits">1</span>
|
4259
4307
|
|
4260
4308
|
<code class="ruby"> def to_s</code>
|
4261
4309
|
</li>
|
4262
4310
|
|
4263
|
-
<li class="covered" data-hits="7" data-linenumber="
|
4311
|
+
<li class="covered" data-hits="7" data-linenumber="704">
|
4264
4312
|
<span class="hits">7</span>
|
4265
4313
|
|
4266
4314
|
<code class="ruby"> "#{@wrapped} @ #{@result}"</code>
|
4267
4315
|
</li>
|
4268
4316
|
|
4269
|
-
<li class="never" data-hits="" data-linenumber="
|
4317
|
+
<li class="never" data-hits="" data-linenumber="705">
|
4270
4318
|
|
4271
4319
|
|
4272
4320
|
<code class="ruby"> end</code>
|
4273
4321
|
</li>
|
4274
4322
|
|
4275
|
-
<li class="never" data-hits="" data-linenumber="
|
4323
|
+
<li class="never" data-hits="" data-linenumber="706">
|
4276
4324
|
|
4277
4325
|
|
4278
4326
|
<code class="ruby"> end</code>
|
4279
4327
|
</li>
|
4280
4328
|
|
4281
|
-
<li class="never" data-hits="" data-linenumber="
|
4329
|
+
<li class="never" data-hits="" data-linenumber="707">
|
4282
4330
|
|
4283
4331
|
|
4284
4332
|
<code class="ruby"></code>
|
4285
4333
|
</li>
|
4286
4334
|
|
4287
|
-
<li class="never" data-hits="" data-linenumber="
|
4335
|
+
<li class="never" data-hits="" data-linenumber="708">
|
4288
4336
|
|
4289
4337
|
|
4290
4338
|
<code class="ruby"> #</code>
|
4291
4339
|
</li>
|
4292
4340
|
|
4293
|
-
<li class="never" data-hits="" data-linenumber="
|
4341
|
+
<li class="never" data-hits="" data-linenumber="709">
|
4294
4342
|
|
4295
4343
|
|
4296
4344
|
<code class="ruby"> # Result of a Net::SSH::Simple operation.</code>
|
4297
4345
|
</li>
|
4298
4346
|
|
4299
|
-
<li class="never" data-hits="" data-linenumber="
|
4347
|
+
<li class="never" data-hits="" data-linenumber="710">
|
4300
4348
|
|
4301
4349
|
|
4302
4350
|
<code class="ruby"> #</code>
|
4303
4351
|
</li>
|
4304
4352
|
|
4305
|
-
<li class="never" data-hits="" data-linenumber="
|
4353
|
+
<li class="never" data-hits="" data-linenumber="711">
|
4306
4354
|
|
4307
4355
|
|
4308
4356
|
<code class="ruby"> # @attr [String] host Hostname/IP address</code>
|
4309
4357
|
</li>
|
4310
4358
|
|
4311
|
-
<li class="never" data-hits="" data-linenumber="
|
4359
|
+
<li class="never" data-hits="" data-linenumber="712">
|
4312
4360
|
|
4313
4361
|
|
4314
4362
|
<code class="ruby"> # @attr [Symbol] op :ssh or :scp</code>
|
4315
4363
|
</li>
|
4316
4364
|
|
4317
|
-
<li class="never" data-hits="" data-linenumber="
|
4365
|
+
<li class="never" data-hits="" data-linenumber="713">
|
4318
4366
|
|
4319
4367
|
|
4320
4368
|
<code class="ruby"> # @attr [String] cmd Shell command (ssh) or :upload/:download (scp)</code>
|
4321
4369
|
</li>
|
4322
4370
|
|
4323
|
-
<li class="never" data-hits="" data-linenumber="
|
4371
|
+
<li class="never" data-hits="" data-linenumber="714">
|
4324
4372
|
|
4325
4373
|
|
4326
4374
|
<code class="ruby"> # @attr [Time] start_at Timestamp of operation start</code>
|
4327
4375
|
</li>
|
4328
4376
|
|
4329
|
-
<li class="never" data-hits="" data-linenumber="
|
4377
|
+
<li class="never" data-hits="" data-linenumber="715">
|
4330
4378
|
|
4331
4379
|
|
4332
4380
|
<code class="ruby"> # @attr [Time] finish_at Timestamp of operation finish</code>
|
4333
4381
|
</li>
|
4334
4382
|
|
4335
|
-
<li class="never" data-hits="" data-linenumber="
|
4383
|
+
<li class="never" data-hits="" data-linenumber="716">
|
4336
4384
|
|
4337
4385
|
|
4338
4386
|
<code class="ruby"> # @attr [Time] last_keepalive_at Timestamp of last keepalive (if any)</code>
|
4339
4387
|
</li>
|
4340
4388
|
|
4341
|
-
<li class="never" data-hits="" data-linenumber="
|
4389
|
+
<li class="never" data-hits="" data-linenumber="717">
|
4342
4390
|
|
4343
4391
|
|
4344
4392
|
<code class="ruby"> # @attr [Time] last_event_at Timestamp of last activity</code>
|
4345
4393
|
</li>
|
4346
4394
|
|
4347
|
-
<li class="never" data-hits="" data-linenumber="
|
4395
|
+
<li class="never" data-hits="" data-linenumber="718">
|
4348
4396
|
|
4349
4397
|
|
4350
4398
|
<code class="ruby"> # @attr [Boolean] timed_out True if the operation timed out</code>
|
4351
4399
|
</li>
|
4352
4400
|
|
4353
|
-
<li class="never" data-hits="" data-linenumber="
|
4401
|
+
<li class="never" data-hits="" data-linenumber="719">
|
4354
4402
|
|
4355
4403
|
|
4356
4404
|
<code class="ruby"> # @attr [String] stdout Output captured on stdout (SSH only)</code>
|
4357
4405
|
</li>
|
4358
4406
|
|
4359
|
-
<li class="never" data-hits="" data-linenumber="
|
4407
|
+
<li class="never" data-hits="" data-linenumber="720">
|
4360
4408
|
|
4361
4409
|
|
4362
4410
|
<code class="ruby"> # @attr [String] stderr Output captured on stderr (SSH only)</code>
|
4363
4411
|
</li>
|
4364
4412
|
|
4365
|
-
<li class="never" data-hits="" data-linenumber="
|
4413
|
+
<li class="never" data-hits="" data-linenumber="721">
|
4366
4414
|
|
4367
4415
|
|
4368
4416
|
<code class="ruby"> # @attr [boolean] success Indicates whether the transport-connection was successful</code>
|
4369
4417
|
</li>
|
4370
4418
|
|
4371
|
-
<li class="never" data-hits="" data-linenumber="
|
4419
|
+
<li class="never" data-hits="" data-linenumber="722">
|
4372
4420
|
|
4373
4421
|
|
4374
4422
|
<code class="ruby"> # @attr [String] exit_code UNIX exit code (SSH only)</code>
|
4375
4423
|
</li>
|
4376
4424
|
|
4377
|
-
<li class="never" data-hits="" data-linenumber="
|
4425
|
+
<li class="never" data-hits="" data-linenumber="723">
|
4378
4426
|
|
4379
4427
|
|
4380
4428
|
<code class="ruby"> # @attr [Integer] total Size of requested file (in bytes, SCP only)</code>
|
4381
4429
|
</li>
|
4382
4430
|
|
4383
|
-
<li class="never" data-hits="" data-linenumber="
|
4431
|
+
<li class="never" data-hits="" data-linenumber="724">
|
4384
4432
|
|
4385
4433
|
|
4386
4434
|
<code class="ruby"> # @attr [Integer] sent Number of bytes transferred (SCP only)</code>
|
4387
4435
|
</li>
|
4388
4436
|
|
4389
|
-
<li class="never" data-hits="" data-linenumber="
|
4437
|
+
<li class="never" data-hits="" data-linenumber="725">
|
4390
4438
|
|
4391
4439
|
|
4392
4440
|
<code class="ruby"> # @attr [Hash] opts The options that the operation was parametrized with</code>
|
4393
4441
|
</li>
|
4394
4442
|
|
4395
|
-
<li class="never" data-hits="" data-linenumber="
|
4443
|
+
<li class="never" data-hits="" data-linenumber="726">
|
4396
4444
|
|
4397
4445
|
|
4398
4446
|
<code class="ruby"> # @attr [Exception] exception Exception that occurred during this operation (if any)</code>
|
4399
4447
|
</li>
|
4400
4448
|
|
4401
|
-
<li class="never" data-hits="" data-linenumber="
|
4449
|
+
<li class="never" data-hits="" data-linenumber="727">
|
4402
4450
|
|
4403
4451
|
|
4404
4452
|
<code class="ruby"> # @attr [String] exit_signal</code>
|
4405
4453
|
</li>
|
4406
4454
|
|
4407
|
-
<li class="never" data-hits="" data-linenumber="
|
4455
|
+
<li class="never" data-hits="" data-linenumber="728">
|
4408
4456
|
|
4409
4457
|
|
4410
4458
|
<code class="ruby"> # Only present if the remote command terminated due to a signal (SSH only)</code>
|
4411
4459
|
</li>
|
4412
4460
|
|
4413
|
-
<li class="never" data-hits="" data-linenumber="
|
4461
|
+
<li class="never" data-hits="" data-linenumber="729">
|
4414
4462
|
|
4415
4463
|
|
4416
4464
|
<code class="ruby"> #</code>
|
4417
4465
|
</li>
|
4418
4466
|
|
4419
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4467
|
+
<li class="covered" data-hits="1" data-linenumber="730">
|
4420
4468
|
<span class="hits">1</span>
|
4421
4469
|
|
4422
4470
|
<code class="ruby"> class Result < Hashie::Dash</code>
|
4423
4471
|
</li>
|
4424
4472
|
|
4425
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4473
|
+
<li class="covered" data-hits="1" data-linenumber="731">
|
4426
4474
|
<span class="hits">1</span>
|
4427
4475
|
|
4428
4476
|
<code class="ruby"> property :host</code>
|
4429
4477
|
</li>
|
4430
4478
|
|
4431
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4479
|
+
<li class="covered" data-hits="1" data-linenumber="732">
|
4432
4480
|
<span class="hits">1</span>
|
4433
4481
|
|
4434
4482
|
<code class="ruby"> property :op</code>
|
4435
4483
|
</li>
|
4436
4484
|
|
4437
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4485
|
+
<li class="covered" data-hits="1" data-linenumber="733">
|
4438
4486
|
<span class="hits">1</span>
|
4439
4487
|
|
4440
4488
|
<code class="ruby"> property :cmd</code>
|
4441
4489
|
</li>
|
4442
4490
|
|
4443
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4491
|
+
<li class="covered" data-hits="1" data-linenumber="734">
|
4444
4492
|
<span class="hits">1</span>
|
4445
4493
|
|
4446
4494
|
<code class="ruby"> property :start_at</code>
|
4447
4495
|
</li>
|
4448
4496
|
|
4449
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4497
|
+
<li class="covered" data-hits="1" data-linenumber="735">
|
4450
4498
|
<span class="hits">1</span>
|
4451
4499
|
|
4452
4500
|
<code class="ruby"> property :finish_at</code>
|
4453
4501
|
</li>
|
4454
4502
|
|
4455
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4503
|
+
<li class="covered" data-hits="1" data-linenumber="736">
|
4456
4504
|
<span class="hits">1</span>
|
4457
4505
|
|
4458
4506
|
<code class="ruby"> property :last_keepalive_at</code>
|
4459
4507
|
</li>
|
4460
4508
|
|
4461
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4509
|
+
<li class="covered" data-hits="1" data-linenumber="737">
|
4462
4510
|
<span class="hits">1</span>
|
4463
4511
|
|
4464
4512
|
<code class="ruby"> property :last_event_at</code>
|
4465
4513
|
</li>
|
4466
4514
|
|
4467
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4515
|
+
<li class="covered" data-hits="1" data-linenumber="738">
|
4468
4516
|
<span class="hits">1</span>
|
4469
4517
|
|
4470
4518
|
<code class="ruby"> property :timed_out</code>
|
4471
4519
|
</li>
|
4472
4520
|
|
4473
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4521
|
+
<li class="covered" data-hits="1" data-linenumber="739">
|
4474
4522
|
<span class="hits">1</span>
|
4475
4523
|
|
4476
4524
|
<code class="ruby"> property :stdout, :default => ''</code>
|
4477
4525
|
</li>
|
4478
4526
|
|
4479
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4527
|
+
<li class="covered" data-hits="1" data-linenumber="740">
|
4480
4528
|
<span class="hits">1</span>
|
4481
4529
|
|
4482
4530
|
<code class="ruby"> property :stderr, :default => ''</code>
|
4483
4531
|
</li>
|
4484
4532
|
|
4485
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4533
|
+
<li class="covered" data-hits="1" data-linenumber="741">
|
4486
4534
|
<span class="hits">1</span>
|
4487
4535
|
|
4488
4536
|
<code class="ruby"> property :success, :default => false</code>
|
4489
4537
|
</li>
|
4490
4538
|
|
4491
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4539
|
+
<li class="covered" data-hits="1" data-linenumber="742">
|
4492
4540
|
<span class="hits">1</span>
|
4493
4541
|
|
4494
4542
|
<code class="ruby"> property :exit_code</code>
|
4495
4543
|
</li>
|
4496
4544
|
|
4497
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4545
|
+
<li class="covered" data-hits="1" data-linenumber="743">
|
4498
4546
|
<span class="hits">1</span>
|
4499
4547
|
|
4500
4548
|
<code class="ruby"> property :total</code>
|
4501
4549
|
</li>
|
4502
4550
|
|
4503
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4551
|
+
<li class="covered" data-hits="1" data-linenumber="744">
|
4504
4552
|
<span class="hits">1</span>
|
4505
4553
|
|
4506
4554
|
<code class="ruby"> property :sent</code>
|
4507
4555
|
</li>
|
4508
4556
|
|
4509
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4557
|
+
<li class="covered" data-hits="1" data-linenumber="745">
|
4510
4558
|
<span class="hits">1</span>
|
4511
4559
|
|
4512
4560
|
<code class="ruby"> property :opts</code>
|
4513
4561
|
</li>
|
4514
4562
|
|
4515
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4563
|
+
<li class="covered" data-hits="1" data-linenumber="746">
|
4516
4564
|
<span class="hits">1</span>
|
4517
4565
|
|
4518
4566
|
<code class="ruby"> property :exception</code>
|
4519
4567
|
</li>
|
4520
4568
|
|
4521
|
-
<li class="covered" data-hits="1" data-linenumber="
|
4569
|
+
<li class="covered" data-hits="1" data-linenumber="747">
|
4522
4570
|
<span class="hits">1</span>
|
4523
4571
|
|
4524
4572
|
<code class="ruby"> property :exit_signal</code>
|
4525
4573
|
</li>
|
4526
4574
|
|
4527
|
-
<li class="never" data-hits="" data-linenumber="
|
4575
|
+
<li class="never" data-hits="" data-linenumber="748">
|
4528
4576
|
|
4529
4577
|
|
4530
4578
|
<code class="ruby"> end</code>
|
4531
4579
|
</li>
|
4532
4580
|
|
4533
|
-
<li class="never" data-hits="" data-linenumber="
|
4581
|
+
<li class="never" data-hits="" data-linenumber="749">
|
4534
4582
|
|
4535
4583
|
|
4536
4584
|
<code class="ruby"> end</code>
|
4537
4585
|
</li>
|
4538
4586
|
|
4539
|
-
<li class="never" data-hits="" data-linenumber="
|
4587
|
+
<li class="never" data-hits="" data-linenumber="750">
|
4540
4588
|
|
4541
4589
|
|
4542
4590
|
<code class="ruby"> end</code>
|
4543
4591
|
</li>
|
4544
4592
|
|
4545
|
-
<li class="never" data-hits="" data-linenumber="
|
4593
|
+
<li class="never" data-hits="" data-linenumber="751">
|
4546
4594
|
|
4547
4595
|
|
4548
4596
|
<code class="ruby">end</code>
|
4549
4597
|
</li>
|
4550
4598
|
|
4551
|
-
<li class="never" data-hits="" data-linenumber="
|
4599
|
+
<li class="never" data-hits="" data-linenumber="752">
|
4552
4600
|
|
4553
4601
|
|
4554
4602
|
<code class="ruby"></code>
|