module GraphQL::Define

Public Class Methods

assign_metadata_key(key) click to toggle source

A helper for definitions that store their value in `#metadata`.

@example Storing application classes with GraphQL types

# Make a custom definition
GraphQL::ObjectType.accepts_definitions(resolves_to_class_names: GraphQL::Define.assign_metadata_key(:resolves_to_class_names))

# After definition, read the key from metadata
PostType.metadata[:resolves_to_class_names] # => [...]

@param key [Object] the key to assign in metadata @return [#call(defn, value)] an assignment for `.accepts_definitions` which writes `key` to `#metadata`

# File lib/graphql/define.rb, line 26
def self.assign_metadata_key(key)
  GraphQL::Define::InstanceDefinable::AssignMetadataKey.new(key)
end