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::CachedGraphQLDefinition
#graphql_definition, #initialize_copy
Methods included from Relay::TypeExtensions
#connection_type, #define_connection, #define_edge, #edge_type
Methods included from Member::BaseDSLMethods
#introspection, #mutation, #name, #overridden_graphql_name
Methods included from Member::TypeSystemHelpers
#kind, #list?, #non_null?, #to_list_type, #to_non_null_type, #to_type_signature
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 |