Class: Yoda::Store::Query::Associators::AssociateAncestors

Inherits:
Object
  • Object
show all
Defined in:
lib/yoda/store/query/associators/associate_ancestors.rb

Defined Under Namespace

Classes: CircularReferenceError, Processor

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(registry) ⇒ AssociateAncestors

Returns a new instance of AssociateAncestors.

Parameters:



19
20
21
# File 'lib/yoda/store/query/associators/associate_ancestors.rb', line 19

def initialize(registry)
  @registry = registry
end

Instance Attribute Details

#registryRegistry (readonly)

Returns:



16
17
18
# File 'lib/yoda/store/query/associators/associate_ancestors.rb', line 16

def registry
  @registry
end

Instance Method Details

#associate(obj) ⇒ Enumerator<Objects::NamespaceObject>

Parameters:

Returns:



25
26
27
28
29
30
31
32
33
# File 'lib/yoda/store/query/associators/associate_ancestors.rb', line 25

def associate(obj)
  if obj.is_a?(Objects::NamespaceObject)
    Enumerator.new do |yielder|
      Processor.new(registry).process(obj).each { |klass| yielder << klass }
    end
  else
    []
  end
end