Module: NullAndVoid::ModelSupport::ClassMethods

Defined in:
lib/null_and_void/model_support.rb

Instance Method Summary collapse

Instance Method Details

#as_null_objectObject



7
8
9
10
11
12
13
14
15
16
# File 'lib/null_and_void/model_support.rb', line 7

def as_null_object
  base_path         = NullAndVoid::Inflections.demodulize(name)
  module_path       = NullAndVoid::Inflections.deconstantize(name)
  null_object_base  = "Null#{base_path}"
  source_model_path = "#{module_path}::#{null_object_base}"

  NullAndVoid::Inflections.constantize(source_model_path).instance
rescue NameError
  NullAndVoid::NullObject.instance
end