Module: ElasticGraph::SchemaDefinition::Mixins::SupportsDefaultValue

Included in:
SchemaElements::Argument, SchemaElements::InputField
Defined in:
lib/elastic_graph/schema_definition/mixins/supports_default_value.rb

Overview

A mixin designed to be included in a schema element class that supports default values. Designed to be ‘prepended` so that it can hook into `initialize`.

Instance Method Summary collapse

Instance Method Details

#default(default_value) ⇒ void

This method returns an undefined value.

Used to specify the default value for this field or argument.

Parameters:

  • default_value (Object)

    default value for this field or argument



27
28
29
# File 'lib/elastic_graph/schema_definition/mixins/supports_default_value.rb', line 27

def default(default_value)
  @default_value = default_value
end

#default_value_sdlString

Generates SDL for the default value. Suitable for inclusion in the schema elememnts ‘#to_sdl`.

Returns:

  • (String)


34
35
36
37
# File 'lib/elastic_graph/schema_definition/mixins/supports_default_value.rb', line 34

def default_value_sdl
  return nil if @default_value == NO_DEFAULT_PROVIDED
  " = #{Support::GraphQLFormatter.serialize(@default_value)}"
end

#initializeObject



18
19
20
21
# File 'lib/elastic_graph/schema_definition/mixins/supports_default_value.rb', line 18

def initialize(...)
  __skip__ = super # steep can't type this.
  @default_value = NO_DEFAULT_PROVIDED
end