shelly 0.2.12 → 0.2.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/CHANGELOG.md +4 -0
- data/lib/shelly/app.rb +8 -3
- data/lib/shelly/cli/main.rb +6 -6
- data/lib/shelly/client.rb +4 -0
- data/lib/shelly/helpers.rb +24 -0
- data/lib/shelly/version.rb +1 -1
- data/spec/shelly/app_spec.rb +9 -6
- data/spec/shelly/cli/main_spec.rb +24 -10
- metadata +85 -36
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YzAwOWRmMjEyZDA5OWNlOTg1NTJjYzkxNjY1MTFjODA5MzI0NDA5Yw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NDg0YjA5MTcxMDdkYTE2NDJiY2Q3NDRlNmM2NzJjODk1ZDM2NTIxMQ==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NjRlYjYzMzUzOGFiMTljNmYxNzNhMWUzMjE5OWZiNmQ0MDFlZjNiMzI1OGIy
|
10
|
+
ZjVkNmQxNWMzMzllZDU1NDcxMmFmMGUyYjA0ZGYwYmY3NGI0ZTJiZjE5NzVj
|
11
|
+
NWU1NzNjZGRkZDc0NjUzYjZiZGE4MjQ2ZWY2ODY3YWE4NzhmODA=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NzYwZGVlMWVlNWY5NTk3ODU0YTM0MzJmNGI2ZjljM2RhODU3MDk4NjMyOTJm
|
14
|
+
MTc1N2I0MWQyZTFiYWNlMmUwZDEzYWI0M2M2ODA2YzNlZWY4Y2JlN2YzZjcw
|
15
|
+
MWQzZjc5MTUwYTFkZmQyZTFiMjQxZmY1NjRiY2M5NzdjODYzNTY=
|
data/CHANGELOG.md
CHANGED
data/lib/shelly/app.rb
CHANGED
@@ -111,15 +111,20 @@ module Shelly
|
|
111
111
|
end
|
112
112
|
|
113
113
|
def start
|
114
|
-
shelly.start_cloud(code_name)
|
114
|
+
shelly.start_cloud(code_name)["deployment"]["id"]
|
115
115
|
end
|
116
116
|
|
117
117
|
def stop
|
118
|
-
shelly.stop_cloud(code_name)
|
118
|
+
shelly.stop_cloud(code_name)["deployment"]["id"]
|
119
119
|
end
|
120
120
|
|
121
|
+
# returns the id of created deployment
|
121
122
|
def redeploy
|
122
|
-
shelly.redeploy(code_name)
|
123
|
+
shelly.redeploy(code_name)["deployment"]["id"]
|
124
|
+
end
|
125
|
+
|
126
|
+
def deployment(deployment_id)
|
127
|
+
shelly.deployment(code_name, deployment_id)
|
123
128
|
end
|
124
129
|
|
125
130
|
def self.guess_code_name
|
data/lib/shelly/cli/main.rb
CHANGED
@@ -194,10 +194,9 @@ module Shelly
|
|
194
194
|
method_option :cloud, :type => :string, :aliases => "-c", :desc => "Specify cloud"
|
195
195
|
def start
|
196
196
|
app = multiple_clouds(options[:cloud], "start")
|
197
|
-
app.start
|
197
|
+
deployment_id = app.start
|
198
198
|
say "Starting cloud #{app}.", :green
|
199
|
-
|
200
|
-
say "Check status with: `shelly list`"
|
199
|
+
deployment_progress(app, deployment_id, "Starting cloud")
|
201
200
|
rescue Client::ConflictException => e
|
202
201
|
case e[:state]
|
203
202
|
when "running"
|
@@ -267,9 +266,9 @@ Wait until cloud is in 'turned off' state and try again.}
|
|
267
266
|
app = multiple_clouds(options[:cloud], "stop")
|
268
267
|
stop_question = "Are you sure you want to shut down '#{app}' cloud (yes/no):"
|
269
268
|
if ask(stop_question) == "yes"
|
270
|
-
app.stop
|
269
|
+
deployment_id = app.stop
|
271
270
|
say_new_line
|
272
|
-
|
271
|
+
deployment_progress(app, deployment_id, "Stopping cloud")
|
273
272
|
end
|
274
273
|
rescue Client::ConflictException => e
|
275
274
|
case e[:state]
|
@@ -368,8 +367,9 @@ Wait until cloud is in 'turned off' state and try again.}
|
|
368
367
|
:desc => "Specify which cloud to redeploy application for"
|
369
368
|
def redeploy
|
370
369
|
app = multiple_clouds(options[:cloud], "redeploy")
|
371
|
-
app.redeploy
|
370
|
+
deployment_id = app.redeploy
|
372
371
|
say "Redeploying your application for cloud '#{app}'", :green
|
372
|
+
deployment_progress(app, deployment_id, "Cloud redeploy")
|
373
373
|
rescue Client::ConflictException => e
|
374
374
|
case e[:state]
|
375
375
|
when "deploying", "configuring"
|
data/lib/shelly/client.rb
CHANGED
@@ -202,6 +202,10 @@ module Shelly
|
|
202
202
|
post("/apps/#{cloud}/deploys")
|
203
203
|
end
|
204
204
|
|
205
|
+
def deployment(cloud, deployment_id)
|
206
|
+
get("/apps/#{cloud}/deploys/#{deployment_id}")
|
207
|
+
end
|
208
|
+
|
205
209
|
def query(options = {})
|
206
210
|
"?" + options.map { |k, v|
|
207
211
|
URI.escape(k.to_s) + "=" + URI.escape(v.to_s) }.join("&")
|
data/lib/shelly/helpers.rb
CHANGED
@@ -140,5 +140,29 @@ More info at http://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository}
|
|
140
140
|
end
|
141
141
|
say " #{indicator} #{message}"
|
142
142
|
end
|
143
|
+
|
144
|
+
def deployment_progress(app, deployment_id, action_name)
|
145
|
+
printed_messages = []
|
146
|
+
loop do
|
147
|
+
@deployment = app.deployment(deployment_id)
|
148
|
+
new_messages = @deployment["messages"] - printed_messages
|
149
|
+
new_messages.each do |message|
|
150
|
+
color = (message =~ /failed/) ? :red : :green
|
151
|
+
say message, color
|
152
|
+
printed_messages << message
|
153
|
+
end
|
154
|
+
|
155
|
+
break if @deployment["state"] != "running"
|
156
|
+
sleep 5
|
157
|
+
end
|
158
|
+
|
159
|
+
say_new_line
|
160
|
+
|
161
|
+
if @deployment["result"] == "success"
|
162
|
+
say "#{action_name} successful", :green
|
163
|
+
else
|
164
|
+
say "#{action_name} failed. See logs with `shelly deploy show last`", :red
|
165
|
+
end
|
166
|
+
end
|
143
167
|
end
|
144
168
|
end
|
data/lib/shelly/version.rb
CHANGED
data/spec/shelly/app_spec.rb
CHANGED
@@ -196,13 +196,15 @@ describe Shelly::App do
|
|
196
196
|
|
197
197
|
describe "#start & #stop" do
|
198
198
|
it "should start cloud" do
|
199
|
-
@client.should_receive(:start_cloud).with("foo-staging")
|
200
|
-
|
199
|
+
@client.should_receive(:start_cloud).with("foo-staging").
|
200
|
+
and_return("deployment" => {"id" => "DEPLOYMENT_ID"})
|
201
|
+
@app.start.should == "DEPLOYMENT_ID"
|
201
202
|
end
|
202
203
|
|
203
204
|
it "should stop cloud" do
|
204
|
-
@client.should_receive(:stop_cloud).with("foo-staging")
|
205
|
-
|
205
|
+
@client.should_receive(:stop_cloud).with("foo-staging").
|
206
|
+
and_return("deployment" => {"id" => "DEPLOYMENT_ID"})
|
207
|
+
@app.stop.should == "DEPLOYMENT_ID"
|
206
208
|
end
|
207
209
|
end
|
208
210
|
|
@@ -288,8 +290,9 @@ describe Shelly::App do
|
|
288
290
|
|
289
291
|
describe "#redeploy" do
|
290
292
|
it "should redeploy app via API" do
|
291
|
-
@client.should_receive(:redeploy).with("foo-staging")
|
292
|
-
|
293
|
+
@client.should_receive(:redeploy).with("foo-staging").
|
294
|
+
and_return("deployment" => {"id" => "DEPLOYMENT_ID"})
|
295
|
+
@app.redeploy.should == "DEPLOYMENT_ID"
|
293
296
|
end
|
294
297
|
end
|
295
298
|
|
@@ -679,6 +679,10 @@ More info at http://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository\e[0m
|
|
679
679
|
@client.stub(:apps).and_return([
|
680
680
|
{"code_name" => "foo-production", "state" => "running"},
|
681
681
|
{"code_name" => "foo-staging", "state" => "no_code"}])
|
682
|
+
@client.stub(:start_cloud => {"deployment" => {"id" => "DEPLOYMENT_ID"}})
|
683
|
+
@deployment = {"messages" => ["message1"],
|
684
|
+
"result" => "success", "state" => "finished"}
|
685
|
+
@app.stub(:deployment => @deployment)
|
682
686
|
end
|
683
687
|
|
684
688
|
it "should ensure user has logged in" do
|
@@ -687,10 +691,9 @@ More info at http://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository\e[0m
|
|
687
691
|
|
688
692
|
context "single cloud in Cloudfile" do
|
689
693
|
it "should start the cloud" do
|
690
|
-
@client.stub(:start_cloud)
|
691
694
|
$stdout.should_receive(:puts).with(green "Starting cloud foo-production.")
|
692
|
-
$stdout.should_receive(:puts).with(
|
693
|
-
$stdout.should_receive(:puts).with("
|
695
|
+
$stdout.should_receive(:puts).with(green "message1")
|
696
|
+
$stdout.should_receive(:puts).with(green "Starting cloud successful")
|
694
697
|
invoke(@main, :start)
|
695
698
|
end
|
696
699
|
end
|
@@ -699,7 +702,6 @@ More info at http://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository\e[0m
|
|
699
702
|
context "without Cloudfile" do
|
700
703
|
it "should use cloud from params" do
|
701
704
|
Dir.chdir("/projects")
|
702
|
-
@client.stub(:start_cloud)
|
703
705
|
$stdout.should_receive(:puts).with(green "Starting cloud foo-production.")
|
704
706
|
@main.options = {:cloud => "foo-production"}
|
705
707
|
invoke(@main, :start)
|
@@ -707,7 +709,6 @@ More info at http://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository\e[0m
|
|
707
709
|
|
708
710
|
it "should ask user to specify cloud, list all clouds and exit" do
|
709
711
|
Dir.chdir("/projects")
|
710
|
-
@client.stub(:start_cloud)
|
711
712
|
$stdout.should_receive(:puts).with(red "You have to specify cloud.")
|
712
713
|
$stdout.should_receive(:puts).with("Select cloud using `shelly start --cloud CLOUD_NAME`")
|
713
714
|
$stdout.should_receive(:puts).with(green "You have following clouds available:")
|
@@ -736,8 +737,11 @@ More info at http://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository\e[0m
|
|
736
737
|
|
737
738
|
it "should fetch from command line which cloud to start" do
|
738
739
|
@client.should_receive(:start_cloud).with("foo-staging")
|
740
|
+
@client.should_receive(:deployment).
|
741
|
+
with("foo-staging", "DEPLOYMENT_ID").and_return(@deployment)
|
739
742
|
$stdout.should_receive(:puts).with(green "Starting cloud foo-staging.")
|
740
|
-
$stdout.should_receive(:puts).with(
|
743
|
+
$stdout.should_receive(:puts).with(green "message1")
|
744
|
+
$stdout.should_receive(:puts).with(green "Starting cloud successful")
|
741
745
|
@main.options = {:cloud => "foo-staging"}
|
742
746
|
invoke(@main, :start)
|
743
747
|
end
|
@@ -827,6 +831,9 @@ Wait until cloud is in 'turned off' state and try again.")
|
|
827
831
|
@client.stub(:apps).and_return([{"code_name" => "foo-production"}, {"code_name" => "foo-staging"}])
|
828
832
|
@app = Shelly::App.new("foo-production")
|
829
833
|
Shelly::App.stub(:new).and_return(@app)
|
834
|
+
@client.stub(:stop_cloud => {"deployment" => {"id" => "DEPLOYMENT_ID"}})
|
835
|
+
@app.stub(:deployment => {"messages" => ["message1"],
|
836
|
+
"result" => "success", "state" => "finished"})
|
830
837
|
end
|
831
838
|
|
832
839
|
it "should ensure user has logged in" do
|
@@ -835,7 +842,6 @@ Wait until cloud is in 'turned off' state and try again.")
|
|
835
842
|
|
836
843
|
# multiple_clouds is tested in main_spec.rb in describe "#start" block
|
837
844
|
it "should ensure multiple_clouds check" do
|
838
|
-
@client.stub(:stop_cloud)
|
839
845
|
@main.should_receive(:multiple_clouds).and_return(@app)
|
840
846
|
fake_stdin(["yes"]) do
|
841
847
|
invoke(@main, :stop)
|
@@ -853,10 +859,10 @@ Wait until cloud is in 'turned off' state and try again.")
|
|
853
859
|
end
|
854
860
|
|
855
861
|
it "should stop the cloud" do
|
856
|
-
@client.stub(:stop_cloud)
|
857
862
|
$stdout.should_receive(:print).with("Are you sure you want to shut down 'foo-production' cloud (yes/no): ")
|
858
863
|
$stdout.should_receive(:puts).with("\n")
|
859
|
-
$stdout.should_receive(:puts).with(
|
864
|
+
$stdout.should_receive(:puts).with(green "message1")
|
865
|
+
$stdout.should_receive(:puts).with(green "Stopping cloud successful")
|
860
866
|
fake_stdin(["yes"]) do
|
861
867
|
invoke(@main, :stop)
|
862
868
|
end
|
@@ -1303,11 +1309,13 @@ Wait until cloud is in 'turned off' state and try again.")
|
|
1303
1309
|
describe "#redeploy" do
|
1304
1310
|
before do
|
1305
1311
|
setup_project
|
1312
|
+
@client.stub(:redeploy => {"deployment" => {"id" => "DEPLOYMENT_ID"}})
|
1313
|
+
@app.stub(:deployment => {"messages" => ["message1"],
|
1314
|
+
"result" => "success", "state" => "finished"})
|
1306
1315
|
end
|
1307
1316
|
|
1308
1317
|
# multiple_clouds is tested in main_spec.rb in describe "#start" block
|
1309
1318
|
it "should ensure multiple_clouds check" do
|
1310
|
-
@client.stub(:redeploy)
|
1311
1319
|
@main.should_receive(:multiple_clouds).and_return(@app)
|
1312
1320
|
invoke(@main, :redeploy)
|
1313
1321
|
end
|
@@ -1318,6 +1326,12 @@ Wait until cloud is in 'turned off' state and try again.")
|
|
1318
1326
|
invoke(@main, :redeploy)
|
1319
1327
|
end
|
1320
1328
|
|
1329
|
+
it "should print deployment messages" do
|
1330
|
+
$stdout.should_receive(:puts).with(green "message1")
|
1331
|
+
$stdout.should_receive(:puts).with(green "Cloud redeploy successful")
|
1332
|
+
invoke(@main, :redeploy)
|
1333
|
+
end
|
1334
|
+
|
1321
1335
|
context "on redeploy failure" do
|
1322
1336
|
%w(deploying configuring).each do |state|
|
1323
1337
|
context "when application is in #{state} state" do
|
metadata
CHANGED
@@ -1,183 +1,211 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shelly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shelly Cloud team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-03-
|
11
|
+
date: 2013-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: rspec
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
16
15
|
requirements:
|
17
16
|
- - ~>
|
18
17
|
- !ruby/object:Gem::Version
|
19
18
|
version: 2.11.0
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
19
|
version_requirements: !ruby/object:Gem::Requirement
|
23
20
|
requirements:
|
24
21
|
- - ~>
|
25
22
|
- !ruby/object:Gem::Version
|
26
23
|
version: 2.11.0
|
24
|
+
type: :development
|
25
|
+
prerelease: false
|
26
|
+
name: rspec
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
30
29
|
requirements:
|
31
30
|
- - ! '>='
|
32
31
|
- !ruby/object:Gem::Version
|
33
32
|
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
33
|
version_requirements: !ruby/object:Gem::Requirement
|
37
34
|
requirements:
|
38
35
|
- - ! '>='
|
39
36
|
- !ruby/object:Gem::Version
|
40
37
|
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
name: rake
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: guard
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
44
43
|
requirements:
|
45
44
|
- - ! '>='
|
46
45
|
- !ruby/object:Gem::Version
|
47
46
|
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
47
|
version_requirements: !ruby/object:Gem::Requirement
|
51
48
|
requirements:
|
52
49
|
- - ! '>='
|
53
50
|
- !ruby/object:Gem::Version
|
54
51
|
version: '0'
|
52
|
+
type: :development
|
53
|
+
prerelease: false
|
54
|
+
name: guard
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name: guard-rspec
|
57
56
|
requirement: !ruby/object:Gem::Requirement
|
58
57
|
requirements:
|
59
58
|
- - ! '>='
|
60
59
|
- !ruby/object:Gem::Version
|
61
60
|
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
61
|
version_requirements: !ruby/object:Gem::Requirement
|
65
62
|
requirements:
|
66
63
|
- - ! '>='
|
67
64
|
- !ruby/object:Gem::Version
|
68
65
|
version: '0'
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
name: guard-rspec
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: simplecov
|
71
70
|
requirement: !ruby/object:Gem::Requirement
|
72
71
|
requirements:
|
73
72
|
- - ! '>='
|
74
73
|
- !ruby/object:Gem::Version
|
75
74
|
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
75
|
version_requirements: !ruby/object:Gem::Requirement
|
79
76
|
requirements:
|
80
77
|
- - ! '>='
|
81
78
|
- !ruby/object:Gem::Version
|
82
79
|
version: '0'
|
80
|
+
type: :development
|
81
|
+
prerelease: false
|
82
|
+
name: simplecov
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name: fakefs
|
85
84
|
requirement: !ruby/object:Gem::Requirement
|
86
85
|
requirements:
|
87
86
|
- - ! '>='
|
88
87
|
- !ruby/object:Gem::Version
|
89
88
|
version: '0'
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
90
94
|
type: :development
|
91
95
|
prerelease: false
|
96
|
+
name: ruby_gntp
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ! '>='
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
92
103
|
version_requirements: !ruby/object:Gem::Requirement
|
93
104
|
requirements:
|
94
105
|
- - ! '>='
|
95
106
|
- !ruby/object:Gem::Version
|
96
107
|
version: '0'
|
108
|
+
type: :development
|
109
|
+
prerelease: false
|
110
|
+
name: rb-fsevent
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
|
-
name: fakeweb
|
99
112
|
requirement: !ruby/object:Gem::Requirement
|
100
113
|
requirements:
|
101
114
|
- - ! '>='
|
102
115
|
- !ruby/object:Gem::Version
|
103
116
|
version: '0'
|
117
|
+
version_requirements: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - ! '>='
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '0'
|
104
122
|
type: :development
|
105
123
|
prerelease: false
|
124
|
+
name: fakefs
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
requirement: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ! '>='
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
106
131
|
version_requirements: !ruby/object:Gem::Requirement
|
107
132
|
requirements:
|
108
133
|
- - ! '>='
|
109
134
|
- !ruby/object:Gem::Version
|
110
135
|
version: '0'
|
136
|
+
type: :development
|
137
|
+
prerelease: false
|
138
|
+
name: fakeweb
|
111
139
|
- !ruby/object:Gem::Dependency
|
112
|
-
name: wijet-thor
|
113
140
|
requirement: !ruby/object:Gem::Requirement
|
114
141
|
requirements:
|
115
142
|
- - ~>
|
116
143
|
- !ruby/object:Gem::Version
|
117
144
|
version: 0.14.9
|
118
|
-
type: :runtime
|
119
|
-
prerelease: false
|
120
145
|
version_requirements: !ruby/object:Gem::Requirement
|
121
146
|
requirements:
|
122
147
|
- - ~>
|
123
148
|
- !ruby/object:Gem::Version
|
124
149
|
version: 0.14.9
|
150
|
+
type: :runtime
|
151
|
+
prerelease: false
|
152
|
+
name: wijet-thor
|
125
153
|
- !ruby/object:Gem::Dependency
|
126
|
-
name: rest-client
|
127
154
|
requirement: !ruby/object:Gem::Requirement
|
128
155
|
requirements:
|
129
156
|
- - ! '>='
|
130
157
|
- !ruby/object:Gem::Version
|
131
158
|
version: '0'
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
159
|
version_requirements: !ruby/object:Gem::Requirement
|
135
160
|
requirements:
|
136
161
|
- - ! '>='
|
137
162
|
- !ruby/object:Gem::Version
|
138
163
|
version: '0'
|
164
|
+
type: :runtime
|
165
|
+
prerelease: false
|
166
|
+
name: rest-client
|
139
167
|
- !ruby/object:Gem::Dependency
|
140
|
-
name: json
|
141
168
|
requirement: !ruby/object:Gem::Requirement
|
142
169
|
requirements:
|
143
170
|
- - ! '>='
|
144
171
|
- !ruby/object:Gem::Version
|
145
172
|
version: '0'
|
146
|
-
type: :runtime
|
147
|
-
prerelease: false
|
148
173
|
version_requirements: !ruby/object:Gem::Requirement
|
149
174
|
requirements:
|
150
175
|
- - ! '>='
|
151
176
|
- !ruby/object:Gem::Version
|
152
177
|
version: '0'
|
178
|
+
type: :runtime
|
179
|
+
prerelease: false
|
180
|
+
name: json
|
153
181
|
- !ruby/object:Gem::Dependency
|
154
|
-
name: progressbar
|
155
182
|
requirement: !ruby/object:Gem::Requirement
|
156
183
|
requirements:
|
157
184
|
- - ! '>='
|
158
185
|
- !ruby/object:Gem::Version
|
159
186
|
version: '0'
|
160
|
-
type: :runtime
|
161
|
-
prerelease: false
|
162
187
|
version_requirements: !ruby/object:Gem::Requirement
|
163
188
|
requirements:
|
164
189
|
- - ! '>='
|
165
190
|
- !ruby/object:Gem::Version
|
166
191
|
version: '0'
|
192
|
+
type: :runtime
|
193
|
+
prerelease: false
|
194
|
+
name: progressbar
|
167
195
|
- !ruby/object:Gem::Dependency
|
168
|
-
name: launchy
|
169
196
|
requirement: !ruby/object:Gem::Requirement
|
170
197
|
requirements:
|
171
198
|
- - ! '>='
|
172
199
|
- !ruby/object:Gem::Version
|
173
200
|
version: '0'
|
174
|
-
type: :runtime
|
175
|
-
prerelease: false
|
176
201
|
version_requirements: !ruby/object:Gem::Requirement
|
177
202
|
requirements:
|
178
203
|
- - ! '>='
|
179
204
|
- !ruby/object:Gem::Version
|
180
205
|
version: '0'
|
206
|
+
type: :runtime
|
207
|
+
prerelease: false
|
208
|
+
name: launchy
|
181
209
|
description: Tool for managing applications and clouds at shellycloud.com
|
182
210
|
email:
|
183
211
|
- devs@shellycloud.com
|
@@ -265,8 +293,29 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
265
293
|
version: '0'
|
266
294
|
requirements: []
|
267
295
|
rubyforge_project: shelly
|
268
|
-
rubygems_version: 2.0.
|
296
|
+
rubygems_version: 2.0.3
|
269
297
|
signing_key:
|
270
298
|
specification_version: 4
|
271
299
|
summary: Shelly Cloud command line tool
|
272
|
-
test_files:
|
300
|
+
test_files:
|
301
|
+
- spec/helpers.rb
|
302
|
+
- spec/input_faker.rb
|
303
|
+
- spec/shelly/app_spec.rb
|
304
|
+
- spec/shelly/backup_spec.rb
|
305
|
+
- spec/shelly/cli/backup_spec.rb
|
306
|
+
- spec/shelly/cli/config_spec.rb
|
307
|
+
- spec/shelly/cli/deploy_spec.rb
|
308
|
+
- spec/shelly/cli/file_spec.rb
|
309
|
+
- spec/shelly/cli/main_spec.rb
|
310
|
+
- spec/shelly/cli/organization_spec.rb
|
311
|
+
- spec/shelly/cli/runner_spec.rb
|
312
|
+
- spec/shelly/cli/user_spec.rb
|
313
|
+
- spec/shelly/client_spec.rb
|
314
|
+
- spec/shelly/cloudfile_spec.rb
|
315
|
+
- spec/shelly/download_progress_bar_spec.rb
|
316
|
+
- spec/shelly/model_spec.rb
|
317
|
+
- spec/shelly/organization_spec.rb
|
318
|
+
- spec/shelly/structure_validator_spec.rb
|
319
|
+
- spec/shelly/user_spec.rb
|
320
|
+
- spec/spec_helper.rb
|
321
|
+
- spec/thor/options_spec.rb
|