Class: GraphQL::Schema::EnumValue Private
- Includes:
- Member::AcceptsDefinition
- Defined in:
- lib/graphql/schema/enum_value.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
A possible value for an Enum.
You can extend this class to customize enum values in your schema.
Constant Summary
Constants included from Member::GraphQLTypeNames
Member::GraphQLTypeNames::Boolean, Member::GraphQLTypeNames::ID, Member::GraphQLTypeNames::Int
Instance Attribute Summary collapse
-
#deprecation_reason ⇒ String
private
Explains why this value was deprecated (if present, this will be marked deprecated in introspection).
-
#graphql_name ⇒ Object
readonly
private
-
#owner ⇒ Class
readonly
private
The enum type that owns this value.
Instance Method Summary collapse
-
#accessible?(_ctx) ⇒ Boolean
private
-
#authorized?(_ctx) ⇒ Boolean
private
-
#description(new_desc = nil) ⇒ Object
private
-
#initialize(graphql_name, desc = nil, owner:, description: nil, value: nil, deprecation_reason: nil, &block) ⇒ EnumValue
constructor
private
A new instance of EnumValue.
-
#to_graphql ⇒ GraphQL::EnumType::EnumValue
private
A runtime-ready object derived from this object.
-
#value(new_val = nil) ⇒ Object
private
-
#visible?(_ctx) ⇒ Boolean
private
Methods included from Member::TypeSystemHelpers
#kind, #list?, #non_null?, #to_list_type, #to_non_null_type, #to_type_signature
Methods included from Member::BaseDSLMethods
#introspection, #mutation, #name, #overridden_graphql_name
Methods included from Relay::TypeExtensions
#connection_type, #define_connection, #define_edge, #edge_type
Methods included from Member::CachedGraphQLDefinition
#graphql_definition, #initialize_copy
Constructor Details
#initialize(graphql_name, desc = nil, owner:, description: nil, value: nil, deprecation_reason: nil, &block) ⇒ EnumValue
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 a new instance of EnumValue
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/graphql/schema/enum_value.rb', line 39 def initialize(graphql_name, desc = nil, owner:, description: nil, value: nil, deprecation_reason: nil, &block) @graphql_name = graphql_name.to_s @description = desc || description @value = value || @graphql_name @deprecation_reason = deprecation_reason @owner = owner if block_given? instance_eval(&block) end end |
Instance Attribute Details
#deprecation_reason ⇒ 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.
Returns Explains why this value was deprecated (if present, this will be marked deprecated in introspection)
37 38 39 |
# File 'lib/graphql/schema/enum_value.rb', line 37 def deprecation_reason @deprecation_reason end |
#graphql_name ⇒ Object (readonly)
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.
31 32 33 |
# File 'lib/graphql/schema/enum_value.rb', line 31 def graphql_name @graphql_name end |
#owner ⇒ Class (readonly)
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 The enum type that owns this value
34 35 36 |
# File 'lib/graphql/schema/enum_value.rb', line 34 def owner @owner end |
Instance Method Details
#accessible?(_ctx) ⇒ 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.
77 |
# File 'lib/graphql/schema/enum_value.rb', line 77 def accessible?(_ctx); true; end |
#authorized?(_ctx) ⇒ 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.
78 |
# File 'lib/graphql/schema/enum_value.rb', line 78 def (_ctx); true; end |
#description(new_desc = 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.
51 52 53 54 55 56 |
# File 'lib/graphql/schema/enum_value.rb', line 51 def description(new_desc = nil) if new_desc @description = new_desc end @description end |
#to_graphql ⇒ GraphQL::EnumType::EnumValue
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 A runtime-ready object derived from this object
66 67 68 69 70 71 72 73 74 |
# File 'lib/graphql/schema/enum_value.rb', line 66 def to_graphql enum_value = GraphQL::EnumType::EnumValue.new enum_value.name = @graphql_name enum_value.description = @description enum_value.value = @value enum_value.deprecation_reason = @deprecation_reason enum_value.[:type_class] = self enum_value end |
#value(new_val = 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.
58 59 60 61 62 63 |
# File 'lib/graphql/schema/enum_value.rb', line 58 def value(new_val = nil) if new_val @value = new_val end @value end |
#visible?(_ctx) ⇒ 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.
76 |
# File 'lib/graphql/schema/enum_value.rb', line 76 def visible?(_ctx); true; end |