shelly 0.1.25 → 0.1.26
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/CHANGELOG.md +5 -1
- data/Guardfile +6 -0
- data/README.md +4 -0
- data/lib/shelly/cli/backup.rb +1 -1
- data/lib/shelly/cli/command.rb +1 -0
- data/lib/shelly/cli/main.rb +12 -15
- data/lib/shelly/version.rb +1 -1
- data/lib/thor/basic.rb +9 -0
- data/lib/thor/options.rb +3 -2
- data/lib/thor/thor.rb +4 -38
- data/shelly.gemspec +3 -1
- data/spec/shelly/cli/files_spec.rb +1 -0
- data/spec/shelly/cli/main_spec.rb +0 -14
- metadata +38 -4
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,8 @@
|
|
1
|
-
## 0.1.
|
1
|
+
## 0.1.26 / 2012-09-11
|
2
|
+
|
3
|
+
* [bug] Fixes -c/--cloud option bug in previous version
|
4
|
+
|
5
|
+
## 0.1.25 / 2012-09-11 - yanked
|
2
6
|
|
3
7
|
* [feature] `shelly check` checks gems based on Cloudfile
|
4
8
|
* [bug] Show 10 recent backups in `backup list` command, instead of the oldest
|
data/Guardfile
ADDED
data/README.md
CHANGED
data/lib/shelly/cli/backup.rb
CHANGED
data/lib/shelly/cli/command.rb
CHANGED
data/lib/shelly/cli/main.rb
CHANGED
@@ -19,6 +19,7 @@ module Shelly
|
|
19
19
|
|
20
20
|
check_unknown_options!(:except => :rake)
|
21
21
|
|
22
|
+
# FIXME: it should be possible to pass single symbol, instead of one element array
|
22
23
|
before_hook :logged_in?, :only => [:add, :status, :list, :start, :stop, :logs, :delete, :info, :ip, :logout, :execute, :rake, :setup, :console, :dbconsole]
|
23
24
|
before_hook :inside_git_repository?, :only => [:add, :setup, :check]
|
24
25
|
|
@@ -133,7 +134,7 @@ module Shelly
|
|
133
134
|
end
|
134
135
|
[app["code_name"], "| #{state.humanize}#{msg}"]
|
135
136
|
end
|
136
|
-
print_table(apps_table, :
|
137
|
+
print_table(apps_table, :ident => 2)
|
137
138
|
else
|
138
139
|
say "You have no clouds yet", :green
|
139
140
|
end
|
@@ -148,21 +149,21 @@ module Shelly
|
|
148
149
|
" (deployment log: `shelly deploys show last -c #{app}`)"
|
149
150
|
end
|
150
151
|
say "Cloud #{app}:", msg.present? ? :red : :green
|
151
|
-
print_wrapped "State: #{app.state}#{msg}", :
|
152
|
+
print_wrapped "State: #{app.state}#{msg}", :ident => 2
|
152
153
|
say_new_line
|
153
|
-
print_wrapped "Deployed commit sha: #{app.git_info["deployed_commit_sha"]}", :
|
154
|
-
print_wrapped "Deployed commit message: #{app.git_info["deployed_commit_message"]}", :
|
155
|
-
print_wrapped "Deployed by: #{app.git_info["deployed_push_author"]}", :
|
154
|
+
print_wrapped "Deployed commit sha: #{app.git_info["deployed_commit_sha"]}", :ident => 2
|
155
|
+
print_wrapped "Deployed commit message: #{app.git_info["deployed_commit_message"]}", :ident => 2
|
156
|
+
print_wrapped "Deployed by: #{app.git_info["deployed_push_author"]}", :ident => 2
|
156
157
|
say_new_line
|
157
|
-
print_wrapped "Repository URL: #{app.git_info["repository_url"]}", :
|
158
|
-
print_wrapped "Web server IP: #{app.web_server_ip}", :
|
158
|
+
print_wrapped "Repository URL: #{app.git_info["repository_url"]}", :ident => 2
|
159
|
+
print_wrapped "Web server IP: #{app.web_server_ip}", :ident => 2
|
159
160
|
say_new_line
|
160
161
|
if app.statistics.present?
|
161
|
-
print_wrapped "Statistics:", :
|
162
|
+
print_wrapped "Statistics:", :ident => 2
|
162
163
|
app.statistics.each do |stat|
|
163
|
-
print_wrapped "#{stat['name']}:", :
|
164
|
-
print_wrapped "Load average: 1m: #{stat['load']['avg01']}, 5m: #{stat['load']['avg05']}, 15m: #{stat['load']['avg15']}", :
|
165
|
-
print_wrapped "CPU: #{stat['cpu']['wait']}%, MEM: #{stat['memory']['percent']}%, SWAP: #{stat['swap']['percent']}%", :
|
164
|
+
print_wrapped "#{stat['name']}:", :ident => 4
|
165
|
+
print_wrapped "Load average: 1m: #{stat['load']['avg01']}, 5m: #{stat['load']['avg05']}, 15m: #{stat['load']['avg15']}", :ident => 6
|
166
|
+
print_wrapped "CPU: #{stat['cpu']['wait']}%, MEM: #{stat['memory']['percent']}%, SWAP: #{stat['swap']['percent']}%", :ident => 6
|
166
167
|
end
|
167
168
|
end
|
168
169
|
rescue Client::GatewayTimeoutException
|
@@ -429,10 +430,6 @@ We have been notified about it. We will be adding new resources shortly}
|
|
429
430
|
end
|
430
431
|
end
|
431
432
|
|
432
|
-
print_check(!structure.gem?("mysql") && !structure.gem?("mysql2"),"",
|
433
|
-
"mysql driver present in the Gemfile (not supported on Shelly Cloud)",
|
434
|
-
:show_fulfilled => false)
|
435
|
-
|
436
433
|
if structure.valid?
|
437
434
|
if verbose
|
438
435
|
say "\nGreat! Your application is ready to run on Shelly Cloud"
|
data/lib/shelly/version.rb
CHANGED
data/lib/thor/basic.rb
ADDED
data/lib/thor/options.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
class Thor
|
2
2
|
class Options < Arguments
|
3
|
+
|
3
4
|
def check_unknown!
|
4
|
-
unknown = @extra.select { |str| str =~ /^--?(?:(?!--).)*$/ }
|
5
5
|
raise UnknownArgumentError, "shelly: unrecognized option '#{@unknown.join(', ')}'\n" +
|
6
6
|
"Usage: shelly [COMMAND]... [OPTIONS]\n" +
|
7
|
-
"Try 'shelly --help' for more information" unless unknown.empty?
|
7
|
+
"Try 'shelly --help' for more information" unless @unknown.empty?
|
8
8
|
end
|
9
|
+
|
9
10
|
end
|
10
11
|
end
|
data/lib/thor/thor.rb
CHANGED
@@ -2,7 +2,7 @@ class Thor
|
|
2
2
|
class << self
|
3
3
|
def before_hook(method, options = {})
|
4
4
|
@hook = {} unless @hook
|
5
|
-
@hook[method] =
|
5
|
+
@hook[method] = options
|
6
6
|
end
|
7
7
|
|
8
8
|
def hooks
|
@@ -28,46 +28,12 @@ class Thor
|
|
28
28
|
rescue Thor::Error => e
|
29
29
|
ENV["THOR_DEBUG"] == "1" ? (raise e) : config[:shell].error(e.message)
|
30
30
|
exit(1) if exit_on_failure?
|
31
|
-
rescue Errno::EPIPE
|
32
|
-
# This happens if a thor task is piped to something like `head`,
|
33
|
-
# which closes the pipe when it's done reading. This will also
|
34
|
-
# mean that if the pipe is closed, further unnecessary
|
35
|
-
# computation will not occur.
|
36
|
-
exit(0)
|
37
31
|
end
|
38
32
|
|
39
|
-
# We overwrite this method so namespace is
|
33
|
+
# We overwrite this method so namespace is show
|
40
34
|
# shelly *backup* restore FILENAME
|
41
|
-
def handle_argument_error(task, error
|
42
|
-
|
43
|
-
raise InvocationError, "#{task.name.inspect} was called incorrectly. Call as `#{banner}`"
|
44
|
-
end
|
45
|
-
|
46
|
-
protected
|
47
|
-
# this has to overwritten so that in tests args are passed correctly
|
48
|
-
# only change is the commented line
|
49
|
-
# its for some edge cases when boolean options are passed in some
|
50
|
-
# strange order
|
51
|
-
def dispatch(meth, given_args, given_opts, config) #:nodoc:
|
52
|
-
meth ||= retrieve_task_name(given_args)
|
53
|
-
task = all_tasks[normalize_task_name(meth)]
|
54
|
-
|
55
|
-
if task
|
56
|
-
args, opts = Thor::Options.split(given_args)
|
57
|
-
else
|
58
|
-
args, opts = given_args, nil
|
59
|
-
task = Thor::DynamicTask.new(meth)
|
60
|
-
end
|
61
|
-
|
62
|
-
opts = given_opts || opts || []
|
63
|
-
config.merge!(:current_task => task, :task_options => task.options)
|
64
|
-
|
65
|
-
instance = new(args, opts, config)
|
66
|
-
yield instance if block_given?
|
67
|
-
# args = instance.args
|
68
|
-
trailing = args[Range.new(arguments.size, -1)]
|
69
|
-
|
70
|
-
instance.invoke_task(task, trailing || [])
|
35
|
+
def handle_argument_error(task, error)
|
36
|
+
raise InvocationError, "#{task.name.inspect} was called incorrectly. Call as #{self.banner(task, nil, self.to_s != 'Shelly::CLI::Main').inspect}."
|
71
37
|
end
|
72
38
|
end
|
73
39
|
end
|
data/shelly.gemspec
CHANGED
@@ -14,6 +14,8 @@ Gem::Specification.new do |s|
|
|
14
14
|
s.rubyforge_project = "shelly"
|
15
15
|
s.add_development_dependency "rspec", "~> 2.11.0"
|
16
16
|
s.add_development_dependency "rake"
|
17
|
+
s.add_development_dependency "guard"
|
18
|
+
s.add_development_dependency "guard-rspec"
|
17
19
|
s.add_development_dependency "simplecov"
|
18
20
|
if RUBY_PLATFORM =~ /darwin/
|
19
21
|
s.add_development_dependency "ruby_gntp"
|
@@ -21,7 +23,7 @@ Gem::Specification.new do |s|
|
|
21
23
|
end
|
22
24
|
s.add_development_dependency "fakefs"
|
23
25
|
s.add_development_dependency "fakeweb"
|
24
|
-
s.add_runtime_dependency "thor", "~> 0.
|
26
|
+
s.add_runtime_dependency "wijet-thor", "~> 0.14.7"
|
25
27
|
s.add_runtime_dependency "rest-client"
|
26
28
|
s.add_runtime_dependency "json"
|
27
29
|
s.add_runtime_dependency "progressbar"
|
@@ -29,6 +29,7 @@ describe Shelly::CLI::Files do
|
|
29
29
|
|
30
30
|
it "should exit if rsync isn't installed" do
|
31
31
|
FakeFS::File.stub(:executable?).and_return(false)
|
32
|
+
|
32
33
|
$stdout.should_receive(:puts).with(red "You need to install rsync in order to upload and download files")
|
33
34
|
lambda { invoke(@cli_files, :upload, "some/path") }.should raise_error(SystemExit)
|
34
35
|
end
|
@@ -1402,20 +1402,6 @@ We have been notified about it. We will be adding new resources shortly")
|
|
1402
1402
|
end
|
1403
1403
|
end
|
1404
1404
|
|
1405
|
-
context "when mysql gem exists" do
|
1406
|
-
it "should show that mysql gem is not supported by Shelly Cloud" do
|
1407
|
-
Bundler::Definition.stub_chain(:build, :specs, :map).and_return(["mysql"])
|
1408
|
-
$stdout.should_receive(:puts).with(" #{red("✗")} mysql driver present in the Gemfile (not supported on Shelly Cloud)")
|
1409
|
-
invoke(@main, :check)
|
1410
|
-
end
|
1411
|
-
|
1412
|
-
it "should show that mysql2 gem is not supported by Shelly Cloud" do
|
1413
|
-
Bundler::Definition.stub_chain(:build, :specs, :map).and_return(["mysql2"])
|
1414
|
-
$stdout.should_receive(:puts).with(" #{red("✗")} mysql driver present in the Gemfile (not supported on Shelly Cloud)")
|
1415
|
-
invoke(@main, :check)
|
1416
|
-
end
|
1417
|
-
end
|
1418
|
-
|
1419
1405
|
context "when bundler raise error" do
|
1420
1406
|
it "should display error message" do
|
1421
1407
|
exception = Bundler::BundlerError.new('Bundler error')
|
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.1.
|
4
|
+
version: 0.1.26
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -43,6 +43,38 @@ dependencies:
|
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: guard
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: guard-rspec
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
46
78
|
- !ruby/object:Gem::Dependency
|
47
79
|
name: simplecov
|
48
80
|
requirement: !ruby/object:Gem::Requirement
|
@@ -124,13 +156,13 @@ dependencies:
|
|
124
156
|
- !ruby/object:Gem::Version
|
125
157
|
version: '0'
|
126
158
|
- !ruby/object:Gem::Dependency
|
127
|
-
name: thor
|
159
|
+
name: wijet-thor
|
128
160
|
requirement: !ruby/object:Gem::Requirement
|
129
161
|
none: false
|
130
162
|
requirements:
|
131
163
|
- - ~>
|
132
164
|
- !ruby/object:Gem::Version
|
133
|
-
version: 0.
|
165
|
+
version: 0.14.7
|
134
166
|
type: :runtime
|
135
167
|
prerelease: false
|
136
168
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -138,7 +170,7 @@ dependencies:
|
|
138
170
|
requirements:
|
139
171
|
- - ~>
|
140
172
|
- !ruby/object:Gem::Version
|
141
|
-
version: 0.
|
173
|
+
version: 0.14.7
|
142
174
|
- !ruby/object:Gem::Dependency
|
143
175
|
name: rest-client
|
144
176
|
requirement: !ruby/object:Gem::Requirement
|
@@ -247,6 +279,7 @@ files:
|
|
247
279
|
- .travis.yml
|
248
280
|
- CHANGELOG.md
|
249
281
|
- Gemfile
|
282
|
+
- Guardfile
|
250
283
|
- README.md
|
251
284
|
- Rakefile
|
252
285
|
- bin/shelly
|
@@ -274,6 +307,7 @@ files:
|
|
274
307
|
- lib/shelly/user.rb
|
275
308
|
- lib/shelly/version.rb
|
276
309
|
- lib/thor/arguments.rb
|
310
|
+
- lib/thor/basic.rb
|
277
311
|
- lib/thor/options.rb
|
278
312
|
- lib/thor/thor.rb
|
279
313
|
- scrolls/shellycloud.rb
|