shelly 0.0.46.pre2 → 0.0.46.pre3

Sign up to get free protection for your applications and to get access to all the features.
data/lib/shelly/app.rb CHANGED
@@ -147,12 +147,7 @@ module Shelly
147
147
  file_name_or_code
148
148
  end
149
149
 
150
- response = shelly.command(code_name, code, :ruby)
151
- response["result"]
152
- end
153
-
154
- def rake(task)
155
- response = shelly.command(code_name, task, :rake)
150
+ response = shelly.run(code_name, code)
156
151
  response["result"]
157
152
  end
158
153
 
@@ -13,12 +13,12 @@ module Shelly
13
13
  register(Backup, "backup", "backup <command>", "Manage database backups")
14
14
  register(Deploys, "deploys", "deploys <command>", "View deploy logs")
15
15
  register(Config, "config", "config <command>", "Manage application configuration files")
16
- check_unknown_options!(:except => :rake)
16
+ check_unknown_options!
17
17
 
18
18
  # FIXME: it should be possible to pass single symbol, instead of one element array
19
- before_hook :logged_in?, :only => [:add, :list, :start, :stop, :logs, :delete, :ip, :logout, :execute, :rake]
19
+ before_hook :logged_in?, :only => [:add, :list, :start, :stop, :logs, :delete, :ip, :logout, :execute]
20
20
  before_hook :inside_git_repository?, :only => [:add]
21
- before_hook :cloudfile_present?, :only => [:logs, :stop, :start, :ip, :execute, :rake]
21
+ before_hook :cloudfile_present?, :only => [:logs, :stop, :start, :ip]
22
22
 
23
23
  map %w(-v --version) => :version
24
24
  desc "version", "Display shelly version"
@@ -29,26 +29,21 @@ module Shelly
29
29
  desc "register [EMAIL]", "Register new account"
30
30
  def register(email = nil)
31
31
  user = Shelly::User.new
32
- user.ssh_key_registered?
33
32
  say "Registering with email: #{email}" if email
34
33
  user.email = (email || ask_for_email)
35
34
  user.password = ask_for_password
36
35
  user.register
37
36
  if user.ssh_key_exists?
38
37
  say "Uploading your public SSH key from #{user.ssh_key_path}"
38
+ else
39
+ say_error "No such file or directory - #{user.ssh_key_path}", :with_exit => false
40
+ say_error "Use ssh-keygen to generate ssh key pair, after that use: `shelly login`", :with_exit => false
39
41
  end
40
42
  say "Successfully registered!"
41
43
  say "Check you mailbox for email address confirmation"
42
44
  rescue Client::ValidationException => e
43
45
  e.each_error { |error| say_error "#{error}", :with_exit => false }
44
46
  exit 1
45
- rescue Client::ConflictException
46
- say_error "User with your ssh key already exists.", :with_exit => false
47
- say_error "You can login using: shelly login [EMAIL]", :with_exit => false
48
- exit 1
49
- rescue Errno::ENOENT => e
50
- say_error e, :with_exit => false
51
- say_error "Use ssh-keygen to generate ssh key pair"
52
47
  end
53
48
 
54
49
  desc "login [EMAIL]", "Log into Shelly Cloud"
@@ -236,8 +231,9 @@ module Shelly
236
231
  say "You have been successfully logged out" if user.delete_credentials
237
232
  end
238
233
 
239
- desc "execute CODE", "Run code on one of application servers"
240
- method_option :cloud, :type => :string, :aliases => "-c", :desc => "Specify cloud"
234
+ desc "execute [CODE]", "Run code on one of application servers"
235
+ method_option :cloud, :type => :string, :aliases => "-c",
236
+ :desc => "Specify which cloud to run code for"
241
237
  long_desc "Run code given in parameter on one of application servers. If a file name is given, run contents of that file."
242
238
  def execute(file_name_or_code)
243
239
  cloud = options[:cloud]
@@ -254,18 +250,6 @@ module Shelly
254
250
  end
255
251
  end
256
252
 
257
- desc "rake TASK", "Run rake task"
258
- method_option :cloud, :type => :string, :aliases => "-c", :desc => "Specify cloud"
259
- def rake(task = nil)
260
- task = rake_args.join(" ")
261
- multiple_clouds(options[:cloud], "rake #{task}")
262
- result = @app.rake(task)
263
- say result
264
- rescue Client::APIException => e
265
- raise unless e[:message] == "App not running"
266
- say_error "Cloud #{@app} is not running. Cannot run rake task."
267
- end
268
-
269
253
  desc "redeploy", "Redeploy application"
270
254
  method_option :cloud, :type => :string, :aliases => "-c",
271
255
  :desc => "Specify which cloud to redeploy application for"
@@ -290,23 +274,6 @@ module Shelly
290
274
 
291
275
  # FIXME: move to helpers
292
276
  no_tasks do
293
- # Returns valid arguments for rake, removes shelly gem arguments
294
- def rake_args(args = ARGV)
295
- skip_next = false
296
- [].tap do |out|
297
- args.each do |arg|
298
- case arg
299
- when "rake", "--debug"
300
- when "--cloud", "-c"
301
- skip_next = true
302
- else
303
- out << arg unless skip_next
304
- skip_next = false
305
- end
306
- end
307
- end
308
- end
309
-
310
277
  def check_options(options)
311
278
  unless options.empty?
312
279
  unless ["code-name", "databases", "domains"].all? do |option|
data/lib/shelly/client.rb CHANGED
@@ -115,8 +115,8 @@ module Shelly
115
115
  get("/apps/#{code_name}")
116
116
  end
117
117
 
118
- def command(cloud, body, type)
119
- post("/apps/#{cloud}/command", {:body => body, :type => type})
118
+ def run(cloud, code)
119
+ post("/apps/#{cloud}/run", :body => code)
120
120
  end
121
121
 
122
122
  def deploy_logs(cloud)
@@ -147,10 +147,6 @@ module Shelly
147
147
  post("/apps/#{code_name}/database_backups", :kind => kind)
148
148
  end
149
149
 
150
- def ssh_key_available?(ssh_key)
151
- get("/users/new", :ssh_key => ssh_key)
152
- end
153
-
154
150
  def app_users(cloud)
155
151
  get("/apps/#{cloud}/users")
156
152
  end
data/lib/shelly/user.rb CHANGED
@@ -60,11 +60,6 @@ module Shelly
60
60
  File.expand_path("~/.ssh/id_rsa.pub")
61
61
  end
62
62
 
63
- def ssh_key_registered?
64
- ssh_key = File.read(ssh_key_path).strip
65
- shelly.ssh_key_available?(ssh_key)
66
- end
67
-
68
63
  def self.guess_email
69
64
  @@guess_email ||= IO.popen("git config --get user.email").read.strip
70
65
  end
@@ -1,3 +1,3 @@
1
1
  module Shelly
2
- VERSION = "0.0.46.pre2"
2
+ VERSION = "0.0.46.pre3"
3
3
  end
@@ -293,28 +293,21 @@ config
293
293
  @response = {
294
294
  "result" => "4"
295
295
  }
296
- @client.stub(:command).and_return(@response)
296
+ @client.stub(:run).and_return(@response)
297
297
  File.open("to_run.rb", 'w') {|f| f.write("User.count\n") }
298
298
  end
299
299
 
300
300
  it "should return result of executed code" do
301
- @client.should_receive(:command).with("foo-staging", "2 + 2", :ruby)
301
+ @client.should_receive(:run).with("foo-staging", "2 + 2")
302
302
  @app.run("2 + 2").should == "4"
303
303
  end
304
304
 
305
305
  it "should send contents of file when file exists" do
306
- @client.should_receive(:command).with("foo-staging", "User.count\n", :ruby)
306
+ @client.should_receive(:run).with("foo-staging", "User.count\n")
307
307
  @app.run("to_run.rb")
308
308
  end
309
309
  end
310
310
 
311
- describe "#rake" do
312
- it "should return result of rake task" do
313
- @client.should_receive(:command).with("foo-staging", "db:create", :rake).and_return({"result" => "OK"})
314
- @app.rake("db:create").should == "OK"
315
- end
316
- end
317
-
318
311
  describe "#to_s" do
319
312
  it "should return code_name" do
320
313
  @app.to_s.should == "foo-staging"
@@ -29,14 +29,13 @@ Tasks:
29
29
  shelly config <command> # Manage application configuration files
30
30
  shelly delete # Delete the cloud
31
31
  shelly deploys <command> # View deploy logs
32
- shelly execute CODE # Run code on one of application servers
32
+ shelly execute [CODE] # Run code on one of application servers
33
33
  shelly help [TASK] # Describe available tasks or one specific task
34
34
  shelly ip # List cloud's IP addresses
35
35
  shelly list # List available clouds
36
36
  shelly login [EMAIL] # Log into Shelly Cloud
37
37
  shelly logout # Logout from Shelly Cloud
38
38
  shelly logs # Show latest application logs
39
- shelly rake TASK # Run rake task
40
39
  shelly redeploy # Redeploy application
41
40
  shelly register [EMAIL] # Register new account
42
41
  shelly start # Start the cloud
@@ -78,23 +77,14 @@ OUT
78
77
  Shelly::User.stub(:new).and_return(@user)
79
78
  end
80
79
 
81
- it "should return false if ssh key don't exist on local hard drive" do
80
+ it "should register user without local SSH Key and show message to create SSH Key" do
82
81
  FileUtils.rm_rf(@key_path)
83
82
  File.exists?(@key_path).should be_false
84
- $stdout.should_receive(:puts).with("\e[31mNo such file or directory - " + @key_path + "\e[0m")
85
- $stdout.should_receive(:puts).with("\e[31mUse ssh-keygen to generate ssh key pair\e[0m")
86
- lambda {
87
- invoke(@main, :register)
88
- }.should raise_error(SystemExit)
89
- end
90
-
91
- it "should check ssh key in database" do
92
- @user.stub(:ssh_key_registered?).and_raise(Shelly::Client::ConflictException.new)
93
- $stdout.should_receive(:puts).with("\e[31mUser with your ssh key already exists.\e[0m")
94
- $stdout.should_receive(:puts).with("\e[31mYou can login using: shelly login [EMAIL]\e[0m")
95
- lambda {
83
+ $stdout.should_receive(:puts).with(red "No such file or directory - #{@key_path}")
84
+ $stdout.should_receive(:puts).with(red "Use ssh-keygen to generate ssh key pair, after that use: `shelly login`")
85
+ fake_stdin(["better@example.com", "secret", "secret"]) do
96
86
  invoke(@main, :register)
97
- }.should raise_error(SystemExit)
87
+ end
98
88
  end
99
89
 
100
90
  it "should ask for email, password and password confirmation" do
@@ -943,13 +933,9 @@ OUT
943
933
  hooks(@main, :execute).should include(:logged_in?)
944
934
  end
945
935
 
946
- it "should ensure cloudfile present" do
947
- hooks(@main, :execute).should include(:cloudfile_present?)
948
- end
949
-
950
936
  context "single cloud in Cloudfile" do
951
937
  it "should execute code for the cloud" do
952
- @client.should_receive(:command).with("foo-production", "User.count", :ruby).
938
+ @client.should_receive(:run).with("foo-production", "User.count").
953
939
  and_return({"result" => "3"})
954
940
  $stdout.should_receive(:puts).with("3")
955
941
  invoke(@main, :execute, "to_execute.rb")
@@ -974,7 +960,7 @@ OUT
974
960
  end
975
961
 
976
962
  it "should fetch from command line which cloud to start" do
977
- @client.should_receive(:command).with("foo-staging", "User.count", :ruby).
963
+ @client.should_receive(:run).with("foo-staging", "User.count").
978
964
  and_return({"result" => "3"})
979
965
  $stdout.should_receive(:puts).with("3")
980
966
  @main.options = {:cloud => "foo-staging"}
@@ -982,7 +968,7 @@ OUT
982
968
  end
983
969
 
984
970
  it "should run code when no file from parameter is found" do
985
- @client.should_receive(:command).with("foo-staging", "2 + 2", :ruby).
971
+ @client.should_receive(:run).with("foo-staging", "2 + 2").
986
972
  and_return({"result" => "4"})
987
973
  $stdout.should_receive(:puts).with("4")
988
974
  @main.options = {:cloud => "foo-staging"}
@@ -990,9 +976,9 @@ OUT
990
976
  end
991
977
  end
992
978
 
993
- context "cloud is not in running state" do
979
+ context "cloud is not running" do
994
980
  it "should print error" do
995
- @client.should_receive(:command).with("foo-staging", "2 + 2", :ruby).
981
+ @client.should_receive(:run).with("foo-staging", "2 + 2").
996
982
  and_raise(Shelly::Client::APIException.new(
997
983
  {"message" => "App not running"}, 504))
998
984
  $stdout.should_receive(:puts).
@@ -1000,92 +986,12 @@ OUT
1000
986
  @main.options = {:cloud => "foo-staging"}
1001
987
  lambda { invoke(@main, :execute, "2 + 2") }.should raise_error(SystemExit)
1002
988
  end
1003
- end
1004
- end
1005
-
1006
- describe "#rake" do
1007
- before do
1008
- FileUtils.mkdir_p("/projects/foo")
1009
- Dir.chdir("/projects/foo")
1010
- File.open("Cloudfile", 'w') {|f| f.write("foo-production:\n") }
1011
- @user = Shelly::User.new
1012
- @user.stub(:token)
1013
- Shelly::User.stub(:new).and_return(@user)
1014
- @app = Shelly::App.new
1015
- Shelly::App.stub(:new).and_return(@app)
1016
- @main.stub(:rake_args).and_return(%w(db:migrate))
1017
- end
1018
989
 
1019
- it "should ensure user has logged in" do
1020
- hooks(@main, :rake).should include(:logged_in?)
1021
- end
1022
-
1023
- it "should ensure cloudfile present" do
1024
- hooks(@main, :execute).should include(:cloudfile_present?)
1025
- end
1026
-
1027
- it "should invoke :command on app with rake task" do
1028
- @client.should_receive(:command).with("foo-production", "db:migrate", :rake).and_return("result" => "OK")
1029
- $stdout.should_receive(:puts).with("OK")
1030
- invoke(@main, :rake, "db:migrate")
1031
- end
1032
-
1033
- it "should pass rake arguments to the client" do
1034
- @main.stub(:rake_args).and_return(%w(-T db:schema))
1035
- @client.should_receive(:command).with("foo-production", "-T db:schema", :rake).and_return("result" => "OK")
1036
- $stdout.should_receive(:puts).with("OK")
1037
- invoke(@main, :rake, nil)
1038
- end
1039
-
1040
- describe "#rake_args" do
1041
- before { @main.unstub!(:rake_args) }
1042
-
1043
- it "should return Array of rake arguments (skipping shelly gem arguments)" do
1044
- argv = %w(rake -T db --cloud foo-production --debug)
1045
- @main.rake_args(argv).should == %w(-T db)
1046
- end
1047
-
1048
- it "should take ARGV as default default argument" do
1049
- # Rather poor, I test if method without args returns the same as method with ARGV
1050
- @main.rake_args.should == @main.rake_args(ARGV)
1051
- end
1052
- end
1053
-
1054
- context "cloud is not in running state" do
1055
- it "should print error" do
1056
- @client.should_receive(:command).with("foo-staging", "db:migrate", :rake).
1057
- and_raise(Shelly::Client::APIException.new(
1058
- {"message" => "App not running"}, 504))
1059
- $stdout.should_receive(:puts).
1060
- with(red "Cloud foo-staging is not running. Cannot run rake task.")
1061
- @main.options = {:cloud => "foo-staging"}
1062
- lambda { invoke(@main, :rake, "db:migrate") }.should raise_error(SystemExit)
1063
- end
1064
- end
1065
-
1066
- context "multiple clouds in Cloudfile" do
1067
- before do
1068
- File.open("Cloudfile", 'w') {|f|
1069
- f.write("foo-staging:\nfoo-production:\n") }
1070
- end
1071
-
1072
- it "should show information to run rake task for specific cloud and exit" do
1073
- $stdout.should_receive(:puts).
1074
- with(red "You have multiple clouds in Cloudfile.")
1075
- $stdout.should_receive(:puts).
1076
- with("Select cloud using `shelly rake db:migrate --cloud foo-production`")
1077
- $stdout.should_receive(:puts).with("Available clouds:")
1078
- $stdout.should_receive(:puts).with(" * foo-production")
1079
- $stdout.should_receive(:puts).with(" * foo-staging")
1080
- lambda { invoke(@main, :rake, "db:migrate") }.should raise_error(SystemExit)
1081
- end
1082
-
1083
- it "should fetch from command line for which cloud run rake task" do
1084
- @client.should_receive(:command).with("foo-staging", "db:migrate", :rake).
1085
- and_return({"result" => "3"})
1086
- $stdout.should_receive(:puts).with("3")
990
+ it "should re-raise other exceptions" do
991
+ @client.should_receive(:run).with("foo-staging", "2 + 2").
992
+ and_raise(Exception)
1087
993
  @main.options = {:cloud => "foo-staging"}
1088
- invoke(@main, :rake, "db:migrate")
994
+ lambda { invoke(@main, :execute, "2 + 2") }.should raise_error(Exception)
1089
995
  end
1090
996
  end
1091
997
  end
@@ -188,11 +188,11 @@ describe Shelly::Client do
188
188
  end
189
189
  end
190
190
 
191
- describe "#command" do
192
- it "should send post request with app code_name, body and type" do
193
- @client.should_receive(:post).with("/apps/staging-foo/command",
194
- {:body => "2 + 2", :type => :ruby}).and_return({"result" => "4"})
195
- response = @client.command("staging-foo", "2 + 2", :ruby)
191
+ describe "#run" do
192
+ it "should send post request with app code_name and code" do
193
+ FakeWeb.register_uri(:post, api_url("apps/staging-foo/run"),
194
+ :body => {:result => "4"}.to_json)
195
+ response = @client.run("staging-foo", "2 + 2")
196
196
  response.should == {"result" => "4"}
197
197
  end
198
198
  end
@@ -244,13 +244,6 @@ describe Shelly::Client do
244
244
  end
245
245
  end
246
246
 
247
- describe "#ssh_key_available?" do
248
- it "should send get request with ssh key" do
249
- @client.should_receive(:get).with("/users/new", {:ssh_key => "ssh-key Abb"})
250
- @client.ssh_key_available?("ssh-key Abb")
251
- end
252
- end
253
-
254
247
  describe "#database_backup" do
255
248
  it "should fetch backup description from API" do
256
249
  expected = {
@@ -123,13 +123,6 @@ describe Shelly::User do
123
123
  end
124
124
  end
125
125
 
126
- describe "#ssh_key_registered?" do
127
- it "should read and check if ssh key exists in database" do
128
- @client.should_receive(:ssh_key_available?).with('ssh-key AAbbcc')
129
- @user.ssh_key_registered?
130
- end
131
- end
132
-
133
126
  describe "#delete_ssh_key" do
134
127
  it "should invoke logout when ssh key exists" do
135
128
  @client.should_receive(:logout).with('ssh-key AAbbcc')
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.46.pre2
4
+ version: 0.0.46.pre3
5
5
  prerelease: 7
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-01-16 00:00:00.000000000Z
12
+ date: 2012-01-19 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70195901742100 !ruby/object:Gem::Requirement
16
+ requirement: &70197902930340 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70195901742100
24
+ version_requirements: *70197902930340
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70195901741680 !ruby/object:Gem::Requirement
27
+ requirement: &70197902929860 !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: *70195901741680
35
+ version_requirements: *70197902929860
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: guard
38
- requirement: &70195901741260 !ruby/object:Gem::Requirement
38
+ requirement: &70197902929420 !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: *70195901741260
46
+ version_requirements: *70197902929420
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: guard-rspec
49
- requirement: &70195901740840 !ruby/object:Gem::Requirement
49
+ requirement: &70197902929000 !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: *70195901740840
57
+ version_requirements: *70197902929000
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: simplecov
60
- requirement: &70195901740420 !ruby/object:Gem::Requirement
60
+ requirement: &70197902928580 !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: *70195901740420
68
+ version_requirements: *70197902928580
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: ruby_gntp
71
- requirement: &70195901739940 !ruby/object:Gem::Requirement
71
+ requirement: &70197902928120 !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: *70195901739940
79
+ version_requirements: *70197902928120
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rb-fsevent
82
- requirement: &70195901739480 !ruby/object:Gem::Requirement
82
+ requirement: &70197902927700 !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: *70195901739480
90
+ version_requirements: *70197902927700
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: fakefs
93
- requirement: &70195901738980 !ruby/object:Gem::Requirement
93
+ requirement: &70197902927280 !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: *70195901738980
101
+ version_requirements: *70197902927280
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: fakeweb
104
- requirement: &70195901738520 !ruby/object:Gem::Requirement
104
+ requirement: &70197902926860 !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: *70195901738520
112
+ version_requirements: *70197902926860
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: wijet-thor
115
- requirement: &70195901737780 !ruby/object:Gem::Requirement
115
+ requirement: &70197902912840 !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: *70195901737780
123
+ version_requirements: *70197902912840
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: rest-client
126
- requirement: &70195901735720 !ruby/object:Gem::Requirement
126
+ requirement: &70197902912420 !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: *70195901735720
134
+ version_requirements: *70197902912420
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: json
137
- requirement: &70195901735160 !ruby/object:Gem::Requirement
137
+ requirement: &70197902911960 !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: *70195901735160
145
+ version_requirements: *70197902911960
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: wijet-launchy
148
- requirement: &70195901711180 !ruby/object:Gem::Requirement
148
+ requirement: &70197902911500 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,10 +153,10 @@ dependencies:
153
153
  version: '0'
154
154
  type: :runtime
155
155
  prerelease: false
156
- version_requirements: *70195901711180
156
+ version_requirements: *70197902911500
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: progressbar
159
- requirement: &70195901710760 !ruby/object:Gem::Requirement
159
+ requirement: &70197902911060 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ! '>='
@@ -164,7 +164,7 @@ dependencies:
164
164
  version: '0'
165
165
  type: :runtime
166
166
  prerelease: false
167
- version_requirements: *70195901710760
167
+ version_requirements: *70197902911060
168
168
  description: Tool for managing applications and clouds at shellycloud.com
169
169
  email:
170
170
  - support@shellycloud.com