Class: Id::Model::Association::Hierarchy

Inherits:
Object
  • Object
show all
Defined in:
lib/id/model/association.rb

Instance Method Summary collapse

Constructor Details

#initialize(path, child) ⇒ Hierarchy

Returns a new instance of Hierarchy.



23
24
25
26
# File 'lib/id/model/association.rb', line 23

def initialize(path, child)
  @path = path
  @child = child
end

Instance Method Details

#constantsObject



34
35
36
# File 'lib/id/model/association.rb', line 34

def constants
  hierarchy.map(&:constantize)
end

#parentObject



28
29
30
31
32
# File 'lib/id/model/association.rb', line 28

def parent
  @parent ||= constants.find do |c|
    c.ancestors.find { |anc| anc.const_defined? child }
  end
end