ztk 3.0.3 → 3.0.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a5601e9072a8dc2eacd437f77c0ebbedcb408e42
4
- data.tar.gz: 005d552f42c484ca4cbe260b91bd7b5d7d71323f
3
+ metadata.gz: bdc8f617cd4946e08ae511019c8c824602e10690
4
+ data.tar.gz: d59c97edbd63a148a7453aa5ccfc5ade274928b0
5
5
  SHA512:
6
- metadata.gz: f8fc899e8ad6a804e1d2cd145e3c19e14b7a3cbda0317b70fcf7d43e398461229f54b13aa455e7b78ddbfb8dafa2b3b3104f278dc1d40bf773a6b1c47380a0b8
7
- data.tar.gz: 5a9472f0d227c6e30d1f3c5e1687184c65df3709a3e63867cb88a68be348eb9f6325b21d456ee5cdc38b43dac4a9732d26d8fd221d2beb15c6c0da8dfe882223
6
+ metadata.gz: d2ba6a6764ad01b16e5e7dfd33e704f34b7c33c666299745622035c8eeefc0fc0c71d9bacb18f4587e24de74c5688a6a6a20d8b3fe4dc5e966a54dc8d4be3292
7
+ data.tar.gz: 6f715ee4bb05e8cc3430756556834f6057d0cd9e4d7525a054836c2240d0b2f3f8c355dbb9b6fd41df81d61b3b7ed9515eca9708237ed49017dd0de782327a1c
data/Gemfile CHANGED
@@ -1,13 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem "json" if (RUBY_VERSION == "1.8.7")
4
-
5
- if (RUBY_VERSION < "1.9.3")
6
- gem "activesupport", "< 4.0.0"
7
- end
8
-
9
- if (RUBY_VERSION < "1.9.2")
10
- gem "mime-types", "< 2.0"
11
- end
12
-
13
3
  gemspec
data/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  # ZTK
8
8
 
9
- Zachary's Tool Kit contains a collection of reusable classes meant to simplify development of complex systems in Ruby, especially devops tooling. These classes provide functionality I often find myself needing from project to project. Instead of reinventing the wheel each time, I've started building a collection of reusable classes. Easy-bake DSLs, parallel processing, complex logging, templating and many other useful design patterns, for example are all contained in simple, reusable classes with a common interface and configuration style.
9
+ Zachary's Tool Kit contains a collection of reusable classes meant to simplify development of complex systems in Ruby. These classes provide functionality I often find myself needing from project to project. Instead of reinventing the wheel each time, I've started building a collection of reusable classes. Easy-bake DSLs, parallel processing, complex logging, templating and many other useful design patterns, for example are all contained in simple, reusable classes with a common interface and configuration style.
10
10
 
11
11
  - **ZTK::ANSI**
12
12
 
data/lib/ztk/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module ZTK
2
2
 
3
3
  # ZTK Version String
4
- VERSION = "3.0.3"
4
+ VERSION = "3.0.4"
5
5
 
6
6
  end
@@ -17,8 +17,7 @@
17
17
  # limitations under the License.
18
18
  #
19
19
  ################################################################################
20
- #!/bin/bash
21
- set -x
20
+ #!/bin/bash -eux
22
21
 
23
22
  sudo apt-get -qy update
24
23
 
@@ -0,0 +1,83 @@
1
+ ################################################################################
2
+ #
3
+ # Author: Zachary Patten <zachary AT jovelabs DOT com>
4
+ # Copyright: Copyright (c) Zachary Patten
5
+ # License: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ ################################################################################
20
+
21
+ require "spec_helper"
22
+
23
+ describe "ZTK::ANSI Module" do
24
+
25
+ subject { ZTK::ANSI }
26
+
27
+ describe "module" do
28
+
29
+ it "should be ZTK::ANSI" do
30
+ subject.should be ZTK::ANSI
31
+ end
32
+
33
+ end
34
+
35
+ end
36
+
37
+ describe "ZTK::ANSI Monkey-Patch String Class" do
38
+
39
+ subject {
40
+ class String
41
+ include ZTK::ANSI
42
+ end
43
+ }
44
+
45
+ describe "class" do
46
+
47
+ it "should include ZTK::ANSI" do
48
+ expect(subject.include?(ZTK::ANSI)).to be true
49
+ end
50
+
51
+ end
52
+
53
+ describe "methods" do
54
+
55
+ ZTK::ANSI::ANSI_COLORS.each do |color, code|
56
+
57
+ it "should color the string #{color}" do
58
+ expect(subject.new("#{color}").send(color)).to match(/#{color}/)
59
+ expect(subject.new("#{color}").send(color)).to match(/#{code}/)
60
+ end
61
+
62
+ it "should remove #{color} color from the string" do
63
+ expect(subject.new("#{color}").send(color).uncolor).to match(/#{color}/)
64
+ expect(subject.new("#{color}").send(color).uncolor).not_to match(/#{code}/)
65
+ end
66
+
67
+
68
+ it "should reset the screen and color the string #{color}" do
69
+ expect(subject.new("#{color}").send(color).reset).to match(/#{color}/)
70
+ expect(subject.new("#{color}").send(color).reset).to match(/#{code}/)
71
+ expect(subject.new("#{color}").send(color).reset).to start_with("\e[2J")
72
+ end
73
+
74
+ end
75
+
76
+ x, y = Random.rand(25), Random.rand(25)
77
+ it "should move the cursor to #{x},#{y}" do
78
+ expect(subject.new.goto(x,y)).to start_with("\e[#{x};#{y}H")
79
+ end
80
+
81
+ end
82
+
83
+ end
data/spec/ztk/ssh_spec.rb CHANGED
@@ -35,7 +35,7 @@ describe ZTK::SSH do
35
35
  describe "class" do
36
36
 
37
37
  it "should be an instance of ZTK::SSH" do
38
- subject.should be_an_instance_of ZTK::SSH
38
+ expect(subject).to be_an_instance_of ZTK::SSH
39
39
  end
40
40
 
41
41
  end
@@ -59,6 +59,8 @@ describe ZTK::SSH do
59
59
  status.exit_code.should == 0
60
60
  @ui.stdout.rewind
61
61
  @ui.stdout.read.chomp.should == data
62
+
63
+ expect(subject.close).to be true
62
64
  end
63
65
 
64
66
  it "should timeout after the period specified" do
@@ -71,6 +73,8 @@ describe ZTK::SSH do
71
73
  end
72
74
  hostname = %x(hostname).chomp
73
75
  lambda { subject.exec("hostname ; sleep 10") }.should raise_error ZTK::SSHError
76
+
77
+ expect(subject.close).to be true
74
78
  end
75
79
 
76
80
  it "should throw an exception if the exit status is not as expected" do
@@ -81,6 +85,8 @@ describe ZTK::SSH do
81
85
  config.host_name = "127.0.0.1"
82
86
  end
83
87
  lambda { subject.exec("/bin/bash -c 'exit 64'") }.should raise_error ZTK::SSHError
88
+
89
+ expect(subject.close).to be true
84
90
  end
85
91
 
86
92
  it "should return a instance of an OpenStruct object" do
@@ -92,6 +98,8 @@ describe ZTK::SSH do
92
98
  end
93
99
  result = subject.exec(%q{echo "Hello World"})
94
100
  result.should be_an_instance_of OpenStruct
101
+
102
+ expect(subject.close).to be true
95
103
  end
96
104
 
97
105
  it "should return the exit code" do
@@ -105,6 +113,8 @@ describe ZTK::SSH do
105
113
 
106
114
  result = subject.exec(%Q{/bin/bash -c 'exit #{data}'}, :exit_code => data)
107
115
  result.exit_code.should == data
116
+
117
+ expect(subject.close).to be true
108
118
  end
109
119
 
110
120
  it "should return the output" do
@@ -118,6 +128,8 @@ describe ZTK::SSH do
118
128
 
119
129
  result = subject.exec(%Q{echo "#{data}"})
120
130
  result.output.match(data).should_not be nil
131
+
132
+ expect(subject.close).to be true
121
133
  end
122
134
 
123
135
  it "should allow us to change the expected exit code" do
@@ -129,6 +141,47 @@ describe ZTK::SSH do
129
141
  end
130
142
  data = 32
131
143
  result = subject.exec(%Q{/bin/bash -c 'exit #{data}'}, :exit_code => data)
144
+
145
+ expect(subject.close).to be true
146
+ end
147
+
148
+ it "should allow us to execute a bootstrap script" do
149
+ subject.config do |config|
150
+ config.ui = @ui
151
+
152
+ config.user = ENV["USER"]
153
+ config.host_name = "127.0.0.1"
154
+ end
155
+ data = "Hello World @ #{Time.now.utc}"
156
+
157
+ result = subject.bootstrap(<<-EOBOOTSTRAP)
158
+ echo "#{data}" >&1
159
+ EOBOOTSTRAP
160
+
161
+ expect(result.output).to match(/#{data}/)
162
+
163
+ expect(subject.close).to be true
164
+ end
165
+
166
+ it "should allow us to write a file" do
167
+ subject.config do |config|
168
+ config.ui = @ui
169
+
170
+ config.user = ENV["USER"]
171
+ config.host_name = "127.0.0.1"
172
+ end
173
+ data = "Hello World @ #{Time.now.utc}"
174
+ test_filename = File.join("", "tmp", "test_file.txt")
175
+
176
+ subject.file(:target => test_filename) do |f|
177
+ f.write(data)
178
+ end
179
+
180
+ result = subject.exec(%Q{cat #{test_filename}})
181
+
182
+ expect(result.output).to match(/#{data}/)
183
+
184
+ expect(subject.close).to be true
132
185
  end
133
186
 
134
187
  describe "stdout" do
@@ -142,16 +195,18 @@ describe ZTK::SSH do
142
195
  end
143
196
  data = "Hello World @ #{Time.now.utc}"
144
197
 
145
- subject.exec(%Q{echo "#{data}" -f >&1})
198
+ subject.exec(%Q{echo "#{data}" >&1})
146
199
 
147
200
  @ui.stdout.rewind
148
- @ui.stdout.read.match(data).should_not be nil
201
+ expect(@ui.stdout.read).to match(/#{data}/)
149
202
 
150
203
  @ui.stderr.rewind
151
- @ui.stderr.read.match(data).should be nil
204
+ expect(@ui.stderr.read).to be_empty
152
205
 
153
206
  @ui.stdin.rewind
154
- @ui.stdin.read.match(data).should be nil
207
+ expect(@ui.stdin.read).to be_empty
208
+
209
+ expect(subject.close).to be true
155
210
  end
156
211
 
157
212
  it "should capture STDOUT (without PTY) and send it to the STDOUT pipe" do
@@ -165,16 +220,18 @@ describe ZTK::SSH do
165
220
  end
166
221
  data = "Hello World @ #{Time.now.utc}"
167
222
 
168
- subject.exec(%Q{echo "#{data}" -f >&1})
223
+ subject.exec(%Q{echo "#{data}" >&1})
169
224
 
170
225
  @ui.stdout.rewind
171
- @ui.stdout.read.match(data).should_not be nil
226
+ expect(@ui.stdout.read).to match(/#{data}/)
172
227
 
173
228
  @ui.stderr.rewind
174
- @ui.stderr.read.match(data).should be nil
229
+ expect(@ui.stderr.read).to be_empty
175
230
 
176
231
  @ui.stdin.rewind
177
- @ui.stdin.read.match(data).should be nil
232
+ expect(@ui.stdin.read).to be_empty
233
+
234
+ expect(subject.close).to be true
178
235
  end
179
236
 
180
237
  end
@@ -190,16 +247,18 @@ describe ZTK::SSH do
190
247
  end
191
248
  data = "Hello World @ #{Time.now.utc}"
192
249
 
193
- subject.exec(%Q{echo "#{data}" -f >&2})
250
+ subject.exec(%Q{echo "#{data}" >&2})
194
251
 
195
252
  @ui.stdout.rewind
196
- @ui.stdout.read.match(data).should_not be nil
253
+ expect(@ui.stdout.read).to match(/#{data}/)
197
254
 
198
255
  @ui.stderr.rewind
199
- @ui.stderr.read.match(data).should be nil
256
+ expect(@ui.stderr.read).to be_empty
200
257
 
201
258
  @ui.stdin.rewind
202
- @ui.stdin.read.match(data).should be nil
259
+ expect(@ui.stdin.read).to be_empty
260
+
261
+ expect(subject.close).to be true
203
262
  end
204
263
 
205
264
  it "should capture STDERR (without PTY) and send it to the STDERR pipe" do
@@ -213,16 +272,18 @@ describe ZTK::SSH do
213
272
  end
214
273
  data = "Hello World @ #{Time.now.utc}"
215
274
 
216
- subject.exec(%Q{echo "#{data}" -f >&2})
275
+ subject.exec(%Q{echo "#{data}" >&2})
217
276
 
218
277
  @ui.stdout.rewind
219
- @ui.stdout.read.match(data).should be nil
278
+ expect(@ui.stdout.read).to be_empty
220
279
 
221
280
  @ui.stderr.rewind
222
- @ui.stderr.read.match(data).should_not be nil
281
+ expect(@ui.stderr.read).to match(/#{data}/)
223
282
 
224
283
  @ui.stdin.rewind
225
- @ui.stdin.read.match(data).should be nil
284
+ expect(@ui.stdin.read).to be_empty
285
+
286
+ expect(subject.close).to be true
226
287
  end
227
288
 
228
289
  end
@@ -259,11 +320,13 @@ describe ZTK::SSH do
259
320
  end
260
321
 
261
322
  File.exists?(remote_file).should == false
262
- subject.upload(local_file, remote_file)
323
+ subject.upload(local_file, remote_file, :use_scp => use_scp)
263
324
  File.exists?(remote_file).should == true
264
325
 
265
326
  File.exists?(remote_file) && File.delete(remote_file)
266
327
  File.exists?(local_file) && File.delete(local_file)
328
+
329
+ expect(subject.close).to be true
267
330
  end
268
331
  end
269
332
 
@@ -278,7 +341,6 @@ describe ZTK::SSH do
278
341
 
279
342
  config.user = ENV["USER"]
280
343
  config.host_name = "127.0.0.1"
281
- config.use_scp = use_scp
282
344
  end
283
345
 
284
346
  data = "Hello World @ #{Time.now.utc}"
@@ -300,11 +362,13 @@ describe ZTK::SSH do
300
362
  end
301
363
 
302
364
  File.exists?(local_file).should == false
303
- subject.download(remote_file, local_file)
365
+ subject.download(remote_file, local_file, :use_scp => use_scp)
304
366
  File.exists?(local_file).should == true
305
367
 
306
368
  File.exists?(local_file) && File.delete(local_file)
307
369
  File.exists?(remote_file) && File.delete(remote_file)
370
+
371
+ expect(subject.close).to be true
308
372
  end
309
373
  end
310
374
 
@@ -332,6 +396,8 @@ describe ZTK::SSH do
332
396
  status.exit_code.should == 0
333
397
  @ui.stdout.rewind
334
398
  @ui.stdout.read.chomp.should == data
399
+
400
+ expect(subject.close).to be true
335
401
  end
336
402
 
337
403
  it "should timeout after the period specified" do
@@ -346,6 +412,8 @@ describe ZTK::SSH do
346
412
  end
347
413
  hostname = %x(hostname).chomp
348
414
  lambda { subject.exec("hostname ; sleep 10") }.should raise_error ZTK::SSHError
415
+
416
+ expect(subject.close).to be true
349
417
  end
350
418
 
351
419
  it "should throw an exception if the exit status is not as expected" do
@@ -358,6 +426,8 @@ describe ZTK::SSH do
358
426
  config.proxy_host_name = "127.0.0.1"
359
427
  end
360
428
  lambda { subject.exec("/bin/bash -c 'exit 64'") }.should raise_error ZTK::SSHError
429
+
430
+ expect(subject.close).to be true
361
431
  end
362
432
 
363
433
  it "should return a instance of an OpenStruct object" do
@@ -371,6 +441,8 @@ describe ZTK::SSH do
371
441
  end
372
442
  result = subject.exec(%q{echo "Hello World"})
373
443
  result.should be_an_instance_of OpenStruct
444
+
445
+ expect(subject.close).to be true
374
446
  end
375
447
 
376
448
  it "should return the exit code" do
@@ -386,6 +458,8 @@ describe ZTK::SSH do
386
458
 
387
459
  result = subject.exec(%Q{/bin/bash -c 'exit #{data}'}, :exit_code => data)
388
460
  result.exit_code.should == data
461
+
462
+ expect(subject.close).to be true
389
463
  end
390
464
 
391
465
  it "should return the output" do
@@ -401,6 +475,8 @@ describe ZTK::SSH do
401
475
 
402
476
  result = subject.exec(%Q{echo "#{data}"})
403
477
  result.output.match(data).should_not be nil
478
+
479
+ expect(subject.close).to be true
404
480
  end
405
481
 
406
482
  it "should allow us to change the expected exit code" do
@@ -414,6 +490,47 @@ describe ZTK::SSH do
414
490
  end
415
491
  data = 32
416
492
  result = subject.exec(%Q{/bin/bash -c 'exit #{data}'}, :exit_code => data)
493
+
494
+ expect(subject.close).to be true
495
+ end
496
+
497
+ it "should allow us to execute a bootstrap script" do
498
+ subject.config do |config|
499
+ config.ui = @ui
500
+
501
+ config.user = ENV["USER"]
502
+ config.host_name = "127.0.0.1"
503
+ end
504
+ data = "Hello World @ #{Time.now.utc}"
505
+
506
+ result = subject.bootstrap(<<-EOBOOTSTRAP)
507
+ echo "#{data}" >&1
508
+ EOBOOTSTRAP
509
+
510
+ expect(result.output).to match(/#{data}/)
511
+
512
+ expect(subject.close).to be true
513
+ end
514
+
515
+ it "should allow us to write a file" do
516
+ subject.config do |config|
517
+ config.ui = @ui
518
+
519
+ config.user = ENV["USER"]
520
+ config.host_name = "127.0.0.1"
521
+ end
522
+ data = "Hello World @ #{Time.now.utc}"
523
+ test_filename = File.join("", "tmp", "test_file.txt")
524
+
525
+ subject.file(:target => test_filename) do |f|
526
+ f.write(data)
527
+ end
528
+
529
+ result = subject.exec(%Q{cat #{test_filename}})
530
+
531
+ expect(result.output).to match(/#{data}/)
532
+
533
+ expect(subject.close).to be true
417
534
  end
418
535
 
419
536
  describe "stdout" do
@@ -429,16 +546,18 @@ describe ZTK::SSH do
429
546
  end
430
547
  data = "Hello World @ #{Time.now.utc}"
431
548
 
432
- subject.exec(%Q{echo "#{data}" -f >&1})
549
+ subject.exec(%Q{echo "#{data}" >&1})
433
550
 
434
551
  @ui.stdout.rewind
435
- @ui.stdout.read.match(data).should_not be nil
552
+ expect(@ui.stdout.read).to match(/#{data}/)
436
553
 
437
554
  @ui.stderr.rewind
438
- @ui.stderr.read.match(data).should be nil
555
+ expect(@ui.stderr.read).to be_empty
439
556
 
440
557
  @ui.stdin.rewind
441
- @ui.stdin.read.match(data).should be nil
558
+ expect(@ui.stdin.read).to be_empty
559
+
560
+ expect(subject.close).to be true
442
561
  end
443
562
 
444
563
  it "should capture STDOUT (without PTY) and send it to the STDOUT pipe" do
@@ -454,16 +573,18 @@ describe ZTK::SSH do
454
573
  end
455
574
  data = "Hello World @ #{Time.now.utc}"
456
575
 
457
- subject.exec(%Q{echo "#{data}" -f >&1})
576
+ subject.exec(%Q{echo "#{data}" >&1})
458
577
 
459
578
  @ui.stdout.rewind
460
- @ui.stdout.read.match(data).should_not be nil
579
+ expect(@ui.stdout.read).to match(/#{data}/)
461
580
 
462
581
  @ui.stderr.rewind
463
- @ui.stderr.read.match(data).should be nil
582
+ expect(@ui.stderr.read).to be_empty
464
583
 
465
584
  @ui.stdin.rewind
466
- @ui.stdin.read.match(data).should be nil
585
+ expect(@ui.stdin.read).to be_empty
586
+
587
+ expect(subject.close).to be true
467
588
  end
468
589
 
469
590
  end
@@ -481,16 +602,18 @@ describe ZTK::SSH do
481
602
  end
482
603
  data = "Hello World @ #{Time.now.utc}"
483
604
 
484
- subject.exec(%Q{echo "#{data}" -f >&2})
605
+ subject.exec(%Q{echo "#{data}" >&2})
485
606
 
486
607
  @ui.stdout.rewind
487
- @ui.stdout.read.match(data).should_not be nil
608
+ expect(@ui.stdout.read).to match(/#{data}/)
488
609
 
489
610
  @ui.stderr.rewind
490
- @ui.stderr.read.match(data).should be nil
611
+ expect(@ui.stderr.read).to be_empty
491
612
 
492
613
  @ui.stdin.rewind
493
- @ui.stdin.read.match(data).should be nil
614
+ expect(@ui.stdin.read).to be_empty
615
+
616
+ expect(subject.close).to be true
494
617
  end
495
618
 
496
619
  it "should capture STDERR (without PTY) and send it to the STDERR pipe" do
@@ -506,16 +629,18 @@ describe ZTK::SSH do
506
629
  end
507
630
  data = "Hello World @ #{Time.now.utc}"
508
631
 
509
- subject.exec(%Q{echo "#{data}" -f >&2})
632
+ subject.exec(%Q{echo "#{data}" >&2})
510
633
 
511
634
  @ui.stdout.rewind
512
- @ui.stdout.read.match(data).should be nil
635
+ expect(@ui.stdout.read).to be_empty
513
636
 
514
637
  @ui.stderr.rewind
515
- @ui.stderr.read.match(data).should_not be nil
638
+ expect(@ui.stderr.read).to match(/#{data}/)
516
639
 
517
640
  @ui.stdin.rewind
518
- @ui.stdin.read.match(data).should be nil
641
+ expect(@ui.stdin.read).to be_empty
642
+
643
+ expect(subject.close).to be true
519
644
  end
520
645
 
521
646
  end
@@ -554,11 +679,13 @@ describe ZTK::SSH do
554
679
  end
555
680
 
556
681
  File.exists?(remote_file).should == false
557
- subject.upload(local_file, remote_file)
682
+ subject.upload(local_file, remote_file, :use_scp => use_scp)
558
683
  File.exists?(remote_file).should == true
559
684
 
560
685
  File.exists?(remote_file) && File.delete(remote_file)
561
686
  File.exists?(local_file) && File.delete(local_file)
687
+
688
+ expect(subject.close).to be true
562
689
  end
563
690
  end
564
691
 
@@ -596,11 +723,13 @@ describe ZTK::SSH do
596
723
  end
597
724
 
598
725
  File.exists?(local_file).should == false
599
- subject.download(remote_file, local_file)
726
+ subject.download(remote_file, local_file, :use_scp => use_scp)
600
727
  File.exists?(local_file).should == true
601
728
 
602
729
  File.exists?(local_file) && File.delete(local_file)
603
730
  File.exists?(remote_file) && File.delete(remote_file)
731
+
732
+ expect(subject.close).to be true
604
733
  end
605
734
  end
606
735
 
@@ -98,10 +98,10 @@ describe ZTK::TCPSocketCheck do
98
98
 
99
99
  describe "read check" do
100
100
 
101
- it "should return false on a read check to 127.0.0.1:0" do
101
+ it "should return false on a read check to 127.0.0.1:1" do
102
102
  subject.config do |config|
103
103
  config.host = "127.0.0.1"
104
- config.port = 0
104
+ config.port = 1
105
105
  config.wait = WAIT_SMALL
106
106
  end
107
107
  subject.wait.should == false
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ztk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.3
4
+ version: 3.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zachary Patten
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-18 00:00:00.000000000 Z
11
+ date: 2016-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -346,6 +346,7 @@ files:
346
346
  - spec/support/before_install.sh
347
347
  - spec/support/test-config.rb
348
348
  - spec/support/test-template.txt.erb
349
+ - spec/ztk/ansi_spec.rb
349
350
  - spec/ztk/background_spec.rb
350
351
  - spec/ztk/base_spec.rb
351
352
  - spec/ztk/benchmark_spec.rb
@@ -394,6 +395,7 @@ test_files:
394
395
  - spec/support/before_install.sh
395
396
  - spec/support/test-config.rb
396
397
  - spec/support/test-template.txt.erb
398
+ - spec/ztk/ansi_spec.rb
397
399
  - spec/ztk/background_spec.rb
398
400
  - spec/ztk/base_spec.rb
399
401
  - spec/ztk/benchmark_spec.rb