Module: GraphQL::Schema::Member::BaseDSLMethods Private

Included in:
Interface::DefinitionMethods, GraphQL::Schema::Member, Resolver
Defined in:
lib/graphql/schema/member/base_dsl_methods.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

DSL methods shared by lots of things in the GraphQL Schema.

See Also:

  • that extend this, eg {GraphQL::Schema::Object}

API:

  • private

Instance Method Summary collapse

Instance Method Details

#accessible?(context) ⇒ Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

API:

  • private



95
96
97
98
99
100
101
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 95

def accessible?(context)
  if @mutation
    @mutation.accessible?(context)
  else
    true
  end
end

#authorized?(object, context) ⇒ Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

API:

  • private



103
104
105
106
107
108
109
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 103

def authorized?(object, context)
  if @mutation
    @mutation.authorized?(object, context)
  else
    true
  end
end

#default_graphql_nameObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Creates the default name for a schema member. The default name is the Ruby constant name, without any namespaces and with any -Type suffix removed

Raises:

API:

  • private



81
82
83
84
85
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 81

def default_graphql_name
  raise NotImplementedError, 'Anonymous class should declare a `graphql_name`' if name.nil?

  name.split("::").last.sub(/Type\Z/, "")
end

#description(new_description = nil) ⇒ String

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Call this method to provide a new description; OR call it without an argument to get the description

Parameters:

  • (defaults to: nil)

Returns:

API:

  • private



41
42
43
44
45
46
47
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 41

def description(new_description = nil)
  if new_description
    @description = new_description
  else
    @description || find_inherited_method(:description, nil)
  end
end

#graphql_name(new_name = nil) ⇒ String

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Call this with a new name to override the default name for this schema member; OR call it without an argument to get the name of this schema member

The default name is implemented in default_graphql_name

Parameters:

  • (defaults to: nil)

Returns:

API:

  • private



16
17
18
19
20
21
22
23
24
25
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 16

def graphql_name(new_name = nil)
  case
  when new_name
    @graphql_name = new_name
  when overridden = overridden_graphql_name
    overridden
  else
    default_graphql_name
  end
end

#introspection(new_introspection = nil) ⇒ Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns If true, this object is part of the introspection system.

Returns:

  • If true, this object is part of the introspection system

API:

  • private



50
51
52
53
54
55
56
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 50

def introspection(new_introspection = nil)
  if !new_introspection.nil?
    @introspection = new_introspection
  else
    @introspection || find_inherited_method(:introspection, false)
  end
end

#mutation(mutation_class = nil) ⇒ Class

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

The mutation this type was derived from, if it was derived from a mutation

Returns:

API:

  • private



60
61
62
63
64
65
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 60

def mutation(mutation_class = nil)
  if mutation_class
    @mutation = mutation_class
  end
  @mutation
end

#name(new_name = nil) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Just a convenience method to point out that people should use graphql_name instead

API:

  • private



28
29
30
31
32
33
34
35
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 28

def name(new_name = nil)
  return super() if new_name.nil?

  fail(
    "The new name override method is `graphql_name`, not `name`. Usage: "\
    "graphql_name \"#{new_name}\""
  )
end

#overridden_graphql_nameObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



74
75
76
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 74

def overridden_graphql_name
  @graphql_name || find_inherited_method(:overridden_graphql_name, nil)
end

#to_graphqlGraphQL::BaseType

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns Convert this type to a legacy-style object.

Returns:

  • Convert this type to a legacy-style object.

Raises:

API:

  • private



68
69
70
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 68

def to_graphql
  raise NotImplementedError
end

#visible?(context) ⇒ Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

API:

  • private



87
88
89
90
91
92
93
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 87

def visible?(context)
  if @mutation
    @mutation.visible?(context)
  else
    true
  end
end