Class: GraphQL::GraphQLObjectTypeConfiguration

Inherits:
Object
  • Object
show all
Defined in:
lib/relay/node/plural_identifying_root_field.rb,
lib/relay/node/global_id_field.rb

Instance Method Summary collapse

Instance Method Details

#global_id_field(*args, &block) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/relay/node/global_id_field.rb', line 17

def global_id_field(*args, &block)
  configuration = GlobalIDFieldConfiguration.new(*args, &block)

  resolve_id = configuration.resolve_id || GLOBAL_ID_FIELD_DEFAULT_RESOLVE

  global_id_field = GraphQL::GraphQLFieldConfiguration.new do
    name configuration.name

    type !GraphQL::GraphQLID

    resolve lambda { |object|
      Relay::Node.to_global_id(configuration.type_name, resolve_id.call(object))
    }
  end

  field(global_id_field)
end

#plural_identifying_root_field(*args, &block) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/relay/node/plural_identifying_root_field.rb', line 14

def plural_identifying_root_field(*args, &block)
  configuration = PluralIdentifyingRootFieldConfiguration.new(*args, &block)

  plural_identifying_root_field = GraphQL::GraphQLFieldConfiguration.new do
    name configuration.name

    type +configuration.output_type

    arg configuration.argument_name, !+!configuration.input_type

    resolve lambda { |object, params|
      params[configuration.argument_name.to_sym].map { |param| configuration.resolve_single_input.call(param) }
    }
  end

  field(plural_identifying_root_field)
end