shelly 0.0.52 → 0.0.53
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/app.rb +21 -5
- data/lib/shelly/cli/main.rb +16 -14
- data/lib/shelly/templates/Cloudfile.erb +1 -1
- data/lib/shelly/version.rb +1 -1
- data/spec/shelly/app_spec.rb +50 -47
- data/spec/shelly/cli/main_spec.rb +40 -24
- metadata +28 -34
data/lib/shelly/app.rb
CHANGED
@@ -13,12 +13,16 @@ module Shelly
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def add_git_remote
|
16
|
-
system("git remote rm
|
17
|
-
system("git remote add
|
16
|
+
system("git remote rm #{code_name} > /dev/null 2>&1")
|
17
|
+
system("git remote add #{code_name} #{git_url}")
|
18
|
+
end
|
19
|
+
|
20
|
+
def git_remote_exist?
|
21
|
+
IO.popen("git remote").read.include?(code_name)
|
18
22
|
end
|
19
23
|
|
20
24
|
def remove_git_remote
|
21
|
-
system("git remote rm
|
25
|
+
system("git remote rm #{code_name} > /dev/null 2>&1")
|
22
26
|
end
|
23
27
|
|
24
28
|
def generate_cloudfile
|
@@ -33,7 +37,7 @@ module Shelly
|
|
33
37
|
end
|
34
38
|
|
35
39
|
def create
|
36
|
-
attributes = {:code_name => code_name
|
40
|
+
attributes = {:code_name => code_name}
|
37
41
|
response = shelly.create_app(attributes)
|
38
42
|
self.git_url = response["git_url"]
|
39
43
|
self.domains = response["domains"]
|
@@ -102,7 +106,19 @@ module Shelly
|
|
102
106
|
end
|
103
107
|
|
104
108
|
def self.guess_code_name
|
105
|
-
|
109
|
+
guessed = nil
|
110
|
+
if Cloudfile.present?
|
111
|
+
clouds = Cloudfile.new.clouds
|
112
|
+
if clouds.grep(/staging/).present?
|
113
|
+
guessed = "production"
|
114
|
+
production_clouds = clouds.grep(/production/)
|
115
|
+
production_clouds.sort.each do |cloud|
|
116
|
+
cloud =~ /production(\d*)/
|
117
|
+
guessed = "production#{$1.to_i+1}"
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
"#{File.basename(Dir.pwd)}-#{guessed || 'staging'}"
|
106
122
|
end
|
107
123
|
|
108
124
|
def collaborations
|
data/lib/shelly/cli/main.rb
CHANGED
@@ -73,20 +73,22 @@ module Shelly
|
|
73
73
|
method_option :databases, :type => :array, :aliases => "-d",
|
74
74
|
:banner => Shelly::App::DATABASE_KINDS.join(', '),
|
75
75
|
:desc => "List of databases of your choice"
|
76
|
-
method_option :domains, :type => :array,
|
77
|
-
:banner => "CODE-NAME.shellyapp.com, YOUR-DOMAIN.com",
|
78
|
-
:desc => "List of your domains"
|
79
76
|
desc "add", "Add a new cloud"
|
80
77
|
def add
|
81
78
|
check_options(options)
|
82
79
|
@app = Shelly::App.new
|
83
80
|
@app.code_name = options["code-name"] || ask_for_code_name
|
84
81
|
@app.databases = options["databases"] || ask_for_databases
|
85
|
-
@app.domains = options["domains"] || ["#{@app.code_name}.shellyapp.com"]
|
86
82
|
@app.create
|
87
83
|
|
88
|
-
|
89
|
-
@app
|
84
|
+
git_remote = @app.git_remote_exist?
|
85
|
+
if !git_remote or (git_remote and yes?("Git remote #{@app} exists, overwrite (yes/no): "))
|
86
|
+
say "Adding remote #{@app} #{@app.git_url}", :green
|
87
|
+
@app.add_git_remote
|
88
|
+
else
|
89
|
+
say "You have to manually add git remote:"
|
90
|
+
say "`git remote add NAME #{@app.git_url}`"
|
91
|
+
end
|
90
92
|
|
91
93
|
say "Creating Cloudfile", :green
|
92
94
|
@app.create_cloudfile
|
@@ -100,13 +102,13 @@ module Shelly
|
|
100
102
|
end
|
101
103
|
|
102
104
|
info_adding_cloudfile_to_repository
|
103
|
-
info_deploying_to_shellycloud
|
105
|
+
info_deploying_to_shellycloud(@app)
|
104
106
|
|
105
107
|
rescue Client::ValidationException => e
|
106
108
|
e.each_error { |error| say_error error, :with_exit => false }
|
107
109
|
say_new_line
|
108
110
|
say_error "Fix erros in the below command and type it again to create your cloud" , :with_exit => false
|
109
|
-
say_error "shelly add --code-name=#{@app.code_name} --databases=#{@app.databases.join(',')}
|
111
|
+
say_error "shelly add --code-name=#{@app.code_name} --databases=#{@app.databases.join(',')}"
|
110
112
|
end
|
111
113
|
|
112
114
|
desc "list", "List available clouds"
|
@@ -315,7 +317,7 @@ We have been notified about it. We will be adding new resources shortly}
|
|
315
317
|
|
316
318
|
def check_options(options)
|
317
319
|
unless options.empty?
|
318
|
-
unless ["code-name", "databases"
|
320
|
+
unless ["code-name", "databases"].all? do |option|
|
319
321
|
options.include?(option.to_s) && options[option.to_s] != option.to_s
|
320
322
|
end && valid_databases?(options["databases"])
|
321
323
|
# FIXME: ' to `
|
@@ -349,8 +351,8 @@ We have been notified about it. We will be adding new resources shortly}
|
|
349
351
|
end
|
350
352
|
|
351
353
|
def ask_for_code_name
|
352
|
-
default_code_name =
|
353
|
-
code_name = ask("Cloud code name (#{
|
354
|
+
default_code_name = Shelly::App.guess_code_name
|
355
|
+
code_name = ask("Cloud code name (#{Shelly::App.guess_code_name} - default):")
|
354
356
|
code_name.blank? ? default_code_name : code_name
|
355
357
|
end
|
356
358
|
|
@@ -374,15 +376,15 @@ We have been notified about it. We will be adding new resources shortly}
|
|
374
376
|
say " git status"
|
375
377
|
end
|
376
378
|
|
377
|
-
def info_deploying_to_shellycloud
|
379
|
+
def info_deploying_to_shellycloud(remote)
|
378
380
|
say_new_line
|
379
381
|
say "When you make sure all settings are correct please issue following commands:", :green
|
380
382
|
say " git add ."
|
381
383
|
say ' git commit -m "Application added to Shelly Cloud"'
|
382
384
|
say " git push"
|
383
385
|
say_new_line
|
384
|
-
say "Deploy to
|
385
|
-
say " git push
|
386
|
+
say "Deploy to your cloud using:", :green
|
387
|
+
say " git push #{remote} master"
|
386
388
|
say_new_line
|
387
389
|
end
|
388
390
|
end
|
data/lib/shelly/version.rb
CHANGED
data/spec/shelly/app_spec.rb
CHANGED
@@ -12,8 +12,27 @@ describe Shelly::App do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
describe ".guess_code_name" do
|
15
|
-
|
16
|
-
|
15
|
+
context "no Cloudfile" do
|
16
|
+
it "should return name of current working directory" do
|
17
|
+
Shelly::App.guess_code_name.should == "foo-staging"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context "with Cloudfile" do
|
22
|
+
it "should return production" do
|
23
|
+
File.open("Cloudfile", 'w') {|f| f.write("foo-staging:\n") }
|
24
|
+
Shelly::App.guess_code_name.should == "foo-production"
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should return production" do
|
28
|
+
File.open("Cloudfile", 'w') {|f| f.write("winnie-test:\n") }
|
29
|
+
Shelly::App.guess_code_name.should == "foo-staging"
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should return productionNUMBER" do
|
33
|
+
File.open("Cloudfile", 'w') {|f| f.write("foo-staging:\nfoo-production:\n") }
|
34
|
+
Shelly::App.guess_code_name.should == "foo-production1"
|
35
|
+
end
|
17
36
|
end
|
18
37
|
end
|
19
38
|
|
@@ -31,16 +50,24 @@ describe Shelly::App do
|
|
31
50
|
end
|
32
51
|
|
33
52
|
it "should try to remove existing git remote" do
|
34
|
-
@app.should_receive(:system).with("git remote rm
|
53
|
+
@app.should_receive(:system).with("git remote rm foo-staging > /dev/null 2>&1")
|
35
54
|
@app.add_git_remote
|
36
55
|
end
|
37
56
|
|
38
57
|
it "should add git remote with proper name and git repository" do
|
39
|
-
@app.should_receive(:system).with("git remote add
|
58
|
+
@app.should_receive(:system).with("git remote add foo-staging git@git.shellycloud.com:foo-staging.git")
|
40
59
|
@app.add_git_remote
|
41
60
|
end
|
42
61
|
end
|
43
62
|
|
63
|
+
describe "git_remote_exist" do
|
64
|
+
it "should return true if git remote exist" do
|
65
|
+
io = mock(:read => "origin\nfoo-staging")
|
66
|
+
IO.should_receive(:popen).with("git remote").and_return(io)
|
67
|
+
@app.git_remote_exist?.should be_true
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
44
71
|
describe "#configs" do
|
45
72
|
it "should get configs from client" do
|
46
73
|
@client.should_receive(:app_configs).with("foo-staging").and_return(config_response)
|
@@ -116,7 +143,7 @@ describe Shelly::App do
|
|
116
143
|
FakeFS.deactivate!
|
117
144
|
expected = <<-config
|
118
145
|
foo-staging:
|
119
|
-
ruby_version: 1.9.2 # 1.9.2 or ree
|
146
|
+
ruby_version: 1.9.2 # 1.9.2 or ree-1.8.7
|
120
147
|
environment: production # RAILS_ENV
|
121
148
|
monitoring_email: bob@example.com
|
122
149
|
domains:
|
@@ -224,48 +251,24 @@ config
|
|
224
251
|
end
|
225
252
|
|
226
253
|
describe "#create" do
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
@app.ruby_version.should == "1.9.2"
|
246
|
-
@app.environment.should == "production"
|
247
|
-
end
|
248
|
-
end
|
249
|
-
|
250
|
-
context "with providing domain" do
|
251
|
-
it "should create the app on shelly cloud via API client" do
|
252
|
-
@app.code_name = "boo"
|
253
|
-
@app.domains = ["boo.shellyapp.com", "boo.example.com"]
|
254
|
-
attributes = {
|
255
|
-
:code_name => "boo",
|
256
|
-
:domains => %w(boo.shellyapp.com boo.example.com)
|
257
|
-
}
|
258
|
-
@client.should_receive(:create_app).with(attributes).and_return("git_url" => "git@git.shellycloud.com:fooo.git",
|
259
|
-
"domains" => %w(boo.shellyapp.com boo.example.com))
|
260
|
-
@app.create
|
261
|
-
end
|
262
|
-
|
263
|
-
it "should assign returned git_url and domain" do
|
264
|
-
@client.stub(:create_app).and_return("git_url" => "git@git.example.com:fooo.git",
|
265
|
-
"domains" => %w(boo.shellyapp.com boo.example.com))
|
266
|
-
@app.create
|
267
|
-
@app.domains.should == %w(boo.shellyapp.com boo.example.com)
|
268
|
-
end
|
254
|
+
it "should create the app on shelly cloud via API client" do
|
255
|
+
@app.code_name = "fooo"
|
256
|
+
attributes = {
|
257
|
+
:code_name => "fooo"
|
258
|
+
}
|
259
|
+
@client.should_receive(:create_app).with(attributes).and_return("git_url" => "git@git.shellycloud.com:fooo.git",
|
260
|
+
"domains" => %w(fooo.shellyapp.com))
|
261
|
+
@app.create
|
262
|
+
end
|
263
|
+
|
264
|
+
it "should assign returned git_url, domains, ruby_version and environment" do
|
265
|
+
@client.stub(:create_app).and_return("git_url" => "git@git.example.com:fooo.git",
|
266
|
+
"domains" => ["fooo.shellyapp.com"], "ruby_version" => "1.9.2", "environment" => "production")
|
267
|
+
@app.create
|
268
|
+
@app.git_url.should == "git@git.example.com:fooo.git"
|
269
|
+
@app.domains.should == ["fooo.shellyapp.com"]
|
270
|
+
@app.ruby_version.should == "1.9.2"
|
271
|
+
@app.environment.should == "production"
|
269
272
|
end
|
270
273
|
end
|
271
274
|
|
@@ -274,6 +274,7 @@ OUT
|
|
274
274
|
Shelly::App.stub(:new).and_return(@app)
|
275
275
|
@client.stub(:token).and_return("abc")
|
276
276
|
@app.stub(:attributes).and_return({"trial" => false})
|
277
|
+
@app.stub(:git_remote_exist?).and_return(false)
|
277
278
|
end
|
278
279
|
|
279
280
|
# This spec tests inside_git_repository? hook
|
@@ -311,7 +312,7 @@ OUT
|
|
311
312
|
|
312
313
|
it "should exit if databases are not valid" do
|
313
314
|
$stdout.should_receive(:puts).with("\e[31mTry 'shelly help add' for more information\e[0m")
|
314
|
-
@main.options = {"code-name" => "foo", "databases" => ["not existing"]
|
315
|
+
@main.options = {"code-name" => "foo", "databases" => ["not existing"]}
|
315
316
|
lambda {
|
316
317
|
invoke(@main, :add)
|
317
318
|
}.should raise_error(SystemExit)
|
@@ -321,14 +322,14 @@ OUT
|
|
321
322
|
context "valid params" do
|
322
323
|
it "should create app on shelly cloud" do
|
323
324
|
@app.should_receive(:create)
|
324
|
-
@main.options = {"code-name" => "foo", "databases" => ["postgresql"]
|
325
|
+
@main.options = {"code-name" => "foo", "databases" => ["postgresql"]}
|
325
326
|
invoke(@main, :add)
|
326
327
|
end
|
327
328
|
end
|
328
329
|
end
|
329
330
|
|
330
331
|
it "should use code name provided by user" do
|
331
|
-
$stdout.should_receive(:print).with("Cloud code name (foo-
|
332
|
+
$stdout.should_receive(:print).with("Cloud code name (foo-staging - default): ")
|
332
333
|
@app.should_receive(:code_name=).with("mycodename")
|
333
334
|
fake_stdin(["mycodename", ""]) do
|
334
335
|
invoke(@main, :add)
|
@@ -337,8 +338,8 @@ OUT
|
|
337
338
|
|
338
339
|
context "when user provided empty code name" do
|
339
340
|
it "should use 'current_dirname-purpose' as default" do
|
340
|
-
$stdout.should_receive(:print).with("Cloud code name (foo-
|
341
|
-
@app.should_receive(:code_name=).with("foo-
|
341
|
+
$stdout.should_receive(:print).with("Cloud code name (foo-staging - default): ")
|
342
|
+
@app.should_receive(:code_name=).with("foo-staging")
|
342
343
|
fake_stdin(["", ""]) do
|
343
344
|
invoke(@main, :add)
|
344
345
|
end
|
@@ -393,7 +394,7 @@ OUT
|
|
393
394
|
$stdout.should_receive(:puts).with(green "Billing information")
|
394
395
|
$stdout.should_receive(:puts).with("Cloud created with 20 Euro credit.")
|
395
396
|
$stdout.should_receive(:puts).with("Remember to provide billing details before trial ends.")
|
396
|
-
$stdout.should_receive(:puts).with("http://example.com/apps/foo-
|
397
|
+
$stdout.should_receive(:puts).with("http://example.com/apps/foo-staging/billing/edit")
|
397
398
|
|
398
399
|
fake_stdin(["", ""]) do
|
399
400
|
invoke(@main, :add)
|
@@ -415,7 +416,7 @@ OUT
|
|
415
416
|
@app.should_receive(:create).and_raise(exception)
|
416
417
|
$stdout.should_receive(:puts).with("\e[31mCode name has been already taken\e[0m")
|
417
418
|
$stdout.should_receive(:puts).with("\e[31mFix erros in the below command and type it again to create your cloud\e[0m")
|
418
|
-
$stdout.should_receive(:puts).with("\e[31mshelly add --code-name=foo-
|
419
|
+
$stdout.should_receive(:puts).with("\e[31mshelly add --code-name=foo-staging --databases=postgresql\e[0m")
|
419
420
|
lambda {
|
420
421
|
fake_stdin(["", ""]) do
|
421
422
|
invoke(@main, :add)
|
@@ -423,24 +424,39 @@ OUT
|
|
423
424
|
}.should raise_error(SystemExit)
|
424
425
|
end
|
425
426
|
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
$stdout.should_receive(:puts).with("\e[31mshelly add --code-name=foo-staging --databases=postgresql --domains=test.example.com,test2.example.com\e[0m")
|
432
|
-
lambda {
|
433
|
-
fake_stdin(["", ""]) do
|
427
|
+
context "git remote" do
|
428
|
+
it "should add one if it doesn't exist" do
|
429
|
+
$stdout.should_receive(:puts).with("\e[32mAdding remote foooo git@git.shellycloud.com:foooo.git\e[0m")
|
430
|
+
@app.should_receive(:add_git_remote)
|
431
|
+
fake_stdin(["foooo", ""]) do
|
434
432
|
invoke(@main, :add)
|
435
433
|
end
|
436
|
-
|
437
|
-
|
434
|
+
end
|
435
|
+
|
436
|
+
context "does exist" do
|
437
|
+
before do
|
438
|
+
@app.stub(:git_remote_exist?).and_return(true)
|
439
|
+
end
|
440
|
+
|
441
|
+
it "should ask if one exist and overwrite" do
|
442
|
+
$stdout.should_receive(:print).with("Git remote foooo exists, overwrite (yes/no): ")
|
443
|
+
$stdout.should_receive(:puts).with(green "Adding remote foooo git@git.shellycloud.com:foooo.git")
|
444
|
+
@app.should_receive(:add_git_remote)
|
445
|
+
fake_stdin(["foooo", "", "yes"]) do
|
446
|
+
invoke(@main, :add)
|
447
|
+
end
|
448
|
+
end
|
449
|
+
|
450
|
+
it "should ask if one exist and not overwrite" do
|
451
|
+
$stdout.should_receive(:print).with("Git remote foooo exists, overwrite (yes/no): ")
|
452
|
+
$stdout.should_receive(:puts).with("You have to manually add git remote:")
|
453
|
+
$stdout.should_receive(:puts).with("`git remote add NAME git@git.shellycloud.com:foooo.git`")
|
454
|
+
@app.should_not_receive(:add_git_remote)
|
455
|
+
fake_stdin(["foooo", "", "no"]) do
|
456
|
+
invoke(@main, :add)
|
457
|
+
end
|
458
|
+
end
|
438
459
|
|
439
|
-
it "should add git remote" do
|
440
|
-
$stdout.should_receive(:puts).with("\e[32mAdding remote production git@git.shellycloud.com:foooo.git\e[0m")
|
441
|
-
@app.should_receive(:add_git_remote)
|
442
|
-
fake_stdin(["foooo", ""]) do
|
443
|
-
invoke(@main, :add)
|
444
460
|
end
|
445
461
|
end
|
446
462
|
|
@@ -466,8 +482,8 @@ OUT
|
|
466
482
|
$stdout.should_receive(:puts).with(" git add .")
|
467
483
|
$stdout.should_receive(:puts).with(' git commit -m "Application added to Shelly Cloud"')
|
468
484
|
$stdout.should_receive(:puts).with(" git push")
|
469
|
-
$stdout.should_receive(:puts).with("\e[32mDeploy to
|
470
|
-
$stdout.should_receive(:puts).with(" git push
|
485
|
+
$stdout.should_receive(:puts).with("\e[32mDeploy to your cloud using:\e[0m")
|
486
|
+
$stdout.should_receive(:puts).with(" git push foooo master")
|
471
487
|
fake_stdin(["foooo", "none"]) do
|
472
488
|
invoke(@main, :add)
|
473
489
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shelly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.53
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70355552495420 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 2.8.0
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70355552495420
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rake
|
27
|
-
requirement: &
|
27
|
+
requirement: &70355552495000 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70355552495000
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: guard
|
38
|
-
requirement: &
|
38
|
+
requirement: &70355552494540 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70355552494540
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: guard-rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &70355552494120 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70355552494120
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: simplecov
|
60
|
-
requirement: &
|
60
|
+
requirement: &70355552493700 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70355552493700
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: ruby_gntp
|
71
|
-
requirement: &
|
71
|
+
requirement: &70355552509600 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70355552509600
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rb-fsevent
|
82
|
-
requirement: &
|
82
|
+
requirement: &70355552509180 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70355552509180
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: fakefs
|
93
|
-
requirement: &
|
93
|
+
requirement: &70355552508760 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70355552508760
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: fakeweb
|
104
|
-
requirement: &
|
104
|
+
requirement: &70355552508340 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70355552508340
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: wijet-thor
|
115
|
-
requirement: &
|
115
|
+
requirement: &70355552507840 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ~>
|
@@ -120,10 +120,10 @@ dependencies:
|
|
120
120
|
version: 0.14.7
|
121
121
|
type: :runtime
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *70355552507840
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: rest-client
|
126
|
-
requirement: &
|
126
|
+
requirement: &70355552507420 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ! '>='
|
@@ -131,10 +131,10 @@ dependencies:
|
|
131
131
|
version: '0'
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *70355552507420
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: json
|
137
|
-
requirement: &
|
137
|
+
requirement: &70355552506960 !ruby/object:Gem::Requirement
|
138
138
|
none: false
|
139
139
|
requirements:
|
140
140
|
- - ! '>='
|
@@ -142,10 +142,10 @@ dependencies:
|
|
142
142
|
version: '0'
|
143
143
|
type: :runtime
|
144
144
|
prerelease: false
|
145
|
-
version_requirements: *
|
145
|
+
version_requirements: *70355552506960
|
146
146
|
- !ruby/object:Gem::Dependency
|
147
147
|
name: progressbar
|
148
|
-
requirement: &
|
148
|
+
requirement: &70355552506540 !ruby/object:Gem::Requirement
|
149
149
|
none: false
|
150
150
|
requirements:
|
151
151
|
- - ! '>='
|
@@ -153,7 +153,7 @@ dependencies:
|
|
153
153
|
version: '0'
|
154
154
|
type: :runtime
|
155
155
|
prerelease: false
|
156
|
-
version_requirements: *
|
156
|
+
version_requirements: *70355552506540
|
157
157
|
description: Tool for managing applications and clouds at shellycloud.com
|
158
158
|
email:
|
159
159
|
- support@shellycloud.com
|
@@ -223,18 +223,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
223
223
|
- - ! '>='
|
224
224
|
- !ruby/object:Gem::Version
|
225
225
|
version: '0'
|
226
|
-
segments:
|
227
|
-
- 0
|
228
|
-
hash: -4124757266592650249
|
229
226
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
230
227
|
none: false
|
231
228
|
requirements:
|
232
229
|
- - ! '>='
|
233
230
|
- !ruby/object:Gem::Version
|
234
231
|
version: '0'
|
235
|
-
segments:
|
236
|
-
- 0
|
237
|
-
hash: -4124757266592650249
|
238
232
|
requirements: []
|
239
233
|
rubyforge_project: shelly
|
240
234
|
rubygems_version: 1.8.17
|