shelly 0.4.18 → 0.4.19

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 0e096d721714633a31e9f27597281ac05529cd3d
4
- data.tar.gz: d679baa8bd677204515e5ff42d54d07ad0ac436b
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ YjNhNzAxMmI5MDcwMTQ5ZTg0Mzg0MGQ5MmQ5ZWEwM2JmYTY1Y2VlYQ==
5
+ data.tar.gz: !binary |-
6
+ NzUyMDQ4OTRhMjE1ODMxMTY0ODJhNTY1ZTVmZGQxNThmOWIxNmQyNg==
5
7
  SHA512:
6
- metadata.gz: 260dbf9bc61c1bbe9b7c0e3e134c94a82d3a543120aed4b9a6fb199c7b314eceec0e625244b96dc28dbdcf0584ac207ff7486d6194eebee1335cf237ec32acd3
7
- data.tar.gz: e6c665a276d89d14fef5f60d8065282e08b4649bf2011af03cd3634ba553af3da4f563cda26de8efaf8114c2d20adda48fa1c973659af9883bab513abd6b3bb1
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 = jruby? ? 'jruby' : response["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
@@ -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] KEY_PATH", "Add certificate to your cloud"
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] key", "Update current certificate"
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
@@ -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, :failure_level => :warning)
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")
@@ -1,3 +1,3 @@
1
1
  module Shelly
2
- VERSION = "0.4.18"
2
+ VERSION = "0.4.19"
3
3
  end
@@ -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
- it "should assign jruby as ruby_version if gem is running under jruby" do
352
- @client.stub(:create_app).and_return("git_url" => nil,
353
- "domains" => nil, "environment" => nil, "ruby_version" => "1.9.2")
354
- stub_const('RUBY_PLATFORM', 'java')
355
- @app.create
356
- @app.ruby_version.should == "jruby"
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(" #{yellow("ϟ")} Missing web server gem in Gemfile. Currently supported: 'thin' and 'puma'")
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.18
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-17 00:00:00.000000000 Z
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
- requirement: !ruby/object:Gem::Requirement
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
- type: :development
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
- name: wijet-thor
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.14.10
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: '0'
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: '1.16'
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: '0'
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.11
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