78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# File 'lib/graphql/analysis/query_complexity.rb', line 78
def on_enter_field(node, parent, visitor)
return if visitor.visiting_fragment_definition?
return if visitor.skipping?
return if @skip_introspection_fields && visitor.field_definition.introspection?
parent_type = visitor.parent_type_definition
field_key = node.alias || node.name
scopes_stack = @complexities_on_type_by_query[visitor.query] ||= [ScopedTypeComplexity.new(nil, nil, query, visitor.response_path)]
scope = scopes_stack.last[parent_type][field_key] ||= ScopedTypeComplexity.new(parent_type, visitor.field_definition, visitor.query, visitor.response_path)
scope.nodes.push(node)
scopes_stack.push(scope)
end
|