class GraphQL::Language::DefinitionSlice::DependencyVisitor

Public Class Methods

find_definition_dependencies(definitions, name, names) click to toggle source
# File lib/graphql/language/definition_slice.rb, line 32
def self.find_definition_dependencies(definitions, name, names)
  names.add(name)
  visitor = self.new(definitions[name], definitions, names)
  visitor.visit
  nil
end
new(doc, definitions, names) click to toggle source
Calls superclass method GraphQL::Language::Visitor::new
# File lib/graphql/language/definition_slice.rb, line 19
def initialize(doc, definitions, names)
  @names = names
  @definitions = definitions
  super(doc)
end

Public Instance Methods

on_fragment_spread(node, parent) click to toggle source
Calls superclass method
# File lib/graphql/language/definition_slice.rb, line 25
def on_fragment_spread(node, parent)
  if fragment = @definitions[node.name]
    self.class.find_definition_dependencies(@definitions, fragment.name, @names)
  end
  super
end