diff options
author | Saku Ytti <saku@ytti.fi> | 2014-02-20 15:31:26 +0200 |
---|---|---|
committer | Saku Ytti <saku@ytti.fi> | 2014-02-20 15:31:26 +0200 |
commit | 06e5f68db6cfcbd80295874db1f00a25e8ba1229 (patch) | |
tree | 0f728121e40a69b0f8403c8094baed97f05185f3 | |
parent | 227ea783d3598c2bd974cdaf4aac8c255870e264 (diff) |
Figure out which parent class we rescued
Rakefile changes
Bump up gemspec version
-rw-r--r-- | .rspec | 1 | ||||
-rw-r--r-- | Gemfile.lock | 2 | ||||
-rw-r--r-- | Rakefile | 38 | ||||
-rw-r--r-- | lib/oxidized/node.rb | 11 | ||||
-rw-r--r-- | oxidized.gemspec | 2 |
5 files changed, 35 insertions, 19 deletions
@@ -1 +0,0 @@ ---colour diff --git a/Gemfile.lock b/Gemfile.lock index cd39511..f9034e8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - oxidized (0.0.18) + oxidized (0.0.20) grit net-ssh sequel @@ -1,35 +1,47 @@ begin + require 'rake/testtask' require 'bundler' - require 'rspec/core/rake_task' Bundler.setup rescue LoadError - warn 'missing dependencies' + warn 'bunler missing' exit 42 end gemspec = eval(File.read(Dir['*.gemspec'].first)) +file = [gemspec.name, gemspec.version].join('-') + '.gem' -desc 'Validate the gemspec' +desc 'Validate gemspec' task :gemspec do gemspec.validate end -RSpec::Core::RakeTask.new(:spec) +desc 'Run minitest' +task :test do + Rake::TestTask.new do |t| + t.libs.push "lib" + t.test_files = FileList['spec/*_spec.rb'] + t.verbose = true + end +end -desc "Build gem locally" -#task :build => [:spec, :gemspec] do -task :build => [:gemspec] do +desc 'Build gem' +task :build do system "gem build #{gemspec.name}.gemspec" - FileUtils.mkdir_p "gems" - FileUtils.mv "#{gemspec.name}-#{gemspec.version}.gem", "gems" + FileUtils.mkdir_p 'gems' + FileUtils.mv file, 'gems' end -desc "Install gem locally" +desc 'Install gem' task :install => :build do - system "sudo sh -c \'umask 022; gem install gems/#{gemspec.name}-#{gemspec.version}\'" + system "sudo -E sh -c \'umask 022; gem install gems/#{file}\'" end -desc "Clean automatically generated files" +desc 'Remove gems' task :clean do - FileUtils.rm_rf "gems" + FileUtils.rm_rf 'gems' +end + +desc 'Push to rubygems' +task :push do + system "gem push gems/#{file}" end diff --git a/lib/oxidized/node.rb b/lib/oxidized/node.rb index 5f09096..05a926c 100644 --- a/lib/oxidized/node.rb +++ b/lib/oxidized/node.rb @@ -44,9 +44,14 @@ module Oxidized if input.connect self input.get end - rescue *rescue_fail.keys.flatten => err - level = rescue_fail[err.class] - Log.send(level, '%s raised %s with msg "%s"' % [self.ip, err.class, err.message]) + rescue *rescue_fail.keys => err + resc = '' + if not level = rescue_fail[err.class] + resc = err.class.ancestors.find{|e|rescue_fail.keys.include? e} + level = rescue_fail[resc] + resc = " (rescued #{resc})" + end + Log.send(level, '%s raised %s%s with msg "%s"' % [self.ip, err.class, resc, err.message]) return false end end diff --git a/oxidized.gemspec b/oxidized.gemspec index 1394f77..cd324f1 100644 --- a/oxidized.gemspec +++ b/oxidized.gemspec @@ -1,6 +1,6 @@ Gem::Specification.new do |s| s.name = 'oxidized' - s.version = '0.0.19' + s.version = '0.0.20' s.platform = Gem::Platform::RUBY s.authors = [ 'Saku Ytti' ] s.email = %w( saku@ytti.fi ) |