Class: GraphQL::DefinitionHelpers::DefinedByConfig::DefinitionConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/graphql/relay/monkey_patches/definition_config.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#object_from_id_procObject

Support GlobalNodeIdentification



18
19
20
# File 'lib/graphql/relay/monkey_patches/definition_config.rb', line 18

def object_from_id_proc
  @object_from_id_proc
end

#type_from_object_procObject

Support GlobalNodeIdentification



18
19
20
# File 'lib/graphql/relay/monkey_patches/definition_config.rb', line 18

def type_from_object_proc
  @type_from_object_proc
end

Instance Method Details

#connection(name, type = nil, desc = nil, property: nil, &block) ⇒ Object

Wraps a field definition with a ConnectionField



3
4
5
6
7
# File 'lib/graphql/relay/monkey_patches/definition_config.rb', line 3

def connection(name, type = nil, desc = nil, property: nil, &block)
  underlying_field = field(name, type, desc, property: property, &block)
  connection_field = GraphQL::Relay::ConnectionField.create(underlying_field)
  fields[name.to_s] = connection_field
end

#global_id_field(field_name) ⇒ Object



12
13
14
15
# File 'lib/graphql/relay/monkey_patches/definition_config.rb', line 12

def global_id_field(field_name)
  name || raise("You must define the type's name before creating a GlobalIdField")
  field(field_name, field: GraphQL::Relay::GlobalIdField.new(name))
end

#object_from_id(proc) ⇒ Object



19
20
21
# File 'lib/graphql/relay/monkey_patches/definition_config.rb', line 19

def object_from_id(proc)
  @object_from_id_proc = proc
end

#type_from_object(proc) ⇒ Object



23
24
25
# File 'lib/graphql/relay/monkey_patches/definition_config.rb', line 23

def type_from_object(proc)
  @type_from_object_proc = proc
end