Class: GraphQL::Schema::EnumValue
- Defined in:
- lib/graphql/schema/enum_value.rb
Overview
A possible value for an Enum.
You can extend this class to customize enum values in your schema.
Constant Summary
Constants included from Member::HasDirectives
Member::HasDirectives::NO_DIRECTIVES
Constants included from Member::GraphQLTypeNames
Member::GraphQLTypeNames::Boolean, Member::GraphQLTypeNames::ID, Member::GraphQLTypeNames::Int
Instance Attribute Summary collapse
-
#graphql_name ⇒ Object
readonly
Returns the value of attribute graphql_name.
-
#owner ⇒ Class
readonly
The enum type that owns this value.
Attributes included from Member::HasDeprecationReason
Attributes included from Member::BaseDSLMethods
Instance Method Summary collapse
-
#authorized?(_ctx) ⇒ Boolean
-
#description(new_desc = nil) ⇒ Object
-
#initialize(graphql_name, desc = nil, owner:, ast_node: nil, directives: nil, description: nil, value: UNDEFINED_VALUE, deprecation_reason: nil, &block) ⇒ EnumValue
constructor
A new instance of EnumValue.
-
#inspect ⇒ Object
-
#value(new_val = nil) ⇒ Object
-
#visible?(_ctx) ⇒ Boolean
Methods included from Member::HasDirectives
add_directive, #directive, #directives, get_directives, #remove_directive, remove_directive
Methods included from Member::HasAstNode
Methods included from Member::HasPath
Methods included from Member::BaseDSLMethods
#introspection, #introspection?, #mutation, #name
Methods included from Member::BaseDSLMethods::ConfigurationExtension
Methods included from Member::TypeSystemHelpers
#kind, #list?, #non_null?, #to_list_type, #to_non_null_type, #to_type_signature
Methods included from Member::Scoped
Methods included from Member::RelayShortcuts
#connection_type, #connection_type_class, #edge_type, #edge_type_class
Constructor Details
#initialize(graphql_name, desc = nil, owner:, ast_node: nil, directives: nil, description: nil, value: UNDEFINED_VALUE, deprecation_reason: nil, &block) ⇒ EnumValue
Returns a new instance of EnumValue.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/graphql/schema/enum_value.rb', line 36 def initialize(graphql_name, desc = nil, owner:, ast_node: nil, directives: nil, description: nil, value: UNDEFINED_VALUE, deprecation_reason: nil, &block) @graphql_name = graphql_name.to_s GraphQL::NameValidator.validate!(@graphql_name) @description = desc || description @value = value === UNDEFINED_VALUE ? @graphql_name : value if deprecation_reason self.deprecation_reason = deprecation_reason end @owner = owner @ast_node = ast_node if directives directives.each do |dir_class, | directive(dir_class, **) end end if block_given? instance_eval(&block) end end |
Instance Attribute Details
#graphql_name ⇒ Object (readonly)
Returns the value of attribute graphql_name.
31 32 33 |
# File 'lib/graphql/schema/enum_value.rb', line 31 def graphql_name @graphql_name end |
#owner ⇒ Class (readonly)
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
#authorized?(_ctx) ⇒ Boolean
76 |
# File 'lib/graphql/schema/enum_value.rb', line 76 def (_ctx); true; end |
#description(new_desc = nil) ⇒ Object
57 58 59 60 61 62 |
# File 'lib/graphql/schema/enum_value.rb', line 57 def description(new_desc = nil) if new_desc @description = new_desc end @description end |
#inspect ⇒ Object
71 72 73 |
# File 'lib/graphql/schema/enum_value.rb', line 71 def inspect "#<#{self.class} #{path} @value=#{@value.inspect}#{description ? " @description=#{description.inspect}" : ""}>" end |
#value(new_val = nil) ⇒ Object
64 65 66 67 68 69 |
# File 'lib/graphql/schema/enum_value.rb', line 64 def value(new_val = nil) unless new_val.nil? @value = new_val end @value end |
#visible?(_ctx) ⇒ Boolean
75 |
# File 'lib/graphql/schema/enum_value.rb', line 75 def visible?(_ctx); true; end |