hobo-inviqa 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +15 -0
  2. data/.editorconfig +10 -0
  3. data/Gemfile.lock +19 -4
  4. data/Guardfile +2 -2
  5. data/Hobofile +5 -1
  6. data/README.md +8 -32
  7. data/bin/hobo +12 -18
  8. data/hobo.gemspec +3 -0
  9. data/lib/hobo.rb +8 -1
  10. data/lib/hobo/cli.rb +14 -3
  11. data/lib/hobo/error_handlers/debug.rb +5 -2
  12. data/lib/hobo/error_handlers/exit_code_map.rb +16 -0
  13. data/lib/hobo/error_handlers/friendly.rb +8 -8
  14. data/lib/hobo/errors.rb +11 -1
  15. data/lib/hobo/helper/http_download.rb +41 -0
  16. data/lib/hobo/helper/shell.rb +3 -2
  17. data/lib/hobo/helper/vm_command.rb +235 -14
  18. data/lib/hobo/lib/host_check.rb +20 -6
  19. data/lib/hobo/lib/host_check/deps.rb +22 -4
  20. data/lib/hobo/lib/host_check/git.rb +41 -17
  21. data/lib/hobo/lib/host_check/ruby.rb +30 -20
  22. data/lib/hobo/lib/host_check/vagrant.rb +37 -6
  23. data/lib/hobo/lib/s3sync.rb +22 -44
  24. data/lib/hobo/lib/seed/project.rb +10 -6
  25. data/lib/hobo/patches/slop.rb +21 -2
  26. data/lib/hobo/tasks/assets.rb +12 -15
  27. data/lib/hobo/tasks/config.rb +15 -0
  28. data/lib/hobo/tasks/deps.rb +37 -6
  29. data/lib/hobo/tasks/system.rb +15 -0
  30. data/lib/hobo/tasks/system/completions.rb +76 -0
  31. data/lib/hobo/tasks/tools.rb +10 -6
  32. data/lib/hobo/tasks/vm.rb +64 -11
  33. data/lib/hobo/ui.rb +27 -10
  34. data/lib/hobo/util.rb +36 -2
  35. data/lib/hobo/version.rb +2 -2
  36. data/spec/hobo/asset_applicator_spec.rb +2 -2
  37. data/spec/hobo/cli_spec.rb +40 -24
  38. data/spec/hobo/config/file_spec.rb +1 -3
  39. data/spec/hobo/error_handlers/debug_spec.rb +39 -5
  40. data/spec/hobo/error_handlers/friendly_spec.rb +38 -21
  41. data/spec/hobo/help_formatter_spec.rb +3 -3
  42. data/spec/hobo/helpers/file_locator_spec.rb +2 -2
  43. data/spec/hobo/helpers/shell_spec.rb +2 -2
  44. data/spec/hobo/helpers/vm_command_spec.rb +54 -21
  45. data/spec/hobo/lib/s3sync_spec.rb +6 -3
  46. data/spec/hobo/lib/seed/project_spec.rb +2 -3
  47. data/spec/hobo/lib/seed/replacer_spec.rb +1 -2
  48. data/spec/hobo/lib/seed/seed_spec.rb +2 -3
  49. data/spec/hobo/logging_spec.rb +2 -2
  50. data/spec/hobo/metadata_spec.rb +2 -2
  51. data/spec/hobo/null_spec.rb +2 -2
  52. data/spec/hobo/paths_spec.rb +1 -2
  53. data/spec/hobo/ui_spec.rb +104 -20
  54. data/spec/hobo/util_spec.rb +75 -0
  55. data/spec/spec_helper.rb +1 -0
  56. metadata +55 -46
  57. data/lib/hobo/tasks/host.rb +0 -19
@@ -1,7 +1,10 @@
1
- require 'hobo/logging'
2
- require 'hobo/lib/s3sync'
1
+ require 'spec_helper'
3
2
 
4
3
  describe Hobo::Lib::S3Sync do
4
+ before do
5
+ AWS.stub!
6
+ end
7
+
5
8
  describe "sync" do
6
9
  it "should synchronize s3 files to local"
7
10
  it "should synchronize local files to s3"
@@ -10,4 +13,4 @@ describe Hobo::Lib::S3Sync do
10
13
  it "should remove files that do not exist in source"
11
14
  it "should update progress as files are transferred"
12
15
  end
13
- end
16
+ end
@@ -1,5 +1,4 @@
1
1
  require 'spec_helper'
2
- require 'hobo'
3
2
 
4
3
  describe Hobo::Lib::Seed::Project do
5
4
  pwd = nil
@@ -12,7 +11,7 @@ describe Hobo::Lib::Seed::Project do
12
11
  Dir.chdir tmp_dir
13
12
  FileUtils.mkdir_p "project_path"
14
13
  FileUtils.touch "project_path/test"
15
- Hobo.ui = Hobo::Ui.new
14
+ Hobo.ui = double(Hobo::Ui).as_null_object
16
15
  default_config = {
17
16
  :config_class => double(Hobo::Config::File).as_null_object,
18
17
  :replacer => double(Hobo::Lib::Seed::Replacer.new).as_null_object
@@ -79,4 +78,4 @@ describe Hobo::Lib::Seed::Project do
79
78
  it "should set hostname in config"
80
79
  it "should set asset bucket in config"
81
80
  end
82
- end
81
+ end
@@ -1,5 +1,4 @@
1
- require "spec_helper"
2
- require "hobo/lib/seed/replacer"
1
+ require 'spec_helper'
3
2
 
4
3
  describe Hobo::Lib::Seed::Replacer do
5
4
  before do
@@ -1,5 +1,4 @@
1
1
  require 'spec_helper'
2
- require 'hobo'
3
2
 
4
3
  describe Hobo::Lib::Seed::Seed do
5
4
  pwd = nil
@@ -9,7 +8,7 @@ describe Hobo::Lib::Seed::Seed do
9
8
  tmp_dir = Dir.mktmpdir
10
9
  pwd = Dir.pwd
11
10
  Dir.chdir tmp_dir
12
- Hobo.ui = Hobo::Ui.new
11
+ Hobo.ui = double(Hobo::Ui).as_null_object
13
12
  end
14
13
 
15
14
  after do
@@ -91,4 +90,4 @@ describe Hobo::Lib::Seed::Seed do
91
90
  seed.version.should eq `cd seeds/seed_4 && git rev-parse --short HEAD`.strip
92
91
  end
93
92
  end
94
- end
93
+ end
@@ -1,4 +1,4 @@
1
- require 'hobo/logging'
1
+ require 'spec_helper'
2
2
 
3
3
  describe Hobo::Logging do
4
4
  before do
@@ -25,4 +25,4 @@ describe Hobo::Logging do
25
25
  Hobo::Logging.logger.level.should eq Logger::WARN
26
26
  end
27
27
  end
28
- end
28
+ end
@@ -1,4 +1,4 @@
1
- require 'hobo/metadata'
1
+ require 'spec_helper'
2
2
 
3
3
  describe Hobo::Metadata do
4
4
  before do
@@ -53,4 +53,4 @@ describe Hobo::Metadata do
53
53
  Hobo::Metadata.store.should eq({ :type => "default" })
54
54
  end
55
55
  end
56
- end
56
+ end
@@ -1,4 +1,4 @@
1
- require 'hobo/null'
1
+ require 'spec_helper'
2
2
 
3
3
  describe Hobo::Null do
4
4
  it "should return itself for any method call" do
@@ -28,4 +28,4 @@ describe Hobo::Null do
28
28
  maybe(1).should eq 1
29
29
  end
30
30
  end
31
- end
31
+ end
@@ -1,5 +1,4 @@
1
1
  require 'spec_helper'
2
- require 'hobo/paths'
3
2
 
4
3
  describe Hobo do
5
4
  describe 'project_path' do
@@ -74,4 +73,4 @@ describe Hobo do
74
73
  Hobo.user_config_file.should eq File.join(Hobo.config_path, 'config.yaml')
75
74
  end
76
75
  end
77
- end
76
+ end
data/spec/hobo/ui_spec.rb CHANGED
@@ -1,9 +1,27 @@
1
- require 'highline'
2
- require 'hobo/ui'
1
+ require 'spec_helper'
3
2
 
4
3
  describe Hobo::Ui do
4
+ def test_ui opts = {}
5
+ opts = {
6
+ :answer => "",
7
+ :output => StringIO.new,
8
+ :error => StringIO.new,
9
+ :eof => false
10
+ }.merge(opts)
11
+
12
+ input = StringIO.new
13
+ input << opts[:answer]
14
+ input.rewind unless opts[:eof]
15
+ Hobo.ui = ui = Hobo::Ui.new(input, opts[:output], opts[:error])
16
+ ui.interactive = true
17
+ return ui
18
+ end
19
+
5
20
  before do
6
21
  HighLine.use_color = false
22
+ Hobo.logger = Logger.new(nil)
23
+ Hobo.logger.level = Logger::WARN
24
+ double(Hobo.logger)
7
25
  end
8
26
 
9
27
  describe "initialization" do
@@ -11,19 +29,55 @@ describe Hobo::Ui do
11
29
  end
12
30
 
13
31
  describe "ask" do
14
- it "should return default if in non-interactive mode"
15
- it "should raise error if no default provided in non-interactive mode"
16
- it "should format prompt to include default if provided"
17
- it "should use default answer if given answer is empty"
18
- it "should handle stdin EOF (Ctrl+d)"
32
+ it "should return default if in non-interactive mode" do
33
+ ui = test_ui()
34
+ ui.interactive = false
35
+ ui.ask("Question", :default => "default").should match "default"
36
+ end
37
+
38
+ it "should raise error if no default provided in non-interactive mode" do
39
+ ui = test_ui(:answer => "Answer\n")
40
+ ui.interactive = false
41
+ expect { ui.ask("Question") }.to raise_exception(Hobo::NonInteractiveError)
42
+ end
43
+
44
+ it "should format prompt to include default if provided" do
45
+ output = StringIO.new
46
+ output.should_receive(:write).with(/Question \[default\]:/)
47
+ test_ui(:output => output).ask("Question", :default => "default")
48
+ end
49
+
50
+ it "should use default answer if given answer is empty" do
51
+ test_ui(:answer => "\n").ask("Question", :default => "default").should match "default"
52
+ end
53
+
54
+ it "should handle stdin EOF (Ctrl+d)" do
55
+ test_ui(:eof => true).ask("Question").should be_empty
56
+ end
57
+
58
+ it "should always return an instance of String" do
59
+ test_ui(:answer => "Answer\n").ask("Question").should be_an_instance_of String
60
+ test_ui(:answer => "\n").ask("Question", :default => "").should be_an_instance_of String
61
+ test_ui(:answer => "\x04").ask("Question").should be_an_instance_of String
62
+ end
19
63
  end
20
64
 
21
65
  describe "color" do
22
- it "should format message with ansi style"
66
+ it "should format message with ansi style" do
67
+ ui = test_ui
68
+ ui.use_color true
69
+ ui.color("test", :red).should match /\e\[31mtest\e\[0m/
70
+ end
23
71
  end
24
72
 
25
73
  describe "use_color" do
26
- it "should set the use of color"
74
+ it "should set the use of color" do
75
+ ui = test_ui
76
+ ui.use_color true
77
+ ui.color("test", :red).should match /\e\[31mtest\e\[0m/
78
+ ui.use_color false
79
+ ui.color("test", :red).should match /^test$/
80
+ end
27
81
  end
28
82
 
29
83
  describe "color_scheme" do
@@ -33,36 +87,66 @@ describe Hobo::Ui do
33
87
 
34
88
  describe "debug" do
35
89
  it "should send message to stdout" do
36
- $stdout.should receive(:puts).with("test")
37
- Hobo::Ui.new.debug("test")
90
+ output = StringIO.new
91
+ output.should receive(:puts).with("test")
92
+ test_ui(:output => output).debug("test")
93
+ end
94
+
95
+ it "should log to logger" do
96
+ Hobo.logger.should_receive(:debug).with("test")
97
+ test_ui.debug("test")
38
98
  end
39
99
  end
40
100
 
41
101
  describe "info" do
42
102
  it "should send message to stdout" do
43
- $stdout.should receive(:puts).with("test")
44
- Hobo::Ui.new.info("test")
103
+ output = StringIO.new
104
+ output.should receive(:puts).with("test")
105
+ test_ui(:output => output).info("test")
106
+ end
107
+
108
+ it "should log to logger" do
109
+ Hobo.logger.should_receive(:debug).with("test")
110
+ test_ui.info("test")
45
111
  end
46
112
  end
47
113
 
48
114
  describe "warning" do
49
115
  it "should send message to stderr" do
50
- $stderr.should receive(:puts).with("test")
51
- Hobo::Ui.new.warning("test")
116
+ error = StringIO.new
117
+ error.should receive(:puts).with("test")
118
+ test_ui(:error => error).warning("test")
119
+ end
120
+
121
+ it "should log to logger" do
122
+ Hobo.logger.should_receive(:debug).with("test")
123
+ test_ui.warning("test")
52
124
  end
53
125
  end
54
126
 
55
127
  describe "error" do
56
128
  it "should send message to stderr" do
57
- $stderr.should receive(:puts).with("test")
58
- Hobo::Ui.new.error("test")
129
+ error = StringIO.new
130
+ error.should receive(:puts).with("test")
131
+ test_ui(:error => error).error("test")
132
+ end
133
+
134
+ it "should log to logger" do
135
+ Hobo.logger.should_receive(:debug).with("test")
136
+ test_ui.error("test")
59
137
  end
60
138
  end
61
139
 
62
140
  describe "success" do
63
141
  it "should send message to stdout" do
64
- $stdout.should receive(:puts).with("test")
65
- Hobo::Ui.new.success("test")
142
+ output = StringIO.new
143
+ output.should receive(:puts).with("test")
144
+ test_ui(:output => output).success("test")
145
+ end
146
+
147
+ it "should log to logger" do
148
+ Hobo.logger.should_receive(:debug).with("test")
149
+ test_ui.success("test")
66
150
  end
67
151
  end
68
- end
152
+ end
@@ -0,0 +1,75 @@
1
+ require 'spec_helper'
2
+
3
+ describe Hobo do
4
+ describe "in_project?" do
5
+ it "should return true if project path detected" do
6
+ Hobo.project_path = "test"
7
+ Hobo.in_project?.should be true
8
+ end
9
+
10
+ it "should return false if no project path detected" do
11
+ Hobo.project_path = false
12
+ Hobo.in_project?.should be false
13
+ end
14
+ end
15
+
16
+ describe "progress" do
17
+ def progress_mock file, increment, total, type
18
+ out = double(StringIO.new).as_null_object
19
+ out.stub(:tty?).and_return(true)
20
+ Hobo.progress(file, increment, total, type, :throttle_rate => nil, :output => out)
21
+ end
22
+
23
+ before do
24
+ Hobo.project_bar_cache = {}
25
+ end
26
+
27
+ it "should create new progress bar if one does not exist" do
28
+ bar = progress_mock("test", 0, 10, :update)
29
+ bar.to_s.should match /^test.*0%/
30
+ end
31
+
32
+ it "should force width to 79 if windows" do
33
+ Gem.should_receive(:win_platform?).and_return(true)
34
+ bar = progress_mock("test:79", 0, 10, :update)
35
+ bar.to_s.length.should eq 79
36
+ end
37
+
38
+ it "should update progress bar if type :update" do
39
+ bar = progress_mock("test:update", 0, 10, :update)
40
+ bar.to_s.should match /^test:update.*0%/
41
+
42
+ Hobo.progress("test:update", 1, 10, :update)
43
+ bar.to_s.should match /^test.update.*10%/
44
+ end
45
+
46
+ it "should increment progress by specified amount if type :update" do
47
+ bar = progress_mock("test:increment", 0, 10, :update)
48
+ bar.to_s.should match /^test:increment.*0%/
49
+
50
+ Hobo.progress("test:increment", 1, 10, :update)
51
+ bar.to_s.should match /^test:increment.*10%/
52
+
53
+ Hobo.progress("test:increment", 1, 10, :update)
54
+ bar.to_s.should match /^test:increment.*20%/
55
+ end
56
+
57
+ it "should finalize progress bar if type :finish" do
58
+ bar = progress_mock("test:finish", 0, 10, :update)
59
+ bar.to_s.should match /^test:finish.*0%/
60
+ Hobo.progress("test:finish", 10, 10, :update)
61
+ Hobo.progress("test:finish", 10, 10, :finish)
62
+ bar.to_s.should match /^test:finish.*100%.*Time/
63
+ end
64
+
65
+ it "should set fixed format" do
66
+ bar = progress_mock("test:format", 1, 10, :update)
67
+ bar.to_s.should match /^test:format \[=+\s+\]\s+10%\s+ETA: 00:00:00/
68
+ end
69
+
70
+ it "should use filename as title" do
71
+ bar = progress_mock("some/path/to/filename.ext", 1, 10, :update)
72
+ bar.to_s.should match /^filename\.ext/
73
+ end
74
+ end
75
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'hobo'
1
2
  require 'fakefs/safe'
2
3
  #require 'rr'
3
4
 
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hobo-inviqa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
5
- prerelease:
4
+ version: 0.0.8
6
5
  platform: ruby
7
6
  authors:
8
7
  - Mike Simons
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-02-18 00:00:00.000000000 Z
11
+ date: 2014-03-07 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: slop
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: highline
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rake
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake-hooks
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: bundler
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: deepstruct
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ~>
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ~>
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: semantic
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ~>
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: aws-sdk
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - ~>
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - ~>
140
123
  - !ruby/object:Gem::Version
@@ -142,7 +125,6 @@ dependencies:
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: ruby-progressbar
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ~>
148
130
  - !ruby/object:Gem::Version
@@ -150,15 +132,55 @@ dependencies:
150
132
  type: :runtime
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ~>
156
137
  - !ruby/object:Gem::Version
157
138
  version: 1.4.1
139
+ - !ruby/object:Gem::Dependency
140
+ name: teerb
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ~>
144
+ - !ruby/object:Gem::Version
145
+ version: 0.0.1
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ~>
151
+ - !ruby/object:Gem::Version
152
+ version: 0.0.1
153
+ - !ruby/object:Gem::Dependency
154
+ name: os
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ~>
158
+ - !ruby/object:Gem::Version
159
+ version: 0.9.6
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ~>
165
+ - !ruby/object:Gem::Version
166
+ version: 0.9.6
167
+ - !ruby/object:Gem::Dependency
168
+ name: net-ssh-simple
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ version: 1.6.3
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ~>
179
+ - !ruby/object:Gem::Version
180
+ version: 1.6.3
158
181
  - !ruby/object:Gem::Dependency
159
182
  name: aruba
160
183
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
184
  requirements:
163
185
  - - ~>
164
186
  - !ruby/object:Gem::Version
@@ -166,7 +188,6 @@ dependencies:
166
188
  type: :development
167
189
  prerelease: false
168
190
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
191
  requirements:
171
192
  - - ~>
172
193
  - !ruby/object:Gem::Version
@@ -174,7 +195,6 @@ dependencies:
174
195
  - !ruby/object:Gem::Dependency
175
196
  name: rspec
176
197
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
198
  requirements:
179
199
  - - ~>
180
200
  - !ruby/object:Gem::Version
@@ -182,7 +202,6 @@ dependencies:
182
202
  type: :development
183
203
  prerelease: false
184
204
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
205
  requirements:
187
206
  - - ~>
188
207
  - !ruby/object:Gem::Version
@@ -190,7 +209,6 @@ dependencies:
190
209
  - !ruby/object:Gem::Dependency
191
210
  name: fakefs
192
211
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
212
  requirements:
195
213
  - - ~>
196
214
  - !ruby/object:Gem::Version
@@ -198,7 +216,6 @@ dependencies:
198
216
  type: :development
199
217
  prerelease: false
200
218
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
219
  requirements:
203
220
  - - ~>
204
221
  - !ruby/object:Gem::Version
@@ -206,7 +223,6 @@ dependencies:
206
223
  - !ruby/object:Gem::Dependency
207
224
  name: rr
208
225
  requirement: !ruby/object:Gem::Requirement
209
- none: false
210
226
  requirements:
211
227
  - - ~>
212
228
  - !ruby/object:Gem::Version
@@ -214,7 +230,6 @@ dependencies:
214
230
  type: :development
215
231
  prerelease: false
216
232
  version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
233
  requirements:
219
234
  - - ~>
220
235
  - !ruby/object:Gem::Version
@@ -222,7 +237,6 @@ dependencies:
222
237
  - !ruby/object:Gem::Dependency
223
238
  name: guard
224
239
  requirement: !ruby/object:Gem::Requirement
225
- none: false
226
240
  requirements:
227
241
  - - ~>
228
242
  - !ruby/object:Gem::Version
@@ -230,7 +244,6 @@ dependencies:
230
244
  type: :development
231
245
  prerelease: false
232
246
  version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
247
  requirements:
235
248
  - - ~>
236
249
  - !ruby/object:Gem::Version
@@ -238,7 +251,6 @@ dependencies:
238
251
  - !ruby/object:Gem::Dependency
239
252
  name: guard-rspec
240
253
  requirement: !ruby/object:Gem::Requirement
241
- none: false
242
254
  requirements:
243
255
  - - ~>
244
256
  - !ruby/object:Gem::Version
@@ -246,7 +258,6 @@ dependencies:
246
258
  type: :development
247
259
  prerelease: false
248
260
  version_requirements: !ruby/object:Gem::Requirement
249
- none: false
250
261
  requirements:
251
262
  - - ~>
252
263
  - !ruby/object:Gem::Version
@@ -254,7 +265,6 @@ dependencies:
254
265
  - !ruby/object:Gem::Dependency
255
266
  name: guard-cucumber
256
267
  requirement: !ruby/object:Gem::Requirement
257
- none: false
258
268
  requirements:
259
269
  - - ~>
260
270
  - !ruby/object:Gem::Version
@@ -262,7 +272,6 @@ dependencies:
262
272
  type: :development
263
273
  prerelease: false
264
274
  version_requirements: !ruby/object:Gem::Requirement
265
- none: false
266
275
  requirements:
267
276
  - - ~>
268
277
  - !ruby/object:Gem::Version
@@ -275,6 +284,7 @@ executables:
275
284
  extensions: []
276
285
  extra_rdoc_files: []
277
286
  files:
287
+ - .editorconfig
278
288
  - Gemfile
279
289
  - Gemfile.lock
280
290
  - Guardfile
@@ -296,10 +306,12 @@ files:
296
306
  - lib/hobo/config.rb
297
307
  - lib/hobo/config/file.rb
298
308
  - lib/hobo/error_handlers/debug.rb
309
+ - lib/hobo/error_handlers/exit_code_map.rb
299
310
  - lib/hobo/error_handlers/friendly.rb
300
311
  - lib/hobo/errors.rb
301
312
  - lib/hobo/help_formatter.rb
302
313
  - lib/hobo/helper/file_locator.rb
314
+ - lib/hobo/helper/http_download.rb
303
315
  - lib/hobo/helper/shell.rb
304
316
  - lib/hobo/helper/vm_command.rb
305
317
  - lib/hobo/lib/host_check.rb
@@ -319,10 +331,12 @@ files:
319
331
  - lib/hobo/patches/slop.rb
320
332
  - lib/hobo/paths.rb
321
333
  - lib/hobo/tasks/assets.rb
334
+ - lib/hobo/tasks/config.rb
322
335
  - lib/hobo/tasks/debug.rb
323
336
  - lib/hobo/tasks/deps.rb
324
- - lib/hobo/tasks/host.rb
325
337
  - lib/hobo/tasks/seed.rb
338
+ - lib/hobo/tasks/system.rb
339
+ - lib/hobo/tasks/system/completions.rb
326
340
  - lib/hobo/tasks/tools.rb
327
341
  - lib/hobo/tasks/vm.rb
328
342
  - lib/hobo/ui.rb
@@ -348,36 +362,30 @@ files:
348
362
  - spec/hobo/patches/rake_spec.rb
349
363
  - spec/hobo/paths_spec.rb
350
364
  - spec/hobo/ui_spec.rb
365
+ - spec/hobo/util_spec.rb
351
366
  - spec/spec_helper.rb
352
367
  homepage: ''
353
368
  licenses: []
369
+ metadata: {}
354
370
  post_install_message:
355
371
  rdoc_options: []
356
372
  require_paths:
357
373
  - lib
358
374
  required_ruby_version: !ruby/object:Gem::Requirement
359
- none: false
360
375
  requirements:
361
376
  - - ! '>='
362
377
  - !ruby/object:Gem::Version
363
378
  version: '0'
364
- segments:
365
- - 0
366
- hash: -317158295052344104
367
379
  required_rubygems_version: !ruby/object:Gem::Requirement
368
- none: false
369
380
  requirements:
370
381
  - - ! '>='
371
382
  - !ruby/object:Gem::Version
372
383
  version: '0'
373
- segments:
374
- - 0
375
- hash: -317158295052344104
376
384
  requirements: []
377
385
  rubyforge_project:
378
- rubygems_version: 1.8.23
386
+ rubygems_version: 2.2.2
379
387
  signing_key:
380
- specification_version: 3
388
+ specification_version: 4
381
389
  summary: Inviqan toolbelt
382
390
  test_files:
383
391
  - features/deps.feature
@@ -407,4 +415,5 @@ test_files:
407
415
  - spec/hobo/patches/rake_spec.rb
408
416
  - spec/hobo/paths_spec.rb
409
417
  - spec/hobo/ui_spec.rb
418
+ - spec/hobo/util_spec.rb
410
419
  - spec/spec_helper.rb