shelly 0.0.54 → 0.0.55.pre

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- say " git push production master"
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
- when "no_billing"
172
- say_error "Please fill in billing details to start #{@app}.", :with_exit => false
173
- say_error "Visit: #{@app.edit_billing_url}", :with_exit => false
174
- when "payment_declined"
175
- say_error "Not starting. Invoice for cloud '#{@app}' was declined."
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", "no_billing", "turned_off"
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
@@ -1,3 +1,3 @@
1
1
  module Shelly
2
- VERSION = "0.0.54"
2
+ VERSION = "0.0.55.pre"
3
3
  end
@@ -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 messages about billing" do
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
- lambda { invoke(@main, :start) }.should raise_error(SystemExit)
645
- end
646
-
647
- it "should show messge about payment declined" do
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 no_billing turned_off).each do |state|
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
- version: 0.0.54
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
- date: 2012-03-13 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: rspec
16
- requirement: &70184900694820 !ruby/object:Gem::Requirement
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
- version_requirements: *70184900694820
25
- - !ruby/object:Gem::Dependency
49
+ type: :development
26
50
  name: rake
27
- requirement: &70184900694340 !ruby/object:Gem::Requirement
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
- version: '0'
33
- type: :development
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
- version_requirements: *70184900694340
36
- - !ruby/object:Gem::Dependency
63
+ type: :development
37
64
  name: guard
38
- requirement: &70184900693880 !ruby/object:Gem::Requirement
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
- version: '0'
44
- type: :development
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
- version_requirements: *70184900693880
47
- - !ruby/object:Gem::Dependency
77
+ type: :development
48
78
  name: guard-rspec
49
- requirement: &70184900693460 !ruby/object:Gem::Requirement
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
- version: '0'
55
- type: :development
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
- prerelease: false
68
- version_requirements: *70184900693040
69
- - !ruby/object:Gem::Dependency
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
- version: '0'
77
- type: :development
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
- requirement: &70184900691620 !ruby/object:Gem::Requirement
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
- version: '0'
99
- type: :development
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
- prerelease: false
112
- version_requirements: *70184900691080
113
- - !ruby/object:Gem::Dependency
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
- version_requirements: *70184900690380
124
- - !ruby/object:Gem::Dependency
149
+ type: :runtime
125
150
  name: rest-client
126
- requirement: &70184900689600 !ruby/object:Gem::Requirement
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
- version: '0'
132
- type: :runtime
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
- version_requirements: *70184900689600
135
- - !ruby/object:Gem::Dependency
163
+ type: :runtime
136
164
  name: json
137
- requirement: &70184900689140 !ruby/object:Gem::Requirement
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
- version: '0'
143
- type: :runtime
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
- prerelease: false
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
- files:
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
- require_paths:
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
- version: '0'
226
- required_rubygems_version: !ruby/object:Gem::Requirement
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
- version: '0'
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
- - spec/helpers.rb
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
+