From 2947139632e95b6fb36c0a88f7f540b0f9bad50b Mon Sep 17 00:00:00 2001 From: Adam Spiers Date: Wed, 29 Jan 2014 14:21:55 +0000 Subject: [PATCH] tidy up custom exceptions --- libraries/pacemaker/cib_object.rb | 12 ++++++++---- libraries/pacemaker/resource/primitive.rb | 3 ++- spec/libraries/primitive_spec.rb | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/libraries/pacemaker/cib_object.rb b/libraries/pacemaker/cib_object.rb index 39ab545..aa66f8f 100644 --- a/libraries/pacemaker/cib_object.rb +++ b/libraries/pacemaker/cib_object.rb @@ -1,9 +1,6 @@ require 'mixlib/shellout' module Pacemaker - class ObjectTypeMismatch < StandardError - end - class CIBObject attr_accessor :name, :definition @@ -68,7 +65,8 @@ module Pacemaker @definition = self.class.get_definition(name) if @definition and ! @definition.empty? and type != self.class.object_type - raise ObjectTypeMismatch, "Expected #{self.class.object_type} type but loaded definition was type #{type}" + raise CIBObject::TypeMismatch, \ + "Expected #{self.class.object_type} type but loaded definition was type #{type}" end end @@ -88,4 +86,10 @@ module Pacemaker "crm configure delete '#{name}'" end end + + class CIBObject::DefinitionParseError < StandardError + end + + class CIBObject::TypeMismatch < StandardError + end end diff --git a/libraries/pacemaker/resource/primitive.rb b/libraries/pacemaker/resource/primitive.rb index 45370cb..04058f1 100644 --- a/libraries/pacemaker/resource/primitive.rb +++ b/libraries/pacemaker/resource/primitive.rb @@ -26,7 +26,8 @@ class Pacemaker::Resource::Primitive < Pacemaker::Resource def parse_definition unless definition =~ /\Aprimitive (\S+) (\S+)/ - raise RuntimeError, "Couldn't parse definition '#{definition}'" + raise Pacemaker::CIBObject::DefinitionParseError, \ + "Couldn't parse definition '#{definition}'" end self.name = $1 self.agent = $2 diff --git a/spec/libraries/primitive_spec.rb b/spec/libraries/primitive_spec.rb index 4619d8c..32032d2 100644 --- a/spec/libraries/primitive_spec.rb +++ b/spec/libraries/primitive_spec.rb @@ -14,7 +14,7 @@ describe Pacemaker::Resource::Primitive do .to receive(:stdout) \ .and_return("clone foo blah blah") expect { @primitive.load_definition }.to \ - raise_error(Pacemaker::ObjectTypeMismatch, + raise_error(Pacemaker::CIBObject::TypeMismatch, "Expected primitive type but loaded definition was type clone") end