class GraphQL::Analysis::MaxQueryDepth

Used under the hood to implement depth validation, see {Schema#max_depth} and {Query#max_depth}

@example Assert max depth of 10

# DON'T actually do this, graphql-ruby
# Does this for you based on your `max_depth` setting
MySchema.query_analyzers << GraphQL::Analysis::MaxQueryDepth.new(10)

Public Class Methods

new(max_depth) click to toggle source
Calls superclass method GraphQL::Analysis::QueryDepth::new
# File lib/graphql/analysis/max_query_depth.rb, line 14
def initialize(max_depth)
  disallow_excessive_depth = ->(query, depth) {
    if depth > max_depth
      GraphQL::AnalysisError.new("Query has depth of #{depth}, which exceeds max depth of #{max_depth}")
    else
      nil
    end
  }
  super(&disallow_excessive_depth)
end