tugboat 0.0.9 → 0.2.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/CHANGELOG.md +22 -0
- data/lib/tugboat/cli.rb +125 -17
- data/lib/tugboat/config.rb +12 -2
- data/lib/tugboat/middleware.rb +40 -0
- data/lib/tugboat/middleware/ask_for_credentials.rb +2 -1
- data/lib/tugboat/middleware/check_configuration.rb +6 -0
- data/lib/tugboat/middleware/create_droplet.rb +7 -1
- data/lib/tugboat/middleware/destroy_image.rb +23 -0
- data/lib/tugboat/middleware/find_droplet.rb +1 -1
- data/lib/tugboat/middleware/find_image.rb +113 -0
- data/lib/tugboat/middleware/info_image.rb +25 -0
- data/lib/tugboat/middleware/rebuild_droplet.rb +23 -0
- data/lib/tugboat/version.rb +1 -1
- data/spec/cli/authorize_cli_spec.rb +7 -1
- data/spec/cli/create_cli_spec.rb +4 -4
- data/spec/cli/destroy_image_cli_spec.rb +88 -0
- data/spec/cli/droplets_cli_spec.rb +12 -0
- data/spec/cli/info_image_cli_spec.rb +61 -0
- data/spec/cli/rebuild_cli_spec.rb +215 -0
- data/spec/config_spec.rb +13 -1
- data/spec/fixtures/show_image.json +8 -0
- data/spec/middleware/find_image_spec.rb +12 -0
- data/spec/shared/environment.rb +2 -1
- metadata +18 -3
@@ -0,0 +1,215 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Tugboat::CLI do
|
4
|
+
include_context "spec"
|
5
|
+
|
6
|
+
describe "rebuild" do
|
7
|
+
it "rebuilds a droplet with a fuzzy name based on an image with a fuzy name" do
|
8
|
+
stub_request(:get, "https://api.digitalocean.com/droplets?api_key=#{api_key}&client_id=#{client_key}").
|
9
|
+
to_return(:status => 200, :body => fixture("show_droplets"), :headers => {})
|
10
|
+
|
11
|
+
stub_request(:get, "https://api.digitalocean.com/images?api_key=#{api_key}&client_id=#{client_key}").
|
12
|
+
to_return(:status => 200, :body => fixture("show_images"), :headers => {})
|
13
|
+
|
14
|
+
stub_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478").
|
15
|
+
to_return(:status => 200, :body => '{ "status": "OK", "event_id": 7504 }', :headers => {})
|
16
|
+
|
17
|
+
$stdin.should_receive(:gets).and_return("y")
|
18
|
+
|
19
|
+
@cli.rebuild("foo", "NLP Final")
|
20
|
+
|
21
|
+
expect($stdout.string).to eq <<-eos
|
22
|
+
Droplet fuzzy name provided. Finding droplet ID...done\e[0m, 100823 (foo)\nImage fuzzy name provided. Finding image ID...done\e[0m, 478 (NLP Final)\nWarning! Potentially destructive action. Please confirm [y/n]: Queuing rebuild for droplet 100823 (foo) with image 478 (NLP Final)...done
|
23
|
+
eos
|
24
|
+
expect(a_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478")).to have_been_made
|
25
|
+
end
|
26
|
+
|
27
|
+
it "rebuilds a droplet with an id based on an image with a fuzy name" do
|
28
|
+
stub_request(:get, "https://api.digitalocean.com/droplets/#{droplet_id}?api_key=#{api_key}&client_id=#{client_key}").
|
29
|
+
to_return(:status => 200, :body => fixture("show_droplet"))
|
30
|
+
|
31
|
+
stub_request(:get, "https://api.digitalocean.com/images?api_key=#{api_key}&client_id=#{client_key}").
|
32
|
+
to_return(:status => 200, :body => fixture("show_images"), :headers => {})
|
33
|
+
|
34
|
+
stub_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478").
|
35
|
+
to_return(:status => 200, :body => '{ "status": "OK", "event_id": 7504 }', :headers => {})
|
36
|
+
|
37
|
+
$stdin.should_receive(:gets).and_return("y")
|
38
|
+
|
39
|
+
@cli.options = @cli.options.merge(:id => droplet_id)
|
40
|
+
@cli.rebuild("foo", "NLP Final")
|
41
|
+
|
42
|
+
expect($stdout.string).to eq <<-eos
|
43
|
+
Droplet id provided. Finding Droplet...done\e[0m, 100823 (foo)\nImage fuzzy name provided. Finding image ID...done\e[0m, 478 (NLP Final)\nWarning! Potentially destructive action. Please confirm [y/n]: Queuing rebuild for droplet 100823 (foo) with image 478 (NLP Final)...done
|
44
|
+
eos
|
45
|
+
expect(a_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478")).to have_been_made
|
46
|
+
end
|
47
|
+
|
48
|
+
it "rebuilds a droplet with a name based on an image with a fuzy name" do
|
49
|
+
stub_request(:get, "https://api.digitalocean.com/droplets?api_key=#{api_key}&client_id=#{client_key}").
|
50
|
+
to_return(:status => 200, :body => fixture("show_droplets"))
|
51
|
+
|
52
|
+
stub_request(:get, "https://api.digitalocean.com/images?api_key=#{api_key}&client_id=#{client_key}").
|
53
|
+
to_return(:status => 200, :body => fixture("show_images"), :headers => {})
|
54
|
+
|
55
|
+
stub_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478").
|
56
|
+
to_return(:status => 200, :body => '{ "status": "OK", "event_id": 7504 }', :headers => {})
|
57
|
+
|
58
|
+
$stdin.should_receive(:gets).and_return("y")
|
59
|
+
|
60
|
+
@cli.options = @cli.options.merge(:name => droplet_name)
|
61
|
+
@cli.rebuild("foo", "NLP Final")
|
62
|
+
|
63
|
+
expect($stdout.string).to eq <<-eos
|
64
|
+
Droplet name provided. Finding droplet ID...done\e[0m, 100823 (foo)\nImage fuzzy name provided. Finding image ID...done\e[0m, 478 (NLP Final)\nWarning! Potentially destructive action. Please confirm [y/n]: Queuing rebuild for droplet 100823 (foo) with image 478 (NLP Final)...done
|
65
|
+
eos
|
66
|
+
expect(a_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478")).to have_been_made
|
67
|
+
end
|
68
|
+
|
69
|
+
it "rebuilds a droplet with a fuzzy name based on an image with an id" do
|
70
|
+
stub_request(:get, "https://api.digitalocean.com/droplets?api_key=#{api_key}&client_id=#{client_key}").
|
71
|
+
to_return(:status => 200, :body => fixture("show_droplets"), :headers => {})
|
72
|
+
|
73
|
+
stub_request(:get, "https://api.digitalocean.com/images/478?api_key=#{api_key}&client_id=#{client_key}").
|
74
|
+
to_return(:status => 200, :body => fixture("show_image"), :headers => {})
|
75
|
+
|
76
|
+
stub_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478").
|
77
|
+
to_return(:status => 200, :body => '{ "status": "OK", "event_id": 7504 }', :headers => {})
|
78
|
+
|
79
|
+
$stdin.should_receive(:gets).and_return("y")
|
80
|
+
|
81
|
+
@cli.options = @cli.options.merge(:image_id => 478)
|
82
|
+
@cli.rebuild("foo", "NLP Final")
|
83
|
+
|
84
|
+
expect($stdout.string).to eq <<-eos
|
85
|
+
Droplet fuzzy name provided. Finding droplet ID...done\e[0m, 100823 (foo)\nImage id provided. Finding Image...done\e[0m, 478 (NLP Final)\nWarning! Potentially destructive action. Please confirm [y/n]: Queuing rebuild for droplet 100823 (foo) with image 478 (NLP Final)...done
|
86
|
+
eos
|
87
|
+
expect(a_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478")).to have_been_made
|
88
|
+
end
|
89
|
+
|
90
|
+
it "rebuilds a droplet with an id based on an image with an id" do
|
91
|
+
stub_request(:get, "https://api.digitalocean.com/droplets/#{droplet_id}?api_key=#{api_key}&client_id=#{client_key}").
|
92
|
+
to_return(:status => 200, :body => fixture("show_droplet"))
|
93
|
+
|
94
|
+
stub_request(:get, "https://api.digitalocean.com/images/478?api_key=#{api_key}&client_id=#{client_key}").
|
95
|
+
to_return(:status => 200, :body => fixture("show_image"), :headers => {})
|
96
|
+
|
97
|
+
stub_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478").
|
98
|
+
to_return(:status => 200, :body => '{ "status": "OK", "event_id": 7504 }', :headers => {})
|
99
|
+
|
100
|
+
$stdin.should_receive(:gets).and_return("y")
|
101
|
+
|
102
|
+
@cli.options = @cli.options.merge(:id => droplet_id, :image_id => 478)
|
103
|
+
@cli.rebuild("foo", "NLP Final")
|
104
|
+
|
105
|
+
expect($stdout.string).to eq <<-eos
|
106
|
+
Droplet id provided. Finding Droplet...done\e[0m, 100823 (foo)\nImage id provided. Finding Image...done\e[0m, 478 (NLP Final)\nWarning! Potentially destructive action. Please confirm [y/n]: Queuing rebuild for droplet 100823 (foo) with image 478 (NLP Final)...done
|
107
|
+
eos
|
108
|
+
expect(a_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478")).to have_been_made
|
109
|
+
end
|
110
|
+
|
111
|
+
it "rebuilds a droplet with a name based on an image with an id" do
|
112
|
+
stub_request(:get, "https://api.digitalocean.com/droplets?api_key=#{api_key}&client_id=#{client_key}").
|
113
|
+
to_return(:status => 200, :body => fixture("show_droplets"))
|
114
|
+
|
115
|
+
stub_request(:get, "https://api.digitalocean.com/images/478?api_key=#{api_key}&client_id=#{client_key}").
|
116
|
+
to_return(:status => 200, :body => fixture("show_image"), :headers => {})
|
117
|
+
|
118
|
+
stub_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478").
|
119
|
+
to_return(:status => 200, :body => '{ "status": "OK", "event_id": 7504 }', :headers => {})
|
120
|
+
|
121
|
+
$stdin.should_receive(:gets).and_return("y")
|
122
|
+
|
123
|
+
@cli.options = @cli.options.merge(:name => droplet_name, :image_id => 478)
|
124
|
+
@cli.rebuild("foo", "NLP Final")
|
125
|
+
|
126
|
+
expect($stdout.string).to eq <<-eos
|
127
|
+
Droplet name provided. Finding droplet ID...done\e[0m, 100823 (foo)\nImage id provided. Finding Image...done\e[0m, 478 (NLP Final)\nWarning! Potentially destructive action. Please confirm [y/n]: Queuing rebuild for droplet 100823 (foo) with image 478 (NLP Final)...done
|
128
|
+
eos
|
129
|
+
expect(a_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478")).to have_been_made
|
130
|
+
end
|
131
|
+
|
132
|
+
it "rebuilds a droplet with a fuzzy name based on an image with a name" do
|
133
|
+
stub_request(:get, "https://api.digitalocean.com/droplets?api_key=#{api_key}&client_id=#{client_key}").
|
134
|
+
to_return(:status => 200, :body => fixture("show_droplets"), :headers => {})
|
135
|
+
|
136
|
+
stub_request(:get, "https://api.digitalocean.com/images?api_key=#{api_key}&client_id=#{client_key}").
|
137
|
+
to_return(:status => 200, :body => fixture("show_images"), :headers => {})
|
138
|
+
|
139
|
+
stub_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478").
|
140
|
+
to_return(:status => 200, :body => '{ "status": "OK", "event_id": 7504 }', :headers => {})
|
141
|
+
|
142
|
+
$stdin.should_receive(:gets).and_return("y")
|
143
|
+
|
144
|
+
@cli.options = @cli.options.merge(:image_name => "NLP Final")
|
145
|
+
@cli.rebuild("foo", "NLP Final")
|
146
|
+
|
147
|
+
expect($stdout.string).to eq <<-eos
|
148
|
+
Droplet fuzzy name provided. Finding droplet ID...done\e[0m, 100823 (foo)\nImage name provided. Finding image ID...done\e[0m, 478 (NLP Final)\nWarning! Potentially destructive action. Please confirm [y/n]: Queuing rebuild for droplet 100823 (foo) with image 478 (NLP Final)...done
|
149
|
+
eos
|
150
|
+
expect(a_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478")).to have_been_made
|
151
|
+
end
|
152
|
+
|
153
|
+
it "rebuilds a droplet with an id based on an image with a name" do
|
154
|
+
stub_request(:get, "https://api.digitalocean.com/droplets/#{droplet_id}?api_key=#{api_key}&client_id=#{client_key}").
|
155
|
+
to_return(:status => 200, :body => fixture("show_droplet"))
|
156
|
+
|
157
|
+
stub_request(:get, "https://api.digitalocean.com/images?api_key=#{api_key}&client_id=#{client_key}").
|
158
|
+
to_return(:status => 200, :body => fixture("show_images"), :headers => {})
|
159
|
+
|
160
|
+
stub_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478").
|
161
|
+
to_return(:status => 200, :body => '{ "status": "OK", "event_id": 7504 }', :headers => {})
|
162
|
+
|
163
|
+
$stdin.should_receive(:gets).and_return("y")
|
164
|
+
|
165
|
+
@cli.options = @cli.options.merge(:id => droplet_id, :image_name => "NLP Final")
|
166
|
+
@cli.rebuild("foo", "NLP Final")
|
167
|
+
|
168
|
+
expect($stdout.string).to eq <<-eos
|
169
|
+
Droplet id provided. Finding Droplet...done\e[0m, 100823 (foo)\nImage name provided. Finding image ID...done\e[0m, 478 (NLP Final)\nWarning! Potentially destructive action. Please confirm [y/n]: Queuing rebuild for droplet 100823 (foo) with image 478 (NLP Final)...done
|
170
|
+
eos
|
171
|
+
expect(a_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478")).to have_been_made
|
172
|
+
end
|
173
|
+
|
174
|
+
it "rebuilds a droplet with a name based on an image with a name" do
|
175
|
+
stub_request(:get, "https://api.digitalocean.com/droplets?api_key=#{api_key}&client_id=#{client_key}").
|
176
|
+
to_return(:status => 200, :body => fixture("show_droplets"))
|
177
|
+
|
178
|
+
stub_request(:get, "https://api.digitalocean.com/images?api_key=#{api_key}&client_id=#{client_key}").
|
179
|
+
to_return(:status => 200, :body => fixture("show_images"), :headers => {})
|
180
|
+
|
181
|
+
stub_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478").
|
182
|
+
to_return(:status => 200, :body => '{ "status": "OK", "event_id": 7504 }', :headers => {})
|
183
|
+
|
184
|
+
$stdin.should_receive(:gets).and_return("y")
|
185
|
+
|
186
|
+
@cli.options = @cli.options.merge(:name => droplet_name, :image_name => "NLP Final")
|
187
|
+
@cli.rebuild("foo", "NLP Final")
|
188
|
+
|
189
|
+
expect($stdout.string).to eq <<-eos
|
190
|
+
Droplet name provided. Finding droplet ID...done\e[0m, 100823 (foo)\nImage name provided. Finding image ID...done\e[0m, 478 (NLP Final)\nWarning! Potentially destructive action. Please confirm [y/n]: Queuing rebuild for droplet 100823 (foo) with image 478 (NLP Final)...done
|
191
|
+
eos
|
192
|
+
expect(a_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478")).to have_been_made
|
193
|
+
end
|
194
|
+
|
195
|
+
it "rebuilds a droplet with confirm flag set" do
|
196
|
+
stub_request(:get, "https://api.digitalocean.com/droplets?api_key=#{api_key}&client_id=#{client_key}").
|
197
|
+
to_return(:status => 200, :body => fixture("show_droplets"), :headers => {})
|
198
|
+
|
199
|
+
stub_request(:get, "https://api.digitalocean.com/images?api_key=#{api_key}&client_id=#{client_key}").
|
200
|
+
to_return(:status => 200, :body => fixture("show_images"), :headers => {})
|
201
|
+
|
202
|
+
stub_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478").
|
203
|
+
to_return(:status => 200, :body => '{ "status": "OK", "event_id": 7504 }', :headers => {})
|
204
|
+
|
205
|
+
@cli.options = @cli.options.merge(:confirm => "no")
|
206
|
+
@cli.rebuild("foo", "NLP Final")
|
207
|
+
|
208
|
+
expect($stdout.string).to eq <<-eos
|
209
|
+
Droplet fuzzy name provided. Finding droplet ID...done\e[0m, 100823 (foo)\nImage fuzzy name provided. Finding image ID...done\e[0m, 478 (NLP Final)\nQueuing rebuild for droplet 100823 (foo) with image 478 (NLP Final)...done
|
210
|
+
eos
|
211
|
+
expect(a_request(:post, "https://api.digitalocean.com/droplets/100823/rebuild?api_key=#{api_key}&client_id=#{client_key}&image_id=478")).to have_been_made
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
215
|
+
end
|
data/spec/config_spec.rb
CHANGED
@@ -33,12 +33,13 @@ describe Tugboat::Configuration do
|
|
33
33
|
let(:size) { "66" }
|
34
34
|
let(:ssh_key_id) { '1234' }
|
35
35
|
let(:private_networking) { 'true' }
|
36
|
+
let(:backups_enabled) { 'true' }
|
36
37
|
|
37
38
|
let(:config) { config = Tugboat::Configuration.instance }
|
38
39
|
|
39
40
|
before :each do
|
40
41
|
# Create a temporary file
|
41
|
-
config.create_config_file(client_key, api_key, ssh_key_path, ssh_user, ssh_port, region, image, size, ssh_key_id, private_networking)
|
42
|
+
config.create_config_file(client_key, api_key, ssh_key_path, ssh_user, ssh_port, region, image, size, ssh_key_id, private_networking, backups_enabled)
|
42
43
|
end
|
43
44
|
|
44
45
|
it "can be created" do
|
@@ -90,6 +91,11 @@ describe Tugboat::Configuration do
|
|
90
91
|
private_networking = data["defaults"]
|
91
92
|
expect(private_networking).to have_key("private_networking")
|
92
93
|
end
|
94
|
+
|
95
|
+
it "should have backups_enabled set" do
|
96
|
+
backups_enabled = data["defaults"]
|
97
|
+
expect(backups_enabled).to have_key("backups_enabled")
|
98
|
+
end
|
93
99
|
end
|
94
100
|
describe "backwards compatible" do
|
95
101
|
let(:client_key) { "foo" }
|
@@ -104,6 +110,7 @@ describe Tugboat::Configuration do
|
|
104
110
|
let(:config_default_size) { Tugboat::Configuration::DEFAULT_SIZE }
|
105
111
|
let(:config_default_ssh_key) { Tugboat::Configuration::DEFAULT_SSH_KEY }
|
106
112
|
let(:config_default_networking) { Tugboat::Configuration::DEFAULT_PRIVATE_NETWORKING }
|
113
|
+
let(:config_default_backups) { Tugboat::Configuration::DEFAULT_BACKUPS_ENABLED }
|
107
114
|
let(:backwards_config) {
|
108
115
|
{
|
109
116
|
"authentication" => { "client_key" => client_key, "api_key" => api_key },
|
@@ -145,5 +152,10 @@ describe Tugboat::Configuration do
|
|
145
152
|
expect(private_networking).to eql config_default_networking
|
146
153
|
end
|
147
154
|
|
155
|
+
it "should use default backups_enabled if not in the configuration" do
|
156
|
+
backups_enabled = config.default_backups_enabled
|
157
|
+
expect(backups_enabled).to eql config_default_backups
|
158
|
+
end
|
159
|
+
|
148
160
|
end
|
149
161
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Tugboat::Middleware::FindImage do
|
4
|
+
include_context "spec"
|
5
|
+
|
6
|
+
describe ".call" do
|
7
|
+
it "raises SystemExit with no image data" do
|
8
|
+
expect {described_class.new(app).call(env) }.to raise_error(SystemExit)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
data/spec/shared/environment.rb
CHANGED
@@ -18,6 +18,7 @@ shared_context "spec" do
|
|
18
18
|
let(:ssh_key_name) { 'macbook_pro' }
|
19
19
|
let(:ssh_public_key) { 'ssh-dss A123= user@host' }
|
20
20
|
let(:private_networking) { 'false'}
|
21
|
+
let(:backups_enabled) { 'false'}
|
21
22
|
let(:ocean) { DigitalOcean::API.new :client_id => client_key, :api_key =>api_key }
|
22
23
|
let(:app) { lambda { |env| } }
|
23
24
|
let(:env) { {} }
|
@@ -29,7 +30,7 @@ shared_context "spec" do
|
|
29
30
|
@cli = Tugboat::CLI.new
|
30
31
|
|
31
32
|
# Set a temprary project path and create fake config.
|
32
|
-
config.create_config_file(client_key, api_key, ssh_key_path, ssh_user, ssh_port, region, image, size, ssh_key_id, private_networking)
|
33
|
+
config.create_config_file(client_key, api_key, ssh_key_path, ssh_user, ssh_port, region, image, size, ssh_key_id, private_networking, backups_enabled)
|
33
34
|
config.reload!
|
34
35
|
|
35
36
|
# Keep track of the old stderr / out
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tugboat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jack Pearkes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-02-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -169,9 +169,12 @@ files:
|
|
169
169
|
- lib/tugboat/middleware/create_droplet.rb
|
170
170
|
- lib/tugboat/middleware/custom_logger.rb
|
171
171
|
- lib/tugboat/middleware/destroy_droplet.rb
|
172
|
+
- lib/tugboat/middleware/destroy_image.rb
|
172
173
|
- lib/tugboat/middleware/find_droplet.rb
|
174
|
+
- lib/tugboat/middleware/find_image.rb
|
173
175
|
- lib/tugboat/middleware/halt_droplet.rb
|
174
176
|
- lib/tugboat/middleware/info_droplet.rb
|
177
|
+
- lib/tugboat/middleware/info_image.rb
|
175
178
|
- lib/tugboat/middleware/inject_client.rb
|
176
179
|
- lib/tugboat/middleware/inject_configuration.rb
|
177
180
|
- lib/tugboat/middleware/list_droplets.rb
|
@@ -180,6 +183,7 @@ files:
|
|
180
183
|
- lib/tugboat/middleware/list_sizes.rb
|
181
184
|
- lib/tugboat/middleware/list_ssh_keys.rb
|
182
185
|
- lib/tugboat/middleware/password_reset.rb
|
186
|
+
- lib/tugboat/middleware/rebuild_droplet.rb
|
183
187
|
- lib/tugboat/middleware/resize_droplet.rb
|
184
188
|
- lib/tugboat/middleware/restart_droplet.rb
|
185
189
|
- lib/tugboat/middleware/snapshot_droplet.rb
|
@@ -191,13 +195,16 @@ files:
|
|
191
195
|
- spec/cli/authorize_cli_spec.rb
|
192
196
|
- spec/cli/create_cli_spec.rb
|
193
197
|
- spec/cli/destroy_cli_spec.rb
|
198
|
+
- spec/cli/destroy_image_cli_spec.rb
|
194
199
|
- spec/cli/droplets_cli_spec.rb
|
195
200
|
- spec/cli/halt_cli_spec.rb
|
196
201
|
- spec/cli/help_cli_spec.rb
|
197
202
|
- spec/cli/images_cli_spec.rb
|
198
203
|
- spec/cli/info_cli_spec.rb
|
204
|
+
- spec/cli/info_image_cli_spec.rb
|
199
205
|
- spec/cli/keys_cli_spec.rb
|
200
206
|
- spec/cli/password_reset_cli_spec.rb
|
207
|
+
- spec/cli/rebuild_cli_spec.rb
|
201
208
|
- spec/cli/regions_cli_spec.rb
|
202
209
|
- spec/cli/resize_cli_spec.rb
|
203
210
|
- spec/cli/restart_cli_spec.rb
|
@@ -216,6 +223,7 @@ files:
|
|
216
223
|
- spec/fixtures/show_droplets.json
|
217
224
|
- spec/fixtures/show_droplets_empty.json
|
218
225
|
- spec/fixtures/show_droplets_inactive.json
|
226
|
+
- spec/fixtures/show_image.json
|
219
227
|
- spec/fixtures/show_images.json
|
220
228
|
- spec/fixtures/show_images_empty.json
|
221
229
|
- spec/fixtures/show_images_global.json
|
@@ -228,6 +236,7 @@ files:
|
|
228
236
|
- spec/middleware/check_droplet_active_spec.rb
|
229
237
|
- spec/middleware/check_droplet_inactive_spec.rb
|
230
238
|
- spec/middleware/find_droplet_spec.rb
|
239
|
+
- spec/middleware/find_image_spec.rb
|
231
240
|
- spec/middleware/inject_configuration_spec.rb
|
232
241
|
- spec/middleware/ssh_droplet_spec.rb
|
233
242
|
- spec/shared/environment.rb
|
@@ -253,7 +262,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
253
262
|
version: '0'
|
254
263
|
requirements: []
|
255
264
|
rubyforge_project:
|
256
|
-
rubygems_version: 2.0.
|
265
|
+
rubygems_version: 2.0.3
|
257
266
|
signing_key:
|
258
267
|
specification_version: 4
|
259
268
|
summary: A command line tool for interacting with your DigitalOcean droplets.
|
@@ -262,13 +271,16 @@ test_files:
|
|
262
271
|
- spec/cli/authorize_cli_spec.rb
|
263
272
|
- spec/cli/create_cli_spec.rb
|
264
273
|
- spec/cli/destroy_cli_spec.rb
|
274
|
+
- spec/cli/destroy_image_cli_spec.rb
|
265
275
|
- spec/cli/droplets_cli_spec.rb
|
266
276
|
- spec/cli/halt_cli_spec.rb
|
267
277
|
- spec/cli/help_cli_spec.rb
|
268
278
|
- spec/cli/images_cli_spec.rb
|
269
279
|
- spec/cli/info_cli_spec.rb
|
280
|
+
- spec/cli/info_image_cli_spec.rb
|
270
281
|
- spec/cli/keys_cli_spec.rb
|
271
282
|
- spec/cli/password_reset_cli_spec.rb
|
283
|
+
- spec/cli/rebuild_cli_spec.rb
|
272
284
|
- spec/cli/regions_cli_spec.rb
|
273
285
|
- spec/cli/resize_cli_spec.rb
|
274
286
|
- spec/cli/restart_cli_spec.rb
|
@@ -287,6 +299,7 @@ test_files:
|
|
287
299
|
- spec/fixtures/show_droplets.json
|
288
300
|
- spec/fixtures/show_droplets_empty.json
|
289
301
|
- spec/fixtures/show_droplets_inactive.json
|
302
|
+
- spec/fixtures/show_image.json
|
290
303
|
- spec/fixtures/show_images.json
|
291
304
|
- spec/fixtures/show_images_empty.json
|
292
305
|
- spec/fixtures/show_images_global.json
|
@@ -299,7 +312,9 @@ test_files:
|
|
299
312
|
- spec/middleware/check_droplet_active_spec.rb
|
300
313
|
- spec/middleware/check_droplet_inactive_spec.rb
|
301
314
|
- spec/middleware/find_droplet_spec.rb
|
315
|
+
- spec/middleware/find_image_spec.rb
|
302
316
|
- spec/middleware/inject_configuration_spec.rb
|
303
317
|
- spec/middleware/ssh_droplet_spec.rb
|
304
318
|
- spec/shared/environment.rb
|
305
319
|
- spec/spec_helper.rb
|
320
|
+
has_rdoc:
|