Exception: Lore::Exception::Invalid_Klass_Parameters

Inherits:
Exception
  • Object
show all
Defined in:
lib/lore/exception/invalid_klass_parameters.rb

Overview

Usage:

raise Lore::Exception::Invalid_Klass_Parameters.new(The_Model, { 
    # Generic error. Example:  :user_id => Lore.integer
        :table_foo  => Invalid_Parameters.new( :the_attribute => :error_type ) 
    # Constraint error. Example:  :email => :format 
        :table bar  => Unmet_Constraints.new( :the_attribute => :error_type )  
    # Type error. Example:  :user_id => Lore.integer or :user_id => :missing
        :table_batz => Invalid_Types.new( :the_attribute => :error_type ) 
})

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass, invalid_params_hash) ⇒ Invalid_Klass_Parameters

Returns a new instance of Invalid_Klass_Parameters.



21
22
23
24
25
26
27
28
# File 'lib/lore/exception/invalid_klass_parameters.rb', line 21

def initialize(klass, invalid_params_hash)

	@logger             = Lore.logger
    # Instances of Exception::Invalid_Parameters
	@invalid_parameters = invalid_params_hash 
	@invalid_klass 		  = klass
	
end

Instance Attribute Details

#invalid_klassObject (readonly)

Returns the value of attribute invalid_klass.



19
20
21
# File 'lib/lore/exception/invalid_klass_parameters.rb', line 19

def invalid_klass
  @invalid_klass
end

#invalid_parametersObject (readonly)

Returns the value of attribute invalid_parameters.



18
19
20
# File 'lib/lore/exception/invalid_klass_parameters.rb', line 18

def invalid_parameters
  @invalid_parameters
end

Instance Method Details

#inspectObject

def }}}



50
51
52
53
54
55
# File 'lib/lore/exception/invalid_klass_parameters.rb', line 50

def inspect()
	'Model('+@invalid_klass.to_s+') => '+
	@invalid_parameters.serialize + 
	' Explicit: '+ 
	@invalid_klass.get_explicit_attributes.inspect
end

#logObject



30
31
32
33
34
35
36
37
38
# File 'lib/lore/exception/invalid_klass_parameters.rb', line 30

def log()

	@logger.error('Invalid parameters for klass '+@invalid_klass.to_s+': ')
	@logger.error('Invalid parameters: ')
	@logger.error(@invalid_parameters.inspect)
	@logger.error('Explicit attributes: ')
	@logger.error(@invalid_klass.get_explicit_attributes.inspect)
	
end

#serializeObject Also known as: explain

{{{



40
41
42
43
44
45
46
47
48
# File 'lib/lore/exception/invalid_klass_parameters.rb', line 40

def serialize() # {{{

	serials = {}
	@invalid_parameters.each_pair { |table, invalid_param|
		serials[table] = invalid_param.serialize
	}
	return serials
	
end