shelly 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -84,7 +84,7 @@ module Shelly
84
84
  ask_to_restore_database
85
85
  app.restore_backup(filename)
86
86
  say_new_line
87
- say "Restore has been scheduled. Wait a few minutes till database is restored."
87
+ say "Restore has been scheduled. Wait a few minutes till database is restored.", :green
88
88
  rescue Client::NotFoundException => e
89
89
  case e.resource
90
90
  when :cloud
@@ -53,7 +53,7 @@ module Shelly
53
53
  when :cloud
54
54
  say_error "You have no access to '#{app.code_name}' cloud defined in Cloudfile"
55
55
  when :log
56
- say_error "Log not found, list all deploy logs using `shelly deploys list --cloud=#{app.code_name}`"
56
+ say_error "Log not found, list all deploy logs using `shelly deploys list --cloud=#{app.code_name}`"
57
57
  else raise
58
58
  end
59
59
  end
@@ -62,7 +62,7 @@ module Shelly
62
62
  def specify_log(log)
63
63
  unless log
64
64
  say_error "Specify log by passing date value or to see last log use:", :with_exit => false
65
- say " shelly deploys show last"
65
+ say "`shelly deploys show last`"
66
66
  exit 1
67
67
  end
68
68
  end
@@ -39,8 +39,8 @@ module Shelly
39
39
  say_error "No such file or directory - #{user.ssh_key_path}", :with_exit => false
40
40
  say_error "Use ssh-keygen to generate ssh key pair, after that use: `shelly login`", :with_exit => false
41
41
  end
42
- say "Successfully registered!"
43
- say "Check you mailbox for email address confirmation"
42
+ say "Successfully registered!", :green
43
+ say "Check you mailbox for email address confirmation", :green
44
44
  rescue Client::ValidationException => e
45
45
  e.each_error { |error| say_error "#{error}", :with_exit => false }
46
46
  exit 1
@@ -53,7 +53,7 @@ module Shelly
53
53
  user.email = email || ask_for_email
54
54
  user.password = ask_for_password(:with_confirmation => false)
55
55
  user.login
56
- say "Login successful"
56
+ say "Login successful", :green
57
57
  user.upload_ssh_key
58
58
  say "Uploading your public SSH key"
59
59
  list
@@ -183,7 +183,7 @@ module Shelly
183
183
  when "no_code"
184
184
  say_error "Not starting: no source code provided", :with_exit => false
185
185
  say_error "Push source code using:", :with_exit => false
186
- say " git push #{app} master"
186
+ say "`git push #{app} master`"
187
187
  when "deploy_failed", "configuration_failed"
188
188
  say_error "Not starting: deployment failed", :with_exit => false
189
189
  say_error "Support has been notified", :with_exit => false
@@ -1,3 +1,3 @@
1
1
  module Shelly
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.9"
3
3
  end
data/lib/thor/thor.rb CHANGED
@@ -32,7 +32,7 @@ class Thor
32
32
  # We overwrite this method so namespace is show
33
33
  # shelly *backup* restore FILENAME
34
34
  def handle_argument_error(task, error)
35
- raise InvocationError, "#{task.name.inspect} was called incorrectly. Call as #{self.banner(task, nil, self != 'Shelly::CLI::Main').inspect}."
35
+ raise InvocationError, "#{task.name.inspect} was called incorrectly. Call as #{self.banner(task, nil, self.to_s != 'Shelly::CLI::Main').inspect}."
36
36
  end
37
37
  end
38
38
  end
@@ -186,7 +186,7 @@ describe Shelly::CLI::Backup do
186
186
  $stdout.should_receive(:puts).with("\n")
187
187
  @client.stub(:restore_backup).with("todo-list-test","better.tar.gz")
188
188
  $stdout.should_receive(:puts).with("\n")
189
- $stdout.should_receive(:puts).with("Restore has been scheduled. Wait a few minutes till database is restored.")
189
+ $stdout.should_receive(:puts).with(green "Restore has been scheduled. Wait a few minutes till database is restored.")
190
190
 
191
191
  fake_stdin(["yes"]) do
192
192
  invoke(@backup, :restore, "better.tar.gz")
@@ -82,7 +82,7 @@ describe Shelly::CLI::Deploys do
82
82
  it "should exit 1 with message" do
83
83
  exception = Shelly::Client::NotFoundException.new("resource" => "log")
84
84
  @client.stub(:deploy_log).and_raise(exception)
85
- $stdout.should_receive(:puts).with(red "Log not found, list all deploy logs using `shelly deploys list --cloud=foo-staging`")
85
+ $stdout.should_receive(:puts).with(red "Log not found, list all deploy logs using `shelly deploys list --cloud=foo-staging`")
86
86
  lambda { @deploys.show("last") }.should raise_error(SystemExit)
87
87
  end
88
88
  end
@@ -156,8 +156,8 @@ OUT
156
156
  context "on successful registration" do
157
157
  it "should display message about registration and email address confirmation" do
158
158
  @client.stub(:register_user).and_return(true)
159
- $stdout.should_receive(:puts).with("Successfully registered!")
160
- $stdout.should_receive(:puts).with("Check you mailbox for email address confirmation")
159
+ $stdout.should_receive(:puts).with(green "Successfully registered!")
160
+ $stdout.should_receive(:puts).with(green "Check you mailbox for email address confirmation")
161
161
  fake_stdin(["kate@example.com", "pass", "pass", "yes"]) do
162
162
  invoke(@main, :register)
163
163
  end
@@ -211,14 +211,14 @@ OUT
211
211
 
212
212
  context "on successful login" do
213
213
  it "should display message about successful login" do
214
- $stdout.should_receive(:puts).with("Login successful")
214
+ $stdout.should_receive(:puts).with(green "Login successful")
215
215
  fake_stdin(["megan@example.com", "secret"]) do
216
216
  invoke(@main, :login)
217
217
  end
218
218
  end
219
219
 
220
220
  it "should accept email as parameter" do
221
- $stdout.should_receive(:puts).with("Login successful")
221
+ $stdout.should_receive(:puts).with(green "Login successful")
222
222
  fake_stdin(["secret"]) do
223
223
  invoke(@main, :login, "megan@example.com")
224
224
  end
@@ -640,7 +640,7 @@ OUT
640
640
  raise_conflict("state" => "no_code")
641
641
  $stdout.should_receive(:puts).with(red "Not starting: no source code provided")
642
642
  $stdout.should_receive(:puts).with(red "Push source code using:")
643
- $stdout.should_receive(:puts).with(" git push foo-production master")
643
+ $stdout.should_receive(:puts).with("`git push foo-production master`")
644
644
  lambda { invoke(@main, :start) }.should raise_error(SystemExit)
645
645
  end
646
646
 
metadata CHANGED
@@ -1,234 +1,280 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: shelly
3
- version: !ruby/object:Gem::Version
4
- hash: 11
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.9
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 8
10
- version: 0.1.8
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Shelly Cloud team
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-05-29 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- version_requirements: &id001 !ruby/object:Gem::Requirement
12
+ date: 2012-06-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: !ruby/object:Gem::Requirement
22
17
  none: false
23
- requirements:
18
+ requirements:
24
19
  - - ~>
25
- - !ruby/object:Gem::Version
26
- hash: 47
27
- segments:
28
- - 2
29
- - 8
30
- - 0
20
+ - !ruby/object:Gem::Version
31
21
  version: 2.8.0
32
- requirement: *id001
22
+ type: :development
33
23
  prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 2.8.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
34
38
  type: :development
35
- name: rspec
36
- - !ruby/object:Gem::Dependency
37
- version_requirements: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
46
- requirement: *id002
47
39
  prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: guard
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
48
54
  type: :development
49
- name: rake
50
- - !ruby/object:Gem::Dependency
51
- version_requirements: &id003 !ruby/object:Gem::Requirement
52
- none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
60
- requirement: *id003
61
55
  prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: guard-rspec
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
62
70
  type: :development
63
- name: guard
64
- - !ruby/object:Gem::Dependency
65
- version_requirements: &id004 !ruby/object:Gem::Requirement
66
- none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 3
71
- segments:
72
- - 0
73
- version: "0"
74
- requirement: *id004
75
71
  prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: simplecov
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
76
86
  type: :development
77
- name: guard-rspec
78
- - !ruby/object:Gem::Dependency
79
- version_requirements: &id005 !ruby/object:Gem::Requirement
80
- none: false
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- hash: 3
85
- segments:
86
- - 0
87
- version: "0"
88
- requirement: *id005
89
87
  prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: ruby_gntp
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
90
102
  type: :development
91
- name: simplecov
92
- - !ruby/object:Gem::Dependency
93
- version_requirements: &id006 !ruby/object:Gem::Requirement
94
- none: false
95
- requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- hash: 3
99
- segments:
100
- - 0
101
- version: "0"
102
- requirement: *id006
103
103
  prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: rb-fsevent
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
104
118
  type: :development
105
- name: fakefs
106
- - !ruby/object:Gem::Dependency
107
- version_requirements: &id007 !ruby/object:Gem::Requirement
108
- none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- hash: 3
113
- segments:
114
- - 0
115
- version: "0"
116
- requirement: *id007
117
119
  prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: fakefs
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
118
134
  type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
119
143
  name: fakeweb
120
- - !ruby/object:Gem::Dependency
121
- version_requirements: &id008 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: wijet-thor
160
+ requirement: !ruby/object:Gem::Requirement
122
161
  none: false
123
- requirements:
162
+ requirements:
124
163
  - - ~>
125
- - !ruby/object:Gem::Version
126
- hash: 41
127
- segments:
128
- - 0
129
- - 14
130
- - 7
164
+ - !ruby/object:Gem::Version
131
165
  version: 0.14.7
132
- requirement: *id008
133
- prerelease: false
134
166
  type: :runtime
135
- name: wijet-thor
136
- - !ruby/object:Gem::Dependency
137
- version_requirements: &id009 !ruby/object:Gem::Requirement
138
- none: false
139
- requirements:
140
- - - ">="
141
- - !ruby/object:Gem::Version
142
- hash: 3
143
- segments:
144
- - 0
145
- version: "0"
146
- requirement: *id009
147
167
  prerelease: false
148
- type: :runtime
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ version: 0.14.7
174
+ - !ruby/object:Gem::Dependency
149
175
  name: rest-client
150
- - !ruby/object:Gem::Dependency
151
- version_requirements: &id010 !ruby/object:Gem::Requirement
152
- none: false
153
- requirements:
154
- - - ">="
155
- - !ruby/object:Gem::Version
156
- hash: 3
157
- segments:
158
- - 0
159
- version: "0"
160
- requirement: *id010
161
- prerelease: false
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ! '>='
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
162
182
  type: :runtime
163
- name: json
164
- - !ruby/object:Gem::Dependency
165
- version_requirements: &id011 !ruby/object:Gem::Requirement
166
- none: false
167
- requirements:
168
- - - ">="
169
- - !ruby/object:Gem::Version
170
- hash: 3
171
- segments:
172
- - 0
173
- version: "0"
174
- requirement: *id011
175
183
  prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ - !ruby/object:Gem::Dependency
191
+ name: json
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
176
198
  type: :runtime
177
- name: progressbar
178
- - !ruby/object:Gem::Dependency
179
- version_requirements: &id012 !ruby/object:Gem::Requirement
180
- none: false
181
- requirements:
182
- - - ">="
183
- - !ruby/object:Gem::Version
184
- hash: 3
185
- segments:
186
- - 0
187
- version: "0"
188
- requirement: *id012
189
199
  prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
206
+ - !ruby/object:Gem::Dependency
207
+ name: progressbar
208
+ requirement: !ruby/object:Gem::Requirement
209
+ none: false
210
+ requirements:
211
+ - - ! '>='
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
190
214
  type: :runtime
191
- name: grit
192
- - !ruby/object:Gem::Dependency
193
- version_requirements: &id013 !ruby/object:Gem::Requirement
194
- none: false
195
- requirements:
196
- - - ">="
197
- - !ruby/object:Gem::Version
198
- hash: 3
199
- segments:
200
- - 0
201
- version: "0"
202
- requirement: *id013
203
215
  prerelease: false
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ - !ruby/object:Gem::Dependency
223
+ name: grit
224
+ requirement: !ruby/object:Gem::Requirement
225
+ none: false
226
+ requirements:
227
+ - - ! '>='
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
204
230
  type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ! '>='
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ - !ruby/object:Gem::Dependency
205
239
  name: launchy
206
- - !ruby/object:Gem::Dependency
207
- version_requirements: &id014 !ruby/object:Gem::Requirement
240
+ requirement: !ruby/object:Gem::Requirement
241
+ none: false
242
+ requirements:
243
+ - - ! '>='
244
+ - !ruby/object:Gem::Version
245
+ version: '0'
246
+ type: :runtime
247
+ prerelease: false
248
+ version_requirements: !ruby/object:Gem::Requirement
208
249
  none: false
209
- requirements:
250
+ requirements:
251
+ - - ! '>='
252
+ - !ruby/object:Gem::Version
253
+ version: '0'
254
+ - !ruby/object:Gem::Dependency
255
+ name: shelly-dependencies
256
+ requirement: !ruby/object:Gem::Requirement
257
+ none: false
258
+ requirements:
210
259
  - - ~>
211
- - !ruby/object:Gem::Version
212
- hash: 25
213
- segments:
214
- - 0
215
- - 1
216
- - 1
260
+ - !ruby/object:Gem::Version
217
261
  version: 0.1.1
218
- requirement: *id014
219
- prerelease: false
220
262
  type: :runtime
221
- name: shelly-dependencies
263
+ prerelease: false
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ none: false
266
+ requirements:
267
+ - - ~>
268
+ - !ruby/object:Gem::Version
269
+ version: 0.1.1
222
270
  description: Tool for managing applications and clouds at shellycloud.com
223
- email:
271
+ email:
224
272
  - support@shellycloud.com
225
- executables:
273
+ executables:
226
274
  - shelly
227
275
  extensions: []
228
-
229
276
  extra_rdoc_files: []
230
-
231
- files:
277
+ files:
232
278
  - .gitignore
233
279
  - .travis.yml
234
280
  - Gemfile
@@ -283,36 +329,44 @@ files:
283
329
  - spec/thor/options_spec.rb
284
330
  homepage: http://shellycloud.com
285
331
  licenses: []
286
-
287
332
  post_install_message:
288
333
  rdoc_options: []
289
-
290
- require_paths:
334
+ require_paths:
291
335
  - lib
292
- required_ruby_version: !ruby/object:Gem::Requirement
336
+ required_ruby_version: !ruby/object:Gem::Requirement
293
337
  none: false
294
- requirements:
295
- - - ">="
296
- - !ruby/object:Gem::Version
297
- hash: 3
298
- segments:
299
- - 0
300
- version: "0"
301
- required_rubygems_version: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - ! '>='
340
+ - !ruby/object:Gem::Version
341
+ version: '0'
342
+ required_rubygems_version: !ruby/object:Gem::Requirement
302
343
  none: false
303
- requirements:
304
- - - ">="
305
- - !ruby/object:Gem::Version
306
- hash: 3
307
- segments:
308
- - 0
309
- version: "0"
344
+ requirements:
345
+ - - ! '>='
346
+ - !ruby/object:Gem::Version
347
+ version: '0'
310
348
  requirements: []
311
-
312
349
  rubyforge_project: shelly
313
- rubygems_version: 1.8.10
350
+ rubygems_version: 1.8.24
314
351
  signing_key:
315
352
  specification_version: 3
316
353
  summary: Shelly Cloud command line tool
317
- test_files: []
318
-
354
+ test_files:
355
+ - spec/helpers.rb
356
+ - spec/input_faker.rb
357
+ - spec/shelly/app_spec.rb
358
+ - spec/shelly/backup_spec.rb
359
+ - spec/shelly/cli/backup_spec.rb
360
+ - spec/shelly/cli/config_spec.rb
361
+ - spec/shelly/cli/deploys_spec.rb
362
+ - spec/shelly/cli/main_spec.rb
363
+ - spec/shelly/cli/runner_spec.rb
364
+ - spec/shelly/cli/user_spec.rb
365
+ - spec/shelly/client_spec.rb
366
+ - spec/shelly/cloudfile_spec.rb
367
+ - spec/shelly/download_progress_bar_spec.rb
368
+ - spec/shelly/model_spec.rb
369
+ - spec/shelly/structure_validator_spec.rb
370
+ - spec/shelly/user_spec.rb
371
+ - spec/spec_helper.rb
372
+ - spec/thor/options_spec.rb