Method: Engine2::Model#resolve_dependency

Defined in:
lib/engine2/model.rb

#resolve_dependency(name, resolved, seen = []) ⇒ Object



153
154
155
156
157
158
159
160
161
162
163
# File 'lib/engine2/model.rb', line 153

def resolve_dependency name, resolved, seen = []
    seen << name
    deps = @type_info[name][:depends]
    deps.each do |e|
        if !resolved[e]
            raise E2Error.new("Circular dependency for field '#{name}' in model '#{self}'") if seen.include?(e)
            resolve_dependency(e, resolved, seen)
        end
    end if deps
    resolved[name] = @type_info[name]
end