module Metaa::Concern::ClassMethods

Public Instance Methods

meta_class() click to toggle source

Infers the meta class to be used by {Concern#meta} (e.g. `Product` maps to `ProductMeta`).

@return [Class] the inferred meta class.

# 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