class GraphQL::Analysis::Analyzer
Query analyzer for query ASTs. Query analyzers respond to visitor style methods but are prefixed by enter and leave.
When an analyzer is initialized with a Multiplex, you can always get the current query from visitor.query in the visit methods.
Parameters
-
The(GraphQL::Query, GraphQL::Execution::Multiplex) — query or multiplex to analyze
Public Class Methods
Source
# File lib/graphql/analysis/analyzer.rb, line 15 def initialize(subject) @subject = subject if subject.is_a?(GraphQL::Query) @query = subject @multiplex = nil else @multiplex = subject @query = nil end end
Public Instance Methods
Source
# File lib/graphql/analysis/analyzer.rb, line 36 def analyze? true end
Analyzer hook to decide at analysis time whether a query should be analyzed or not.
Returns
-
Boolean— If the query should be analyzed or not
Source
# File lib/graphql/analysis/analyzer.rb, line 62 def result raise GraphQL::RequiredImplementationMissingError end
The result for this analyzer. Returning GraphQL::AnalysisError results in a query error.
Returns
-
Any— The analyzer result
Source
# File lib/graphql/analysis/analyzer.rb, line 49 def visit? true end
Analyzer hook to decide at analysis time whether analysis requires a visitor pass; can be disabled for precomputed results.
Returns
-
Boolean— If analysis requires visitation or not