sonic-screwdriver 1.4.0 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/bin/commit_docs.sh +26 -0
  3. data/.circleci/config.yml +72 -0
  4. data/.gitignore +2 -1
  5. data/CHANGELOG.md +29 -3
  6. data/Gemfile +3 -3
  7. data/Guardfile +17 -10
  8. data/LICENSE.txt +2 -2
  9. data/README.md +25 -28
  10. data/Rakefile +9 -2
  11. data/docs/_config.yml +3 -0
  12. data/docs/_docs/help.md +1 -1
  13. data/docs/_docs/install-bastion.md +5 -15
  14. data/docs/_docs/install.md +3 -13
  15. data/docs/_docs/next-steps.md +1 -1
  16. data/docs/_docs/settings.md +42 -56
  17. data/docs/_docs/tutorial-ecs-exec.md +16 -20
  18. data/docs/_docs/tutorial-ecs-sh.md +73 -0
  19. data/docs/_docs/tutorial-execute.md +106 -38
  20. data/docs/_docs/tutorial-ssh.md +15 -19
  21. data/docs/_docs/why-ec2-run-command.md +1 -1
  22. data/docs/_includes/commands.html +5 -5
  23. data/docs/_includes/content.html +5 -0
  24. data/docs/_includes/css/main.css +15 -9
  25. data/docs/_includes/css/sonic.css +7 -5
  26. data/docs/_includes/example.html +4 -4
  27. data/docs/_includes/footer.html +6 -4
  28. data/docs/_includes/reference.md +1 -0
  29. data/docs/_includes/subnav.html +2 -1
  30. data/docs/_reference/sonic-completion.md +44 -0
  31. data/docs/_reference/sonic-completion_script.md +25 -0
  32. data/docs/_reference/sonic-ecs-exec.md +30 -0
  33. data/docs/_reference/sonic-ecs-help.md +21 -0
  34. data/docs/_reference/sonic-ecs-sh.md +35 -0
  35. data/docs/_reference/sonic-ecs.md +25 -0
  36. data/docs/_reference/sonic-execute.md +85 -0
  37. data/docs/_reference/sonic-list.md +40 -0
  38. data/docs/_reference/sonic-ssh.md +86 -0
  39. data/docs/_reference/sonic-version.md +21 -0
  40. data/docs/bin/web +1 -1
  41. data/docs/img/tutorials/ec2-console-run-command.png +0 -0
  42. data/docs/quick-start.md +17 -22
  43. data/docs/reference.md +12 -0
  44. data/{bin → exe}/sonic +3 -3
  45. data/lib/bash_scripts/docker-exec.sh +1 -0
  46. data/lib/bash_scripts/docker-run.sh +8 -1
  47. data/lib/sonic.rb +11 -3
  48. data/lib/sonic/{aws_services.rb → aws_service.rb} +6 -1
  49. data/lib/sonic/base_command.rb +82 -0
  50. data/lib/sonic/checks.rb +2 -2
  51. data/lib/sonic/cli.rb +41 -29
  52. data/lib/sonic/command.rb +8 -22
  53. data/lib/sonic/completer.rb +161 -0
  54. data/lib/sonic/completer/script.rb +6 -0
  55. data/lib/sonic/completer/script.sh +10 -0
  56. data/lib/sonic/core.rb +15 -0
  57. data/lib/sonic/default/settings.yml +9 -16
  58. data/lib/sonic/docker.rb +30 -2
  59. data/lib/sonic/ecs.rb +22 -0
  60. data/lib/sonic/execute.rb +203 -51
  61. data/lib/sonic/help.rb +9 -0
  62. data/lib/sonic/help/command/send.md +10 -0
  63. data/lib/sonic/help/completion.md +22 -0
  64. data/lib/sonic/help/completion_script.md +3 -0
  65. data/lib/sonic/help/ecs/exec.md +8 -0
  66. data/lib/sonic/help/ecs/sh.md +13 -0
  67. data/lib/sonic/help/execute.md +59 -0
  68. data/lib/sonic/help/list.md +17 -0
  69. data/lib/sonic/help/ssh.md +60 -0
  70. data/lib/sonic/list.rb +5 -2
  71. data/lib/sonic/setting.rb +47 -0
  72. data/lib/sonic/ssh.rb +42 -23
  73. data/lib/sonic/ssh/identifier_detector.rb +7 -3
  74. data/lib/sonic/ui.rb +2 -2
  75. data/lib/sonic/version.rb +1 -1
  76. data/sonic.gemspec +14 -9
  77. data/spec/lib/cli_spec.rb +11 -11
  78. data/spec/lib/sonic/execute_spec.rb +1 -2
  79. data/spec/spec_helper.rb +18 -10
  80. metadata +115 -19
  81. data/Gemfile.lock +0 -134
  82. data/docs/_docs/tutorial-ecs-run.md +0 -100
  83. data/lib/sonic/cli/help.rb +0 -152
  84. data/lib/sonic/settings.rb +0 -115
data/lib/sonic/ui.rb CHANGED
@@ -19,10 +19,10 @@ module Sonic
19
19
  puts msg unless mute
20
20
  end
21
21
  def error(msg='')
22
- say "ERROR: #{msg}".colorize(:red)
22
+ say "ERROR: #{msg}".color(:red)
23
23
  end
24
24
  def warn(msg='')
25
- say "WARN: #{msg}".colorize(:yellow)
25
+ say "WARN: #{msg}".color(:yellow)
26
26
  end
27
27
  end
28
28
  end
data/lib/sonic/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sonic
2
- VERSION = "1.4.0"
2
+ VERSION = "2.2.1"
3
3
  end
data/sonic.gemspec CHANGED
@@ -1,34 +1,39 @@
1
1
  # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
2
+ lib = File.expand_path("../lib", __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'sonic/version'
4
+ require "sonic/version"
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "sonic-screwdriver"
8
8
  spec.version = Sonic::VERSION
9
9
  spec.authors = ["Tung Nguyen"]
10
10
  spec.email = ["tung@boltops.com"]
11
- spec.description = %q{Multi-functional tool to manage AWS infrastructure}
12
- spec.summary = %q{Multi-functional tool to manage AWS infrastructure}
11
+ spec.summary = "Multi-functional tool to manage AWS infrastructure"
13
12
  spec.homepage = "http://sonic-screwdriver.cloud/"
14
13
  spec.license = "MIT"
15
14
 
16
15
  spec.files = `git ls-files`.split($/)
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
16
+ spec.bindir = "exe"
17
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "thor"
22
- spec.add_dependency "hashie"
23
- spec.add_dependency "colorize"
21
+ spec.add_dependency "activesupport"
24
22
  spec.add_dependency "aws-sdk-ec2"
25
23
  spec.add_dependency "aws-sdk-ecs"
24
+ spec.add_dependency "aws-sdk-s3"
26
25
  spec.add_dependency "aws-sdk-ssm"
26
+ spec.add_dependency "hashie"
27
+ spec.add_dependency "memoist"
28
+ spec.add_dependency "rainbow"
29
+ spec.add_dependency "thor"
27
30
  spec.add_dependency "tty-prompt"
28
31
 
29
32
  spec.add_development_dependency "bundler"
30
- spec.add_development_dependency "rake"
33
+ spec.add_development_dependency "byebug"
31
34
  spec.add_development_dependency "guard"
32
35
  spec.add_development_dependency "guard-bundler"
33
36
  spec.add_development_dependency "guard-rspec"
37
+ spec.add_development_dependency "rake"
38
+ spec.add_development_dependency "cli_markdown"
34
39
  end
data/spec/lib/cli_spec.rb CHANGED
@@ -1,28 +1,28 @@
1
- require 'spec_helper'
1
+ require "spec_helper"
2
2
 
3
- # to run specs with what's remembered from vcr
4
- # $ rake
5
- #
6
- # to run specs with new fresh data from aws api calls
7
- # $ rake clean:vcr ; time rake
8
3
  describe Sonic::CLI do
9
4
  before(:all) do
10
- @args = "--project-root spec/fixtures/project --noop"
5
+ @args = "--noop"
11
6
  end
12
7
 
13
8
  describe "sonic" do
14
9
  it "ssh should print out ssh command to be ran" do
15
- out = execute("bin/sonic ssh #{@args} --cluster default my-service")
10
+ out = execute("exe/sonic ssh #{@args} --cluster default my-service")
16
11
  expect(out).to include("=> ssh")
17
12
  end
18
13
 
19
- it "execute should print that command has been sent" do
20
- out = execute("bin/sonic execute #{@args} 1,2,3 uptime")
14
+ it "execute should print that command has been sent --instance-ids" do
15
+ out = execute("exe/sonic execute #{@args} --instance-ids i-1,i-2,i-3 uptime")
16
+ expect(out).to include("Command sent")
17
+ end
18
+
19
+ it "execute should print that command has been sent --tags" do
20
+ out = execute("exe/sonic execute #{@args} --tags Name=value uptime")
21
21
  expect(out).to include("Command sent")
22
22
  end
23
23
 
24
24
  it "list should list running instances" do
25
- out = execute("bin/sonic list #{@args} --header 1,2,3")
25
+ out = execute("exe/sonic list #{@args} --header 1,2,3")
26
26
  expect(out).to include("No instances found")
27
27
  end
28
28
  end
@@ -3,8 +3,7 @@ require 'spec_helper'
3
3
  describe Sonic::Execute do
4
4
  before(:each) do
5
5
  @options = {
6
- project_root: "spec/fixtures/project",
7
- filter: "i-066b140d9479e9681,i-09482b1a6e330fbf7"
6
+ instance_ids: "i-066b140d9479e9681,i-09482b1a6e330fbf7"
8
7
  }
9
8
  end
10
9
 
data/spec/spec_helper.rb CHANGED
@@ -1,24 +1,32 @@
1
- ENV['TEST'] = '1'
1
+ ENV["TEST"] = "1"
2
2
  # Ensures aws api never called. Fixture home folder does not contain ~/.aws/credentails
3
- ENV['HOME'] = "spec/fixtures/home"
3
+ ENV["HOME"] = "spec/fixtures/home"
4
+ ENV["SONIC_ROOT"] = "spec/fixtures/project"
4
5
 
5
- # Ensures aws api never called. Fixture home folder does not contain ~/.aws/credentails
6
- ENV['HOME'] = "spec/fixtures/home"
6
+ # CodeClimate test coverage: https://docs.codeclimate.com/docs/configuring-test-coverage
7
+ # require 'simplecov'
8
+ # SimpleCov.start
7
9
 
8
10
  require "pp"
9
-
10
- root = File.expand_path('../../', __FILE__)
11
+ require "byebug"
12
+ root = File.expand_path("../", File.dirname(__FILE__))
11
13
  require "#{root}/lib/sonic"
12
14
 
13
- module Helpers
15
+ module Helper
14
16
  def execute(cmd)
15
- puts "Running: #{cmd}" if ENV['DEBUG']
17
+ puts "Running: #{cmd}" if show_command?
16
18
  out = `#{cmd}`
17
- puts out if ENV['DEBUG']
19
+ puts out if show_command?
18
20
  out
19
21
  end
22
+
23
+ # Added SHOW_COMMAND because DEBUG is also used by other libraries like
24
+ # bundler and it shows its internal debugging logging also.
25
+ def show_command?
26
+ ENV['DEBUG'] || ENV['SHOW_COMMAND']
27
+ end
20
28
  end
21
29
 
22
30
  RSpec.configure do |c|
23
- c.include Helpers
31
+ c.include Helper
24
32
  end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sonic-screwdriver
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2018-02-12 00:00:00.000000000 Z
11
+ date: 2021-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: thor
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: hashie
28
+ name: aws-sdk-ec2
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: colorize
42
+ name: aws-sdk-ecs
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: aws-sdk-ec2
56
+ name: aws-sdk-s3
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: aws-sdk-ecs
70
+ name: aws-sdk-ssm
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,49 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: aws-sdk-ssm
84
+ name: hashie
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: memoist
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rainbow
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: thor
85
127
  requirement: !ruby/object:Gem::Requirement
86
128
  requirements:
87
129
  - - ">="
@@ -123,7 +165,7 @@ dependencies:
123
165
  - !ruby/object:Gem::Version
124
166
  version: '0'
125
167
  - !ruby/object:Gem::Dependency
126
- name: rake
168
+ name: byebug
127
169
  requirement: !ruby/object:Gem::Requirement
128
170
  requirements:
129
171
  - - ">="
@@ -178,7 +220,35 @@ dependencies:
178
220
  - - ">="
179
221
  - !ruby/object:Gem::Version
180
222
  version: '0'
181
- description: Multi-functional tool to manage AWS infrastructure
223
+ - !ruby/object:Gem::Dependency
224
+ name: rake
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: cli_markdown
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ description:
182
252
  email:
183
253
  - tung@boltops.com
184
254
  executables:
@@ -186,17 +256,17 @@ executables:
186
256
  extensions: []
187
257
  extra_rdoc_files: []
188
258
  files:
259
+ - ".circleci/bin/commit_docs.sh"
260
+ - ".circleci/config.yml"
189
261
  - ".gitignore"
190
262
  - ".rspec"
191
263
  - CHANGELOG.md
192
264
  - CONTRIBUTING.md
193
265
  - Gemfile
194
- - Gemfile.lock
195
266
  - Guardfile
196
267
  - LICENSE.txt
197
268
  - README.md
198
269
  - Rakefile
199
- - bin/sonic
200
270
  - docs/.gitignore
201
271
  - docs/CNAME
202
272
  - docs/Gemfile
@@ -210,7 +280,7 @@ files:
210
280
  - docs/_docs/next-steps.md
211
281
  - docs/_docs/settings.md
212
282
  - docs/_docs/tutorial-ecs-exec.md
213
- - docs/_docs/tutorial-ecs-run.md
283
+ - docs/_docs/tutorial-ecs-sh.md
214
284
  - docs/_docs/tutorial-execute.md
215
285
  - docs/_docs/tutorial-list.md
216
286
  - docs/_docs/tutorial-ssh.md
@@ -241,11 +311,22 @@ files:
241
311
  - docs/_includes/modals.html
242
312
  - docs/_includes/nav.html
243
313
  - docs/_includes/quotes.html
314
+ - docs/_includes/reference.md
244
315
  - docs/_includes/subnav.html
245
316
  - docs/_includes/ufo-ship-options.md
246
317
  - docs/_includes/uses.html
247
318
  - docs/_layouts/default.html
248
319
  - docs/_layouts/style.css
320
+ - docs/_reference/sonic-completion.md
321
+ - docs/_reference/sonic-completion_script.md
322
+ - docs/_reference/sonic-ecs-exec.md
323
+ - docs/_reference/sonic-ecs-help.md
324
+ - docs/_reference/sonic-ecs-sh.md
325
+ - docs/_reference/sonic-ecs.md
326
+ - docs/_reference/sonic-execute.md
327
+ - docs/_reference/sonic-list.md
328
+ - docs/_reference/sonic-ssh.md
329
+ - docs/_reference/sonic-version.md
249
330
  - docs/articles.md
250
331
  - docs/bin/web
251
332
  - docs/css/font-awesome/css/font-awesome.css
@@ -275,20 +356,36 @@ files:
275
356
  - docs/js/jquery.easing.min.js
276
357
  - docs/js/nav.js
277
358
  - docs/quick-start.md
359
+ - docs/reference.md
278
360
  - docs/style.css
361
+ - exe/sonic
279
362
  - lib/bash_scripts/docker-exec.sh
280
363
  - lib/bash_scripts/docker-run.sh
281
364
  - lib/sonic.rb
282
- - lib/sonic/aws_services.rb
365
+ - lib/sonic/aws_service.rb
366
+ - lib/sonic/base_command.rb
283
367
  - lib/sonic/checks.rb
284
368
  - lib/sonic/cli.rb
285
- - lib/sonic/cli/help.rb
286
369
  - lib/sonic/command.rb
370
+ - lib/sonic/completer.rb
371
+ - lib/sonic/completer/script.rb
372
+ - lib/sonic/completer/script.sh
373
+ - lib/sonic/core.rb
287
374
  - lib/sonic/default/settings.yml
288
375
  - lib/sonic/docker.rb
376
+ - lib/sonic/ecs.rb
289
377
  - lib/sonic/execute.rb
378
+ - lib/sonic/help.rb
379
+ - lib/sonic/help/command/send.md
380
+ - lib/sonic/help/completion.md
381
+ - lib/sonic/help/completion_script.md
382
+ - lib/sonic/help/ecs/exec.md
383
+ - lib/sonic/help/ecs/sh.md
384
+ - lib/sonic/help/execute.md
385
+ - lib/sonic/help/list.md
386
+ - lib/sonic/help/ssh.md
290
387
  - lib/sonic/list.rb
291
- - lib/sonic/settings.rb
388
+ - lib/sonic/setting.rb
292
389
  - lib/sonic/ssh.rb
293
390
  - lib/sonic/ssh/cli_options.rb
294
391
  - lib/sonic/ssh/ec2_tag.rb
@@ -322,8 +419,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
322
419
  - !ruby/object:Gem::Version
323
420
  version: '0'
324
421
  requirements: []
325
- rubyforge_project:
326
- rubygems_version: 2.7.3
422
+ rubygems_version: 3.2.5
327
423
  signing_key:
328
424
  specification_version: 4
329
425
  summary: Multi-functional tool to manage AWS infrastructure
data/Gemfile.lock DELETED
@@ -1,134 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- sonic-screwdriver (1.3.2)
5
- aws-sdk-ec2
6
- aws-sdk-ecs
7
- aws-sdk-ssm
8
- colorize
9
- hashie
10
- thor
11
- tty-prompt
12
-
13
- GEM
14
- remote: https://rubygems.org/
15
- specs:
16
- aws-partitions (1.59.0)
17
- aws-sdk-core (3.15.0)
18
- aws-partitions (~> 1.0)
19
- aws-sigv4 (~> 1.0)
20
- jmespath (~> 1.0)
21
- aws-sdk-ec2 (1.26.0)
22
- aws-sdk-core (~> 3)
23
- aws-sigv4 (~> 1.0)
24
- aws-sdk-ecs (1.8.0)
25
- aws-sdk-core (~> 3)
26
- aws-sigv4 (~> 1.0)
27
- aws-sdk-ssm (1.7.0)
28
- aws-sdk-core (~> 3)
29
- aws-sigv4 (~> 1.0)
30
- aws-sigv4 (1.0.2)
31
- codeclimate-test-reporter (1.0.8)
32
- simplecov (<= 0.13)
33
- coderay (1.1.2)
34
- colorize (0.8.1)
35
- diff-lcs (1.3)
36
- docile (1.1.5)
37
- equatable (0.5.0)
38
- ffi (1.9.21)
39
- formatador (0.2.5)
40
- guard (2.14.2)
41
- formatador (>= 0.2.4)
42
- listen (>= 2.7, < 4.0)
43
- lumberjack (>= 1.0.12, < 2.0)
44
- nenv (~> 0.1)
45
- notiffany (~> 0.0)
46
- pry (>= 0.9.12)
47
- shellany (~> 0.0)
48
- thor (>= 0.18.1)
49
- guard-bundler (2.1.0)
50
- bundler (~> 1.0)
51
- guard (~> 2.2)
52
- guard-compat (~> 1.1)
53
- guard-compat (1.2.1)
54
- guard-rspec (4.7.3)
55
- guard (~> 2.1)
56
- guard-compat (~> 1.1)
57
- rspec (>= 2.99.0, < 4.0)
58
- hashie (3.5.7)
59
- hitimes (1.2.6)
60
- jmespath (1.3.1)
61
- json (2.1.0)
62
- listen (3.1.5)
63
- rb-fsevent (~> 0.9, >= 0.9.4)
64
- rb-inotify (~> 0.9, >= 0.9.7)
65
- ruby_dep (~> 1.2)
66
- lumberjack (1.0.12)
67
- method_source (0.9.0)
68
- necromancer (0.4.0)
69
- nenv (0.3.0)
70
- notiffany (0.1.1)
71
- nenv (~> 0.1)
72
- shellany (~> 0.0)
73
- pastel (0.7.2)
74
- equatable (~> 0.5.0)
75
- tty-color (~> 0.4.0)
76
- pry (0.11.3)
77
- coderay (~> 1.1.0)
78
- method_source (~> 0.9.0)
79
- rake (12.3.0)
80
- rb-fsevent (0.10.2)
81
- rb-inotify (0.9.10)
82
- ffi (>= 0.5.0, < 2)
83
- rspec (3.7.0)
84
- rspec-core (~> 3.7.0)
85
- rspec-expectations (~> 3.7.0)
86
- rspec-mocks (~> 3.7.0)
87
- rspec-core (3.7.1)
88
- rspec-support (~> 3.7.0)
89
- rspec-expectations (3.7.0)
90
- diff-lcs (>= 1.2.0, < 2.0)
91
- rspec-support (~> 3.7.0)
92
- rspec-mocks (3.7.0)
93
- diff-lcs (>= 1.2.0, < 2.0)
94
- rspec-support (~> 3.7.0)
95
- rspec-support (3.7.1)
96
- ruby_dep (1.5.0)
97
- shellany (0.0.1)
98
- simplecov (0.13.0)
99
- docile (~> 1.1.0)
100
- json (>= 1.8, < 3)
101
- simplecov-html (~> 0.10.0)
102
- simplecov-html (0.10.2)
103
- thor (0.20.0)
104
- timers (4.1.2)
105
- hitimes
106
- tty-color (0.4.2)
107
- tty-cursor (0.5.0)
108
- tty-prompt (0.15.0)
109
- necromancer (~> 0.4.0)
110
- pastel (~> 0.7.0)
111
- timers (~> 4.0)
112
- tty-cursor (~> 0.5.0)
113
- tty-reader (~> 0.2.0)
114
- tty-reader (0.2.0)
115
- tty-cursor (~> 0.5.0)
116
- tty-screen (~> 0.6.4)
117
- wisper (~> 2.0.0)
118
- tty-screen (0.6.4)
119
- wisper (2.0.0)
120
-
121
- PLATFORMS
122
- ruby
123
-
124
- DEPENDENCIES
125
- bundler
126
- codeclimate-test-reporter
127
- guard
128
- guard-bundler
129
- guard-rspec
130
- rake
131
- sonic-screwdriver!
132
-
133
- BUNDLED WITH
134
- 1.16.1