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 )  | 
