class GraphQL::Analysis::AST::Analyzer

@param [GraphQL::Query, GraphQL::Execution::Multiplex] The query or multiplex to analyze
`visitor.query` in the visit methods.
When an analyzer is initialized with a Multiplex, you can always get the current query from
but are prefixed by ‘enter` and `leave`.
Query analyzer for query ASTs. Query analyzers respond to visitor style methods

def analyze?

Returns:
  • (Boolean) - If the query should be analyzed or not
def analyze?
  true
end

def build_visitor_hooks(member_name)

def build_visitor_hooks(member_name)
  class_eval(<<-EOS, __FILE__, __LINE__ + 1)
    def on_enter_#{member_name}(node, parent, visitor)
    end
    def on_leave_#{member_name}(node, parent, visitor)
    end
  EOS
end

def initialize(subject)

def initialize(subject)
  @subject = subject
  if subject.is_a?(GraphQL::Query)
    @query = subject
    @multiplex = nil
  else
    @multiplex = subject
    @query = nil
  end
end

def result

Returns:
  • (Any) - The analyzer result
def result
  raise GraphQL::RequiredImplementationMissingError
end

def visit?

Returns:
  • (Boolean) - If analysis requires visitation or not
def visit?
  true
end