Class: Structural::Model::Association::Hierarchy

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

Instance Method Summary collapse

Constructor Details

#initialize(path, child) ⇒ Hierarchy

Returns a new instance of Hierarchy.



21
22
23
24
# File 'lib/structural/model/association.rb', line 21

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

Instance Method Details

#constantsObject



32
33
34
# File 'lib/structural/model/association.rb', line 32

def constants
  hierarchy.map(&:constantize)
end

#parentObject



26
27
28
29
30
# File 'lib/structural/model/association.rb', line 26

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