Class: Gitlab::Graphql::Variables

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/graphql/variables.rb

Constant Summary collapse

PARSE_LIMITS =

See lib/gitlab/middleware/json_validation.rb (DEFAULT_LIMITS) for matching limits

{
  max_depth: 32,
  max_array_size: 50000,
  max_hash_size: 50000,
  max_total_elements: 100000,
  # Disabled by default because some GraphQL queries upload large payloads
  max_json_size_bytes: 0
}.freeze
Invalid =
Class.new(Gitlab::Graphql::StandardGraphqlError)

Instance Method Summary collapse

Constructor Details

#initialize(param, options = {}) ⇒ Variables

Returns a new instance of Variables.



18
19
20
21
# File 'lib/gitlab/graphql/variables.rb', line 18

def initialize(param, options = {})
  @param = param
  @parse_limits = options[:parse_limits] ? PARSE_LIMITS.merge(options[:parse_limits]) : PARSE_LIMITS
end

Instance Method Details

#to_hObject



23
24
25
# File 'lib/gitlab/graphql/variables.rb', line 23

def to_h
  ensure_hash(@param)
end