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?
-
(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
-
(Any)
- The analyzer result
def result raise GraphQL::RequiredImplementationMissingError end
def visit?
-
(Boolean)
- If analysis requires visitation or not
def visit? true end