shelly 0.4.18 → 0.4.19
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.
- checksums.yaml +13 -5
- data/CHANGELOG.md +7 -0
- data/lib/shelly/app.rb +17 -1
- data/lib/shelly/cli/cert.rb +2 -2
- data/lib/shelly/cli/main.rb +2 -0
- data/lib/shelly/cli/main/check.rb +35 -3
- data/lib/shelly/structure_validator.rb +29 -2
- data/lib/shelly/version.rb +1 -1
- data/spec/shelly/app_spec.rb +32 -6
- data/spec/shelly/cli/main_spec.rb +79 -3
- metadata +107 -53
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YjNhNzAxMmI5MDcwMTQ5ZTg0Mzg0MGQ5MmQ5ZWEwM2JmYTY1Y2VlYQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
NzUyMDQ4OTRhMjE1ODMxMTY0ODJhNTY1ZTVmZGQxNThmOWIxNmQyNg==
|
5
7
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NjVmNjZiZGVhNzA2M2VlMjc0MjBhYjg0ZGI5MjgyMmI1OGIzNGRjOTM4MThl
|
10
|
+
M2I4ZjUwYjk4NGRiOWYwOWFiNDY5NTY4ODUyNGVhMTgyMzIzY2M0Mzc0MjBh
|
11
|
+
OTJiODViMzkwZjdjZTg2MjFhZGU2NTMyZTVjZjhiNTVjNWFkNGY=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
ZjBlNjZhNDAyNTk1MzAzY2E2MTk5NTg5ZDUwMzliMjBlMDE3NjhmN2YzMjJm
|
14
|
+
NGRlMjQ2NGI3ZTVhYzdkZWE0NDNiNDgyNWQ0MzhjZTBiYWYxYmNiMTg3Yzhj
|
15
|
+
OGZjZjdhMjg3M2UyMmFhYmU1NzNmYTk4ZjAzMDQwNzE3ZjQ0MzI=
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
## 0.4.19 / 2013-12-26
|
2
|
+
|
3
|
+
* [bugfix] `shelly delete` fixed remove git remote when deleting cloud
|
4
|
+
* [improvement] `shelly check` makes sure Ruby defined in Gemfile is supported
|
5
|
+
* [improvement] use Ruby defined in Gemfile to create Cloudfile
|
6
|
+
* [bugfix] shelly cert arguments inline help reorderd
|
7
|
+
|
1
8
|
## 0.4.18 / 2013-12-17
|
2
9
|
|
3
10
|
* [improvement] `shelly add` should ask about databases instead of database
|
data/lib/shelly/app.rb
CHANGED
@@ -400,10 +400,26 @@ module Shelly
|
|
400
400
|
def assign_attributes(response)
|
401
401
|
self.git_url = response["git_url"]
|
402
402
|
self.domains = response["domains"]
|
403
|
-
self.ruby_version =
|
403
|
+
self.ruby_version = detect_ruby_version || response["ruby_version"]
|
404
404
|
self.environment = response["environment"]
|
405
405
|
end
|
406
406
|
|
407
|
+
def detect_ruby_version
|
408
|
+
jruby? ? 'jruby' : gemfile_ruby_version
|
409
|
+
end
|
410
|
+
|
411
|
+
def gemfile_ruby_version
|
412
|
+
ruby_version = Bundler::Definition.build("Gemfile", "Gemfile.lock",
|
413
|
+
nil).ruby_version
|
414
|
+
return unless ruby_version
|
415
|
+
|
416
|
+
if ruby_version.engine == 'jruby'
|
417
|
+
'jruby'
|
418
|
+
else
|
419
|
+
ruby_version.version
|
420
|
+
end
|
421
|
+
end
|
422
|
+
|
407
423
|
def persistent_disk
|
408
424
|
"/home/#{system_user}/disk"
|
409
425
|
end
|
data/lib/shelly/cli/cert.rb
CHANGED
@@ -26,7 +26,7 @@ module Shelly
|
|
26
26
|
say_error "Certificate not found"
|
27
27
|
end
|
28
28
|
|
29
|
-
desc "create CERT_PATH [BUNDLE_PATH]
|
29
|
+
desc "create CERT_PATH KEY_PATH [BUNDLE_PATH]", "Add certificate to your cloud"
|
30
30
|
long_desc %{
|
31
31
|
Add certificate to your cloud.\n
|
32
32
|
CERT_PATH - path to certificate.\n
|
@@ -59,7 +59,7 @@ module Shelly
|
|
59
59
|
say_error e[:message]
|
60
60
|
end
|
61
61
|
|
62
|
-
desc "update CERT_PATH [BUNDLE_PATH]
|
62
|
+
desc "update CERT_PATH KEY_PATH [BUNDLE_PATH]", "Update current certificate"
|
63
63
|
long_desc %{
|
64
64
|
Update current certificate.\n
|
65
65
|
CERT_PATH - path to certificate.\n
|
data/lib/shelly/cli/main.rb
CHANGED
@@ -238,6 +238,8 @@ Wait until cloud is in 'turned off' state and try again.}
|
|
238
238
|
say "This action is permanent and can not be undone.", :red
|
239
239
|
say_new_line
|
240
240
|
ask_to_delete_application app
|
241
|
+
# load git info so remote can be removed later on
|
242
|
+
app.git_info
|
241
243
|
|
242
244
|
app.delete
|
243
245
|
|
@@ -27,6 +27,37 @@ module Shelly
|
|
27
27
|
"Gemfile.lock is missing in git repository",
|
28
28
|
:show_fulfilled => verbose)
|
29
29
|
|
30
|
+
if structure.gemfile_ruby_version?
|
31
|
+
if structure.gemfile_engine == 'ruby'
|
32
|
+
print_check(!['1.8.7', '2.1.0'].include?(structure.gemfile_ruby_version),
|
33
|
+
"#{structure.gemfile_engine} #{structure.gemfile_ruby_version} is supported",
|
34
|
+
"#{structure.gemfile_engine} #{structure.gemfile_ruby_version} is currently unsupported\n See more at https://shellycloud.com/documentation/requirements#ruby_versions",
|
35
|
+
:show_fulfilled => verbose)
|
36
|
+
end
|
37
|
+
|
38
|
+
if structure.gemfile_ruby_patchlevel
|
39
|
+
print_check(false, "",
|
40
|
+
"Remove Ruby patchlevel from Gemfile\n Shelly Cloud takes care of upgrading Rubies whenever they are released\n See more at https://shellycloud.com/documentation/requirements#ruby_versions",
|
41
|
+
:show_fulfilled => verbose)
|
42
|
+
end
|
43
|
+
|
44
|
+
supported_jruby = '1.7.8'
|
45
|
+
if structure.gemfile_engine == 'jruby'
|
46
|
+
print_check(!(structure.gemfile_ruby_version == '1.8.7' ||
|
47
|
+
structure.gemfile_engine_version != supported_jruby),
|
48
|
+
"jruby #{supported_jruby} (1.9 mode) is supported",
|
49
|
+
"Only jruby #{supported_jruby} (1.9 mode) is currently supported\n See more at https://shellycloud.com/documentation/requirements#ruby_versions",
|
50
|
+
:show_fulfilled => verbose)
|
51
|
+
end
|
52
|
+
|
53
|
+
# other platforms: rbx, mingw, mswin show instant error
|
54
|
+
unless ['jruby', 'ruby'].include?(structure.gemfile_engine)
|
55
|
+
print_check(false, "",
|
56
|
+
"Your ruby engine: #{structure.gemfile_engine} is currently unsupported\n See more at https://shellycloud.com/documentation/requirements#ruby_versions",
|
57
|
+
:show_fulfilled => verbose)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
30
61
|
print_check(structure.config_ru?, "config.ru is present",
|
31
62
|
"config.ru is missing",
|
32
63
|
:show_fulfilled => verbose)
|
@@ -49,7 +80,7 @@ module Shelly
|
|
49
80
|
print_check(structure.gem?("thin") || structure.gem?("puma"),
|
50
81
|
"Web server gem is present",
|
51
82
|
"Missing web server gem in Gemfile. Currently supported: 'thin' and 'puma'",
|
52
|
-
:show_fulfilled => verbose
|
83
|
+
:show_fulfilled => verbose)
|
53
84
|
|
54
85
|
print_check(structure.gem?("rake"), "Gem 'rake' is present",
|
55
86
|
"Gem 'rake' is missing in the Gemfile", :show_fulfilled => verbose)
|
@@ -93,14 +124,14 @@ module Shelly
|
|
93
124
|
|
94
125
|
if app.thin?
|
95
126
|
print_check(structure.gem?("thin"),
|
96
|
-
"Web server gem 'thin' is present",
|
127
|
+
"Web server gem 'thin' is present for '#{app}' cloud",
|
97
128
|
"Gem 'thin' is missing in the Gemfile for '#{app}' cloud",
|
98
129
|
:show_fulfilled => verbose)
|
99
130
|
end
|
100
131
|
|
101
132
|
if app.puma?
|
102
133
|
print_check(structure.gem?("puma"),
|
103
|
-
"Web server gem 'puma' is present",
|
134
|
+
"Web server gem 'puma' is present for '#{app}' cloud",
|
104
135
|
"Gem 'puma' is missing in the Gemfile for '#{app}' cloud",
|
105
136
|
:show_fulfilled => verbose)
|
106
137
|
end
|
@@ -115,6 +146,7 @@ module Shelly
|
|
115
146
|
say "\nFix points marked with #{red("✗")} to run your application on the Shelly Cloud"
|
116
147
|
say "See more about requirements on https://shellycloud.com/documentation/requirements"
|
117
148
|
end
|
149
|
+
say_new_line
|
118
150
|
|
119
151
|
structure.valid?
|
120
152
|
rescue Bundler::BundlerError => e
|
@@ -15,6 +15,30 @@ module Shelly
|
|
15
15
|
repo_paths.include?(@gemfile_lock_path)
|
16
16
|
end
|
17
17
|
|
18
|
+
def gemfile_ruby_version?
|
19
|
+
return false unless gemfile? && gemfile_lock?
|
20
|
+
definition.ruby_version
|
21
|
+
end
|
22
|
+
|
23
|
+
def gemfile_ruby_version
|
24
|
+
definition.ruby_version.version
|
25
|
+
end
|
26
|
+
|
27
|
+
# patchlevel is supported since bundler 1.4.0.rc
|
28
|
+
def gemfile_ruby_patchlevel
|
29
|
+
if definition.ruby_version.respond_to?(:patchlevel)
|
30
|
+
definition.ruby_version.patchlevel
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def gemfile_engine
|
35
|
+
definition.ruby_version.engine
|
36
|
+
end
|
37
|
+
|
38
|
+
def gemfile_engine_version
|
39
|
+
definition.ruby_version.engine_version
|
40
|
+
end
|
41
|
+
|
18
42
|
def config_ru?
|
19
43
|
repo_paths.include?("config.ru")
|
20
44
|
end
|
@@ -53,11 +77,14 @@ module Shelly
|
|
53
77
|
|
54
78
|
def gems
|
55
79
|
return [] unless gemfile? && gemfile_lock?
|
56
|
-
definition = Bundler::Definition.build(@gemfile_path,
|
57
|
-
@gemfile_lock_path, nil)
|
58
80
|
@gems ||= definition.specs.map(&:name)
|
59
81
|
end
|
60
82
|
|
83
|
+
def definition
|
84
|
+
@definition ||= Bundler::Definition.build(@gemfile_path,
|
85
|
+
@gemfile_lock_path, nil)
|
86
|
+
end
|
87
|
+
|
61
88
|
def tasks
|
62
89
|
return [] unless rakefile?
|
63
90
|
@loaded_tasks ||= %x(rake -P).split("\n")
|
data/lib/shelly/version.rb
CHANGED
data/spec/shelly/app_spec.rb
CHANGED
@@ -325,8 +325,11 @@ describe Shelly::App do
|
|
325
325
|
end
|
326
326
|
|
327
327
|
describe "#create" do
|
328
|
+
before { @app.stub(:gemfile_ruby_version) }
|
329
|
+
|
328
330
|
it "should create the app on shelly cloud via API client" do
|
329
331
|
@app.code_name = "fooo"
|
332
|
+
|
330
333
|
attributes = {
|
331
334
|
:code_name => "fooo",
|
332
335
|
:organization_name => nil,
|
@@ -348,12 +351,35 @@ describe Shelly::App do
|
|
348
351
|
@app.environment.should == "production"
|
349
352
|
end
|
350
353
|
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
354
|
+
context "ruby version" do
|
355
|
+
before do
|
356
|
+
@app.unstub(:gemfile_ruby_version)
|
357
|
+
stub_const('RUBY_PLATFORM', 'i686-linux')
|
358
|
+
@client.stub(:create_app).and_return("git_url" => "git@git.example.com:fooo.git",
|
359
|
+
"domains" => ["fooo.shellyapp.com"], "ruby_version" => "1.9.2", "environment" => "production")
|
360
|
+
end
|
361
|
+
|
362
|
+
it "should assign jruby as ruby_version if gem is running under jruby" do
|
363
|
+
stub_const('RUBY_PLATFORM', 'java')
|
364
|
+
@app.create
|
365
|
+
@app.ruby_version.should == "jruby"
|
366
|
+
end
|
367
|
+
|
368
|
+
it "should return jruby if engine is set to jruby" do
|
369
|
+
Bundler::Definition.stub_chain(:build, :ruby_version).
|
370
|
+
and_return(mock(:engine => 'jruby'))
|
371
|
+
|
372
|
+
@app.create
|
373
|
+
@app.ruby_version.should == 'jruby'
|
374
|
+
end
|
375
|
+
|
376
|
+
it "should return ruby_version from gemfile" do
|
377
|
+
Bundler::Definition.stub_chain(:build, :ruby_version).
|
378
|
+
and_return(mock(:engine => 'ruby', :version => '1.9.3'))
|
379
|
+
|
380
|
+
@app.create
|
381
|
+
@app.ruby_version.should == "1.9.3"
|
382
|
+
end
|
357
383
|
end
|
358
384
|
end
|
359
385
|
|
@@ -1564,6 +1564,8 @@ Wait until cloud is in 'turned off' state and try again.")
|
|
1564
1564
|
Shelly::App.stub(:inside_git_repository?).and_return(true)
|
1565
1565
|
Bundler::Definition.stub_chain(:build, :specs, :map) \
|
1566
1566
|
.and_return(["thin", "pg", "delayed_job", "whenever", "sidekiq"])
|
1567
|
+
Bundler::Definition.stub_chain(:build, :ruby_version).
|
1568
|
+
and_return(mock(:engine => 'ruby', :version => '1.9.3'))
|
1567
1569
|
Shelly::StructureValidator.any_instance.stub(:repo_paths) \
|
1568
1570
|
.and_return(["config.ru", "Gemfile", "Gemfile.lock", "Rakefile"])
|
1569
1571
|
Shelly::StructureValidator.any_instance.stub(:tasks).and_return(["rake db:migrate"])
|
@@ -1623,7 +1625,81 @@ Wait until cloud is in 'turned off' state and try again.")
|
|
1623
1625
|
context "when neither thin nor puma present in Gemfile" do
|
1624
1626
|
it "should show that necessary gem doesn't exist" do
|
1625
1627
|
Bundler::Definition.stub_chain(:build, :specs, :map).and_return([])
|
1626
|
-
$stdout.should_receive(:puts).with(" #{
|
1628
|
+
$stdout.should_receive(:puts).with(" #{red("✗")} Missing web server gem in Gemfile. Currently supported: 'thin' and 'puma'")
|
1629
|
+
invoke(@main, :check)
|
1630
|
+
end
|
1631
|
+
end
|
1632
|
+
end
|
1633
|
+
|
1634
|
+
context "gemfile ruby version" do
|
1635
|
+
context "ruby engine" do
|
1636
|
+
context "supported version" do
|
1637
|
+
it "should show checked message" do
|
1638
|
+
Bundler::Definition.stub_chain(:build, :ruby_version).
|
1639
|
+
and_return(mock(:engine => 'ruby', :version => '1.9.2'))
|
1640
|
+
|
1641
|
+
$stdout.should_receive(:puts).with(" #{green("✓")} ruby 1.9.2 is supported")
|
1642
|
+
invoke(@main, :check)
|
1643
|
+
end
|
1644
|
+
end
|
1645
|
+
|
1646
|
+
context "unsupported version" do
|
1647
|
+
it "should show error message" do
|
1648
|
+
Bundler::Definition.stub_chain(:build, :ruby_version).
|
1649
|
+
and_return(mock(:engine => 'ruby', :version => '1.8.7'))
|
1650
|
+
|
1651
|
+
$stdout.should_receive(:puts).with(" #{red("✗")} ruby 1.8.7 is currently unsupported\n See more at https://shellycloud.com/documentation/requirements#ruby_versions")
|
1652
|
+
invoke(@main, :check)
|
1653
|
+
end
|
1654
|
+
end
|
1655
|
+
end
|
1656
|
+
|
1657
|
+
context "jruby engine" do
|
1658
|
+
context "supported version" do
|
1659
|
+
it "should show checked message" do
|
1660
|
+
Bundler::Definition.stub_chain(:build, :ruby_version).
|
1661
|
+
and_return(mock(:engine => 'jruby', :version => '1.9.3', :engine_version => '1.7.8'))
|
1662
|
+
|
1663
|
+
$stdout.should_receive(:puts).with(" #{green("✓")} jruby 1.7.8 (1.9 mode) is supported")
|
1664
|
+
invoke(@main, :check)
|
1665
|
+
end
|
1666
|
+
end
|
1667
|
+
|
1668
|
+
context "unsupported version" do
|
1669
|
+
it "should show error message - ruby version" do
|
1670
|
+
Bundler::Definition.stub_chain(:build, :ruby_version).
|
1671
|
+
and_return(mock(:engine => 'jruby', :version => '1.8.7', :engine_version => '1.7.8'))
|
1672
|
+
|
1673
|
+
$stdout.should_receive(:puts).with(" #{red("✗")} Only jruby 1.7.8 (1.9 mode) is currently supported\n See more at https://shellycloud.com/documentation/requirements#ruby_versions")
|
1674
|
+
invoke(@main, :check)
|
1675
|
+
end
|
1676
|
+
|
1677
|
+
it "should show error message - engine version" do
|
1678
|
+
Bundler::Definition.stub_chain(:build, :ruby_version).
|
1679
|
+
and_return(mock(:engine => 'jruby', :version => '1.9.3', :engine_version => '1.7.3'))
|
1680
|
+
|
1681
|
+
$stdout.should_receive(:puts).with(" #{red("✗")} Only jruby 1.7.8 (1.9 mode) is currently supported\n See more at https://shellycloud.com/documentation/requirements#ruby_versions")
|
1682
|
+
invoke(@main, :check)
|
1683
|
+
end
|
1684
|
+
end
|
1685
|
+
end
|
1686
|
+
|
1687
|
+
context "patchlevel version" do
|
1688
|
+
it "should show unsupported error message" do
|
1689
|
+
Bundler::Definition.stub_chain(:build, :ruby_version).
|
1690
|
+
and_return(mock(:engine => 'ruby', :version => '1.9.3', :patchlevel => '111'))
|
1691
|
+
|
1692
|
+
$stdout.should_receive(:puts).with(" #{red("✗")} Remove Ruby patchlevel from Gemfile\n Shelly Cloud takes care of upgrading Rubies whenever they are released\n See more at https://shellycloud.com/documentation/requirements#ruby_versions")
|
1693
|
+
invoke(@main, :check)
|
1694
|
+
end
|
1695
|
+
end
|
1696
|
+
|
1697
|
+
context "other engines" do
|
1698
|
+
it "should show unsupported error message" do
|
1699
|
+
Bundler::Definition.stub_chain(:build, :ruby_version).
|
1700
|
+
and_return(mock(:engine => 'rbx', :version => '1.9.2'))
|
1701
|
+
|
1702
|
+
$stdout.should_receive(:puts).with(" #{red("✗")} Your ruby engine: rbx is currently unsupported\n See more at https://shellycloud.com/documentation/requirements#ruby_versions")
|
1627
1703
|
invoke(@main, :check)
|
1628
1704
|
end
|
1629
1705
|
end
|
@@ -1770,7 +1846,7 @@ Wait until cloud is in 'turned off' state and try again.")
|
|
1770
1846
|
|
1771
1847
|
it "should show that necessary gem exists" do
|
1772
1848
|
Bundler::Definition.stub_chain(:build, :specs, :map).and_return(["thin"])
|
1773
|
-
$stdout.should_receive(:puts).with(" #{green("✓")} Web server gem 'thin' is present")
|
1849
|
+
$stdout.should_receive(:puts).with(" #{green("✓")} Web server gem 'thin' is present for 'foo-staging' cloud")
|
1774
1850
|
invoke(@main, :check)
|
1775
1851
|
end
|
1776
1852
|
end
|
@@ -1784,7 +1860,7 @@ Wait until cloud is in 'turned off' state and try again.")
|
|
1784
1860
|
|
1785
1861
|
it "should show that necessary gem exists" do
|
1786
1862
|
Bundler::Definition.stub_chain(:build, :specs, :map).and_return(["puma"])
|
1787
|
-
$stdout.should_receive(:puts).with(" #{green("✓")} Web server gem 'puma' is present")
|
1863
|
+
$stdout.should_receive(:puts).with(" #{green("✓")} Web server gem 'puma' is present for 'foo-staging' cloud")
|
1788
1864
|
invoke(@main, :check)
|
1789
1865
|
end
|
1790
1866
|
end
|
metadata
CHANGED
@@ -1,181 +1,209 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shelly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.19
|
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-12-
|
11
|
+
date: 2013-12-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
+
type: :development
|
15
|
+
prerelease: false
|
14
16
|
name: rspec
|
15
|
-
|
17
|
+
version_requirements: !ruby/object:Gem::Requirement
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: 2.11.0
|
20
|
-
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
requirement: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 2.11.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
+
type: :development
|
29
|
+
prerelease: false
|
28
30
|
name: rake
|
31
|
+
version_requirements: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - ! '>='
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '0'
|
29
36
|
requirement: !ruby/object:Gem::Requirement
|
30
37
|
requirements:
|
31
|
-
- - '>='
|
38
|
+
- - ! '>='
|
32
39
|
- !ruby/object:Gem::Version
|
33
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
34
42
|
type: :development
|
35
43
|
prerelease: false
|
44
|
+
name: simplecov
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
38
|
-
- - '>='
|
47
|
+
- - ! '>='
|
39
48
|
- !ruby/object:Gem::Version
|
40
49
|
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: simplecov
|
43
50
|
requirement: !ruby/object:Gem::Requirement
|
44
51
|
requirements:
|
45
|
-
- - '>='
|
52
|
+
- - ! '>='
|
46
53
|
- !ruby/object:Gem::Version
|
47
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
48
56
|
type: :development
|
49
57
|
prerelease: false
|
58
|
+
name: ruby_gntp
|
50
59
|
version_requirements: !ruby/object:Gem::Requirement
|
51
60
|
requirements:
|
52
|
-
- - '>='
|
61
|
+
- - ! '>='
|
53
62
|
- !ruby/object:Gem::Version
|
54
63
|
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: fakefs
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
58
65
|
requirements:
|
59
|
-
- - '>='
|
66
|
+
- - ! '>='
|
60
67
|
- !ruby/object:Gem::Version
|
61
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
62
70
|
type: :development
|
63
71
|
prerelease: false
|
72
|
+
name: rb-fsevent
|
64
73
|
version_requirements: !ruby/object:Gem::Requirement
|
65
74
|
requirements:
|
66
|
-
- - '>='
|
75
|
+
- - ! '>='
|
67
76
|
- !ruby/object:Gem::Version
|
68
77
|
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: fakeweb
|
71
78
|
requirement: !ruby/object:Gem::Requirement
|
72
79
|
requirements:
|
73
|
-
- - '>='
|
80
|
+
- - ! '>='
|
74
81
|
- !ruby/object:Gem::Version
|
75
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
76
84
|
type: :development
|
77
85
|
prerelease: false
|
86
|
+
name: fakefs
|
78
87
|
version_requirements: !ruby/object:Gem::Requirement
|
79
88
|
requirements:
|
80
|
-
- - '>='
|
89
|
+
- - ! '>='
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '0'
|
92
|
+
requirement: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ! '>='
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
|
-
|
98
|
+
type: :development
|
99
|
+
prerelease: false
|
100
|
+
name: fakeweb
|
101
|
+
version_requirements: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - ! '>='
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '0'
|
85
106
|
requirement: !ruby/object:Gem::Requirement
|
86
107
|
requirements:
|
87
|
-
- -
|
108
|
+
- - ! '>='
|
88
109
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
90
112
|
type: :runtime
|
91
113
|
prerelease: false
|
114
|
+
name: wijet-thor
|
92
115
|
version_requirements: !ruby/object:Gem::Requirement
|
93
116
|
requirements:
|
94
117
|
- - ~>
|
95
118
|
- !ruby/object:Gem::Version
|
96
119
|
version: 0.14.10
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: rest-client
|
99
120
|
requirement: !ruby/object:Gem::Requirement
|
100
121
|
requirements:
|
101
|
-
- -
|
122
|
+
- - ~>
|
102
123
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
124
|
+
version: 0.14.10
|
125
|
+
- !ruby/object:Gem::Dependency
|
104
126
|
type: :runtime
|
105
127
|
prerelease: false
|
128
|
+
name: rest-client
|
106
129
|
version_requirements: !ruby/object:Gem::Requirement
|
107
130
|
requirements:
|
108
|
-
- - '>='
|
131
|
+
- - ! '>='
|
109
132
|
- !ruby/object:Gem::Version
|
110
133
|
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: mime-types
|
113
134
|
requirement: !ruby/object:Gem::Requirement
|
114
135
|
requirements:
|
115
|
-
- -
|
136
|
+
- - ! '>='
|
116
137
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
118
140
|
type: :runtime
|
119
141
|
prerelease: false
|
142
|
+
name: mime-types
|
120
143
|
version_requirements: !ruby/object:Gem::Requirement
|
121
144
|
requirements:
|
122
145
|
- - ~>
|
123
146
|
- !ruby/object:Gem::Version
|
124
147
|
version: '1.16'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: json
|
127
148
|
requirement: !ruby/object:Gem::Requirement
|
128
149
|
requirements:
|
129
|
-
- -
|
150
|
+
- - ~>
|
130
151
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
152
|
+
version: '1.16'
|
153
|
+
- !ruby/object:Gem::Dependency
|
132
154
|
type: :runtime
|
133
155
|
prerelease: false
|
156
|
+
name: json
|
134
157
|
version_requirements: !ruby/object:Gem::Requirement
|
135
158
|
requirements:
|
136
|
-
- - '>='
|
159
|
+
- - ! '>='
|
137
160
|
- !ruby/object:Gem::Version
|
138
161
|
version: '0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: progressbar
|
141
162
|
requirement: !ruby/object:Gem::Requirement
|
142
163
|
requirements:
|
143
|
-
- - '>='
|
164
|
+
- - ! '>='
|
144
165
|
- !ruby/object:Gem::Version
|
145
166
|
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
146
168
|
type: :runtime
|
147
169
|
prerelease: false
|
170
|
+
name: progressbar
|
148
171
|
version_requirements: !ruby/object:Gem::Requirement
|
149
172
|
requirements:
|
150
|
-
- - '>='
|
173
|
+
- - ! '>='
|
151
174
|
- !ruby/object:Gem::Version
|
152
175
|
version: '0'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: launchy
|
155
176
|
requirement: !ruby/object:Gem::Requirement
|
156
177
|
requirements:
|
157
|
-
- - '>='
|
178
|
+
- - ! '>='
|
158
179
|
- !ruby/object:Gem::Version
|
159
180
|
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
160
182
|
type: :runtime
|
161
183
|
prerelease: false
|
184
|
+
name: launchy
|
162
185
|
version_requirements: !ruby/object:Gem::Requirement
|
163
186
|
requirements:
|
164
|
-
- - '>='
|
187
|
+
- - ! '>='
|
165
188
|
- !ruby/object:Gem::Version
|
166
189
|
version: '0'
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: netrc
|
169
190
|
requirement: !ruby/object:Gem::Requirement
|
170
191
|
requirements:
|
171
|
-
- - '>='
|
192
|
+
- - ! '>='
|
172
193
|
- !ruby/object:Gem::Version
|
173
194
|
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
174
196
|
type: :runtime
|
175
197
|
prerelease: false
|
198
|
+
name: netrc
|
176
199
|
version_requirements: !ruby/object:Gem::Requirement
|
177
200
|
requirements:
|
178
|
-
- - '>='
|
201
|
+
- - ! '>='
|
202
|
+
- !ruby/object:Gem::Version
|
203
|
+
version: '0'
|
204
|
+
requirement: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ! '>='
|
179
207
|
- !ruby/object:Gem::Version
|
180
208
|
version: '0'
|
181
209
|
description: Tool for managing applications and clouds at shellycloud.com
|
@@ -282,18 +310,44 @@ require_paths:
|
|
282
310
|
- lib
|
283
311
|
required_ruby_version: !ruby/object:Gem::Requirement
|
284
312
|
requirements:
|
285
|
-
- - '>='
|
313
|
+
- - ! '>='
|
286
314
|
- !ruby/object:Gem::Version
|
287
315
|
version: '0'
|
288
316
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
289
317
|
requirements:
|
290
|
-
- - '>='
|
318
|
+
- - ! '>='
|
291
319
|
- !ruby/object:Gem::Version
|
292
320
|
version: '0'
|
293
321
|
requirements: []
|
294
322
|
rubyforge_project: shelly
|
295
|
-
rubygems_version: 2.1.
|
323
|
+
rubygems_version: 2.1.5
|
296
324
|
signing_key:
|
297
325
|
specification_version: 4
|
298
326
|
summary: Shelly Cloud command line tool
|
299
|
-
test_files:
|
327
|
+
test_files:
|
328
|
+
- spec/helpers.rb
|
329
|
+
- spec/input_faker.rb
|
330
|
+
- spec/shelly/app_spec.rb
|
331
|
+
- spec/shelly/backup_spec.rb
|
332
|
+
- spec/shelly/cli/backup_spec.rb
|
333
|
+
- spec/shelly/cli/cert_spec.rb
|
334
|
+
- spec/shelly/cli/config_spec.rb
|
335
|
+
- spec/shelly/cli/database_spec.rb
|
336
|
+
- spec/shelly/cli/deploy_spec.rb
|
337
|
+
- spec/shelly/cli/file_spec.rb
|
338
|
+
- spec/shelly/cli/logs_spec.rb
|
339
|
+
- spec/shelly/cli/main_spec.rb
|
340
|
+
- spec/shelly/cli/organization_spec.rb
|
341
|
+
- spec/shelly/cli/runner_spec.rb
|
342
|
+
- spec/shelly/cli/user_spec.rb
|
343
|
+
- spec/shelly/client_spec.rb
|
344
|
+
- spec/shelly/cloudfile_spec.rb
|
345
|
+
- spec/shelly/download_progress_bar_spec.rb
|
346
|
+
- spec/shelly/model_spec.rb
|
347
|
+
- spec/shelly/organization_spec.rb
|
348
|
+
- spec/shelly/ssh_key_spec.rb
|
349
|
+
- spec/shelly/ssh_keys_spec.rb
|
350
|
+
- spec/shelly/structure_validator_spec.rb
|
351
|
+
- spec/shelly/user_spec.rb
|
352
|
+
- spec/spec_helper.rb
|
353
|
+
- spec/thor/options_spec.rb
|