Module: SimpleExceptionDefinition

Defined in:
lib/simple_exception_definition.rb

Instance Method Summary collapse

Instance Method Details

#define_exception(exception_class_name) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/simple_exception_definition.rb', line 3

def define_exception( exception_class_name )
  klass_name = Class.new(StandardError)
  klass_name.class_eval do
    attr_reader :object
    def initialize( message=nil, object=nil )
      @object = object
      @message = message || "#{self.class.to_s} error"
    end
    def message
      @message
    end
  end
  Object.const_set( exception_class_name.to_s.gsub(/\/(.?)/) { "::" + $1.upcase }.gsub(/(^|_)(.)/) { $2.upcase }, klass_name )
end

#define_exceptions(*args) ⇒ Object



18
19
20
# File 'lib/simple_exception_definition.rb', line 18

def define_exceptions( *args )
  args.each { |arg| define_exception(arg) }
end