shelly 0.0.54 → 0.0.55.pre
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.
- data/lib/shelly/cli/main.rb +12 -11
- data/lib/shelly/version.rb +1 -1
- data/spec/shelly/cli/main_spec.rb +8 -14
- metadata +167 -148
data/lib/shelly/cli/main.rb
CHANGED
@@ -154,25 +154,26 @@ module Shelly
|
|
154
154
|
rescue Client::ConflictException => e
|
155
155
|
case e[:state]
|
156
156
|
when "running"
|
157
|
-
say_error "Not starting: cloud '#{@app}' is already running"
|
157
|
+
say_error "Not starting: cloud '#{@app}' is already running", :with_exit => false
|
158
158
|
when "deploying", "configuring"
|
159
|
-
say_error "Not starting: cloud '#{@app}' is currently deploying"
|
159
|
+
say_error "Not starting: cloud '#{@app}' is currently deploying", :with_exit => false
|
160
160
|
when "no_code"
|
161
161
|
say_error "Not starting: no source code provided", :with_exit => false
|
162
162
|
say_error "Push source code using:", :with_exit => false
|
163
|
-
|
163
|
+
say_error " git push production master", :with_exit => false
|
164
164
|
when "deploy_failed", "configuration_failed"
|
165
165
|
say_error "Not starting: deployment failed", :with_exit => false
|
166
166
|
say_error "Support has been notified", :with_exit => false
|
167
|
-
say_error "Check `shelly deploys show last --cloud #{@app}` for reasons of failure"
|
167
|
+
say_error "Check `shelly deploys show last --cloud #{@app}` for reasons of failure", :with_exit => false
|
168
168
|
when "not_enough_resources"
|
169
169
|
say_error %{Sorry, There are no resources for your servers.
|
170
|
-
We have been notified about it. We will be adding new resources shortly}
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
say_error "
|
170
|
+
We have been notified about it. We will be adding new resources shortly}, :with_exit => false
|
171
|
+
end
|
172
|
+
if !e[:can_be_started] and e[:state] == "turned_off"
|
173
|
+
url = "#{@app.shelly.shellyapp_url}/apps/#{@app.code_name}/billing"
|
174
|
+
say_error "Not starting.", :with_exit => false
|
175
|
+
say_error "For more details please visit:", :with_exit => false
|
176
|
+
say_error url
|
176
177
|
end
|
177
178
|
exit 1
|
178
179
|
rescue Client::NotFoundException => e
|
@@ -285,7 +286,7 @@ We have been notified about it. We will be adding new resources shortly}
|
|
285
286
|
case e[:state]
|
286
287
|
when "deploying", "configuring"
|
287
288
|
say_error "Your application is being redeployed at the moment"
|
288
|
-
when "no_code", "
|
289
|
+
when "no_code", "turned_off"
|
289
290
|
say_error "Cloud #{@app} is not running", :with_exit => false
|
290
291
|
say "Start your cloud with `shelly start --cloud #{@app}`"
|
291
292
|
exit 1
|
data/lib/shelly/version.rb
CHANGED
@@ -613,7 +613,7 @@ OUT
|
|
613
613
|
raise_conflict("state" => "no_code")
|
614
614
|
$stdout.should_receive(:puts).with(red "Not starting: no source code provided")
|
615
615
|
$stdout.should_receive(:puts).with(red "Push source code using:")
|
616
|
-
$stdout.should_receive(:puts).with(" git push production master")
|
616
|
+
$stdout.should_receive(:puts).with(red " git push production master")
|
617
617
|
lambda { invoke(@main, :start) }.should raise_error(SystemExit)
|
618
618
|
end
|
619
619
|
|
@@ -635,23 +635,17 @@ We have been notified about it. We will be adding new resources shortly")
|
|
635
635
|
lambda { invoke(@main, :start) }.should raise_error(SystemExit)
|
636
636
|
end
|
637
637
|
|
638
|
-
it "should show
|
639
|
-
raise_conflict("state" => "no_billing")
|
640
|
-
@app.stub(:edit_billing_url).and_return("http://example.com/billing/edit")
|
641
|
-
$stdout.should_receive(:puts).with(red "Please fill in billing details to start foo-production.")
|
642
|
-
$stdout.should_receive(:puts).with(red "Visit: http://example.com/billing/edit")
|
638
|
+
it "should show link to billing" do
|
643
639
|
@client.stub(:shellyapp_url).and_return("http://example.com")
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
raise_conflict("state" => "payment_declined")
|
649
|
-
$stdout.should_receive(:puts).with(red "Not starting. Invoice for cloud 'foo-production' was declined.")
|
640
|
+
raise_conflict("state" => "turned_off", "can_be_started" => false)
|
641
|
+
$stdout.should_receive(:puts).with(red "Not starting.")
|
642
|
+
$stdout.should_receive(:puts).with(red "For more details please visit:")
|
643
|
+
$stdout.should_receive(:puts).with(red "http://example.com/apps/foo-production/billing")
|
650
644
|
lambda { invoke(@main, :start) }.should raise_error(SystemExit)
|
651
645
|
end
|
652
646
|
|
653
647
|
def raise_conflict(options = {})
|
654
|
-
body = {"state" => "no_code"}.merge(options)
|
648
|
+
body = {"state" => "no_code", "can_be_started" => true}.merge(options)
|
655
649
|
exception = Shelly::Client::ConflictException.new(body)
|
656
650
|
@client.stub(:start_cloud).and_raise(exception)
|
657
651
|
end
|
@@ -1178,7 +1172,7 @@ We have been notified about it. We will be adding new resources shortly")
|
|
1178
1172
|
end
|
1179
1173
|
end
|
1180
1174
|
|
1181
|
-
%w(no_code
|
1175
|
+
%w(no_code turned_off).each do |state|
|
1182
1176
|
context "when application is in #{state} state" do
|
1183
1177
|
it "should display error that cloud is not running" do
|
1184
1178
|
exception = Shelly::Client::ConflictException.new("state" => state)
|
metadata
CHANGED
@@ -1,167 +1,191 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: shelly
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 961916056
|
5
|
+
prerelease: 7
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 55
|
10
|
+
- pre
|
11
|
+
version: 0.0.55.pre
|
6
12
|
platform: ruby
|
7
|
-
authors:
|
13
|
+
authors:
|
8
14
|
- Shelly Cloud team
|
9
15
|
autorequire:
|
10
16
|
bindir: bin
|
11
17
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
18
|
+
|
19
|
+
date: 2012-03-13 00:00:00 Z
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
17
23
|
none: false
|
18
|
-
requirements:
|
24
|
+
requirements:
|
19
25
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
hash: 47
|
28
|
+
segments:
|
29
|
+
- 2
|
30
|
+
- 8
|
31
|
+
- 0
|
21
32
|
version: 2.8.0
|
33
|
+
requirement: *id001
|
34
|
+
prerelease: false
|
22
35
|
type: :development
|
36
|
+
name: rspec
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
44
|
+
segments:
|
45
|
+
- 0
|
46
|
+
version: "0"
|
47
|
+
requirement: *id002
|
23
48
|
prerelease: false
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
49
|
+
type: :development
|
26
50
|
name: rake
|
27
|
-
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
28
53
|
none: false
|
29
|
-
requirements:
|
30
|
-
- -
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
|
33
|
-
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
hash: 3
|
58
|
+
segments:
|
59
|
+
- 0
|
60
|
+
version: "0"
|
61
|
+
requirement: *id003
|
34
62
|
prerelease: false
|
35
|
-
|
36
|
-
- !ruby/object:Gem::Dependency
|
63
|
+
type: :development
|
37
64
|
name: guard
|
38
|
-
|
65
|
+
- !ruby/object:Gem::Dependency
|
66
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
39
67
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
hash: 3
|
72
|
+
segments:
|
73
|
+
- 0
|
74
|
+
version: "0"
|
75
|
+
requirement: *id004
|
45
76
|
prerelease: false
|
46
|
-
|
47
|
-
- !ruby/object:Gem::Dependency
|
77
|
+
type: :development
|
48
78
|
name: guard-rspec
|
49
|
-
|
79
|
+
- !ruby/object:Gem::Dependency
|
80
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
50
81
|
none: false
|
51
|
-
requirements:
|
52
|
-
- -
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
|
55
|
-
|
82
|
+
requirements:
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
hash: 3
|
86
|
+
segments:
|
87
|
+
- 0
|
88
|
+
version: "0"
|
89
|
+
requirement: *id005
|
56
90
|
prerelease: false
|
57
|
-
version_requirements: *70184900693460
|
58
|
-
- !ruby/object:Gem::Dependency
|
59
|
-
name: simplecov
|
60
|
-
requirement: &70184900693040 !ruby/object:Gem::Requirement
|
61
|
-
none: false
|
62
|
-
requirements:
|
63
|
-
- - ! '>='
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version: '0'
|
66
91
|
type: :development
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
name: ruby_gntp
|
71
|
-
requirement: &70184900692580 !ruby/object:Gem::Requirement
|
92
|
+
name: simplecov
|
93
|
+
- !ruby/object:Gem::Dependency
|
94
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
72
95
|
none: false
|
73
|
-
requirements:
|
74
|
-
- -
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
|
77
|
-
|
96
|
+
requirements:
|
97
|
+
- - ">="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
hash: 3
|
100
|
+
segments:
|
101
|
+
- 0
|
102
|
+
version: "0"
|
103
|
+
requirement: *id006
|
78
104
|
prerelease: false
|
79
|
-
version_requirements: *70184900692580
|
80
|
-
- !ruby/object:Gem::Dependency
|
81
|
-
name: rb-fsevent
|
82
|
-
requirement: &70184900692100 !ruby/object:Gem::Requirement
|
83
|
-
none: false
|
84
|
-
requirements:
|
85
|
-
- - ! '>='
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
version: '0'
|
88
105
|
type: :development
|
89
|
-
prerelease: false
|
90
|
-
version_requirements: *70184900692100
|
91
|
-
- !ruby/object:Gem::Dependency
|
92
106
|
name: fakefs
|
93
|
-
|
107
|
+
- !ruby/object:Gem::Dependency
|
108
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
94
109
|
none: false
|
95
|
-
requirements:
|
96
|
-
- -
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
|
99
|
-
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
hash: 3
|
114
|
+
segments:
|
115
|
+
- 0
|
116
|
+
version: "0"
|
117
|
+
requirement: *id007
|
100
118
|
prerelease: false
|
101
|
-
version_requirements: *70184900691620
|
102
|
-
- !ruby/object:Gem::Dependency
|
103
|
-
name: fakeweb
|
104
|
-
requirement: &70184900691080 !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - ! '>='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
110
119
|
type: :development
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
name: wijet-thor
|
115
|
-
requirement: &70184900690380 !ruby/object:Gem::Requirement
|
120
|
+
name: fakeweb
|
121
|
+
- !ruby/object:Gem::Dependency
|
122
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
116
123
|
none: false
|
117
|
-
requirements:
|
124
|
+
requirements:
|
118
125
|
- - ~>
|
119
|
-
- !ruby/object:Gem::Version
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
hash: 41
|
128
|
+
segments:
|
129
|
+
- 0
|
130
|
+
- 14
|
131
|
+
- 7
|
120
132
|
version: 0.14.7
|
133
|
+
requirement: *id008
|
134
|
+
prerelease: false
|
121
135
|
type: :runtime
|
136
|
+
name: wijet-thor
|
137
|
+
- !ruby/object:Gem::Dependency
|
138
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
140
|
+
requirements:
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
hash: 3
|
144
|
+
segments:
|
145
|
+
- 0
|
146
|
+
version: "0"
|
147
|
+
requirement: *id009
|
122
148
|
prerelease: false
|
123
|
-
|
124
|
-
- !ruby/object:Gem::Dependency
|
149
|
+
type: :runtime
|
125
150
|
name: rest-client
|
126
|
-
|
151
|
+
- !ruby/object:Gem::Dependency
|
152
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
127
153
|
none: false
|
128
|
-
requirements:
|
129
|
-
- -
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
|
132
|
-
|
154
|
+
requirements:
|
155
|
+
- - ">="
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
hash: 3
|
158
|
+
segments:
|
159
|
+
- 0
|
160
|
+
version: "0"
|
161
|
+
requirement: *id010
|
133
162
|
prerelease: false
|
134
|
-
|
135
|
-
- !ruby/object:Gem::Dependency
|
163
|
+
type: :runtime
|
136
164
|
name: json
|
137
|
-
|
165
|
+
- !ruby/object:Gem::Dependency
|
166
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
138
167
|
none: false
|
139
|
-
requirements:
|
140
|
-
- -
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
|
143
|
-
|
168
|
+
requirements:
|
169
|
+
- - ">="
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
hash: 3
|
172
|
+
segments:
|
173
|
+
- 0
|
174
|
+
version: "0"
|
175
|
+
requirement: *id011
|
144
176
|
prerelease: false
|
145
|
-
version_requirements: *70184900689140
|
146
|
-
- !ruby/object:Gem::Dependency
|
147
|
-
name: progressbar
|
148
|
-
requirement: &70184900688700 !ruby/object:Gem::Requirement
|
149
|
-
none: false
|
150
|
-
requirements:
|
151
|
-
- - ! '>='
|
152
|
-
- !ruby/object:Gem::Version
|
153
|
-
version: '0'
|
154
177
|
type: :runtime
|
155
|
-
|
156
|
-
version_requirements: *70184900688700
|
178
|
+
name: progressbar
|
157
179
|
description: Tool for managing applications and clouds at shellycloud.com
|
158
|
-
email:
|
180
|
+
email:
|
159
181
|
- support@shellycloud.com
|
160
|
-
executables:
|
182
|
+
executables:
|
161
183
|
- shelly
|
162
184
|
extensions: []
|
185
|
+
|
163
186
|
extra_rdoc_files: []
|
164
|
-
|
187
|
+
|
188
|
+
files:
|
165
189
|
- .gitignore
|
166
190
|
- .travis.yml
|
167
191
|
- Gemfile
|
@@ -213,43 +237,38 @@ files:
|
|
213
237
|
- spec/thor/options_spec.rb
|
214
238
|
homepage: http://shellycloud.com
|
215
239
|
licenses: []
|
240
|
+
|
216
241
|
post_install_message:
|
217
242
|
rdoc_options: []
|
218
|
-
|
243
|
+
|
244
|
+
require_paths:
|
219
245
|
- lib
|
220
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
246
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
221
247
|
none: false
|
222
|
-
requirements:
|
223
|
-
- -
|
224
|
-
- !ruby/object:Gem::Version
|
225
|
-
|
226
|
-
|
248
|
+
requirements:
|
249
|
+
- - ">="
|
250
|
+
- !ruby/object:Gem::Version
|
251
|
+
hash: 3
|
252
|
+
segments:
|
253
|
+
- 0
|
254
|
+
version: "0"
|
255
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
227
256
|
none: false
|
228
|
-
requirements:
|
229
|
-
- -
|
230
|
-
- !ruby/object:Gem::Version
|
231
|
-
|
257
|
+
requirements:
|
258
|
+
- - ">"
|
259
|
+
- !ruby/object:Gem::Version
|
260
|
+
hash: 25
|
261
|
+
segments:
|
262
|
+
- 1
|
263
|
+
- 3
|
264
|
+
- 1
|
265
|
+
version: 1.3.1
|
232
266
|
requirements: []
|
267
|
+
|
233
268
|
rubyforge_project: shelly
|
234
269
|
rubygems_version: 1.8.10
|
235
270
|
signing_key:
|
236
271
|
specification_version: 3
|
237
272
|
summary: Shelly Cloud command line tool
|
238
|
-
test_files:
|
239
|
-
|
240
|
-
- spec/input_faker.rb
|
241
|
-
- spec/shelly/app_spec.rb
|
242
|
-
- spec/shelly/backup_spec.rb
|
243
|
-
- spec/shelly/cli/backup_spec.rb
|
244
|
-
- spec/shelly/cli/config_spec.rb
|
245
|
-
- spec/shelly/cli/deploys_spec.rb
|
246
|
-
- spec/shelly/cli/main_spec.rb
|
247
|
-
- spec/shelly/cli/runner_spec.rb
|
248
|
-
- spec/shelly/cli/user_spec.rb
|
249
|
-
- spec/shelly/client_spec.rb
|
250
|
-
- spec/shelly/cloudfile_spec.rb
|
251
|
-
- spec/shelly/download_progress_bar_spec.rb
|
252
|
-
- spec/shelly/model_spec.rb
|
253
|
-
- spec/shelly/user_spec.rb
|
254
|
-
- spec/spec_helper.rb
|
255
|
-
- spec/thor/options_spec.rb
|
273
|
+
test_files: []
|
274
|
+
|