Module: RefCheck

Included in:
Array, CfnDsl::JSONable, Hash
Defined in:
lib/cfndsl/ref_check.rb

Overview

This module defines some methods for walking the reference tree of various objects.

Instance Method Summary collapse

Instance Method Details

#build_references(refs) ⇒ Object

Build up a set of references.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/cfndsl/ref_check.rb', line 5

def build_references(refs)
  raise 'Circular reference' if @_visited

  @_visited = true

  if respond_to?(:all_refs)
    all_refs.each do |ref|
      refs[ref.to_s] = 1
    end
  end

  ref_children.each do |elem|
    elem.build_references(refs) if elem.respond_to?(:build_references)
  end

  @_visited = nil

  refs
end

#ref_childrenObject



25
26
27
# File 'lib/cfndsl/ref_check.rb', line 25

def ref_children
  []
end