Module: GraphQL::Schema::Member::BaseDSLMethods Private
- Includes:
- FindInheritedValue
- 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.
Defined Under Namespace
Modules: ConfigurationExtension
Instance Method Summary collapse
-
#accessible?(context) ⇒ Boolean
private
-
#authorized?(object, context) ⇒ Boolean
private
-
#default_graphql_name ⇒ Object
private
Creates the default name for a schema member.
-
#description(new_description = nil) ⇒ String
private
Call this method to provide a new description; OR call it without an argument to get the description.
-
#graphql_name(new_name = nil) ⇒ String
private
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.
-
#introspection(new_introspection = nil) ⇒ Boolean
private
If true, this object is part of the introspection system.
-
#introspection? ⇒ Boolean
private
-
#mutation(mutation_class = nil) ⇒ Class
private
The mutation this type was derived from, if it was derived from a mutation.
-
#name(new_name = nil) ⇒ Object
private
Just a convenience method to point out that people should use graphql_name instead.
-
#overridden_graphql_name ⇒ Object
private
-
#to_graphql ⇒ GraphQL::BaseType
private
Convert this type to a legacy-style object.
-
#visible?(context) ⇒ Boolean
private
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.
122 123 124 125 126 127 128 |
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 122 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.
130 131 132 133 134 135 136 |
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 130 def (object, context) if @mutation @mutation.(object, context) else true end end |
#default_graphql_name ⇒ 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.
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
106 107 108 109 110 111 112 |
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 106 def default_graphql_name @default_graphql_name ||= begin raise GraphQL::RequiredImplementationMissingError, 'Anonymous class should declare a `graphql_name`' if name.nil? name.split("::").last.sub(/Type\Z/, "") end 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
46 47 48 49 50 51 52 53 54 |
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 46 def description(new_description = nil) if new_description @description = new_description elsif defined?(@description) @description else 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
20 21 22 23 24 25 26 |
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 20 def graphql_name(new_name = nil) if new_name @graphql_name = new_name else overridden_graphql_name || 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.
70 71 72 73 74 75 76 77 78 |
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 70 def introspection(new_introspection = nil) if !new_introspection.nil? @introspection = new_introspection elsif defined?(@introspection) @introspection else false end end |
#introspection? ⇒ 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.
80 81 82 |
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 80 def introspection? introspection 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
86 87 88 89 90 91 92 93 94 |
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 86 def mutation(mutation_class = nil) if mutation_class @mutation = mutation_class elsif defined?(@mutation) @mutation else nil end 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
33 34 35 36 37 38 39 40 |
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 33 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_name ⇒ 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.
28 29 30 |
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 28 def overridden_graphql_name defined?(@graphql_name) ? @graphql_name : nil end |
#to_graphql ⇒ GraphQL::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.
97 98 99 |
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 97 def to_graphql raise GraphQL::RequiredImplementationMissingError 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.
114 115 116 117 118 119 120 |
# File 'lib/graphql/schema/member/base_dsl_methods.rb', line 114 def visible?(context) if @mutation @mutation.visible?(context) else true end end |