Module: Metaa::Concern::ClassMethods

Defined in:
lib/metaa/concern.rb

Instance Method Summary collapse

Instance Method Details

#meta_classClass

Infers the meta class to be used by Metaa::Concern#meta (e.g. ‘Product` maps to `ProductMeta`).

Returns:

  • (Class)

    the inferred meta class.



23
24
25
26
27
28
29
30
# File 'lib/metaa/concern.rb', line 23

def meta_class
  prefix = respond_to?(:model_name) ? model_name : name
  meta_name = "#{prefix}Meta"
  meta_name.constantize
rescue NameError => error
  raise unless error.missing_name?(meta_name)
  raise Metaa::UninferrableMetaError.new(self)
end