Class: ActiveRecord::Reflection::AssociationReflection

Inherits:
Object
  • Object
show all
Defined in:
lib/obviously.rb

Defined Under Namespace

Classes: AmbiguousAssociationClassError

Instance Method Summary collapse

Instance Method Details

#klassObject



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/obviously.rb', line 10

def klass
  super
rescue NameError
  @klass ||= ActiveRecord::Base.descendants.select do |model|
    model.name.demodulize.parameterize('_') == class_name.parameterize('_')
  end.tap do |results|
    if results.map(&:name).uniq.many?
      raise AmbiguousAssociationClassError.new(results.map(&:name).uniq)
    end
  end.first
end