Method: GraphQL::Schema.from_definition

Defined in:
lib/graphql/schema.rb

.from_definition(definition_or_path, default_resolve: BuildFromDefinition::DefaultResolve, parser: BuildFromDefinition::DefaultParser) ⇒ GraphQL::Schema

Create schema from an IDL schema or file containing an IDL definition.

Parameters:

  • definition_or_path (String)

    A schema definition string, or a path to a file containing the definition

  • default_resolve (<#call(type, field, obj, args, ctx)>) (defaults to: BuildFromDefinition::DefaultResolve)

    A callable for handling field resolution

  • parser (Object) (defaults to: BuildFromDefinition::DefaultParser)

    An object for handling definition string parsing (must respond to parse)

Returns:



513
514
515
516
517
518
519
520
521
# File 'lib/graphql/schema.rb', line 513

def self.from_definition(definition_or_path, default_resolve: BuildFromDefinition::DefaultResolve, parser: BuildFromDefinition::DefaultParser)
  # If the file ends in `.graphql`, treat it like a filepath
  definition = if definition_or_path.end_with?(".graphql")
    File.read(definition_or_path)
  else
    definition_or_path
  end
  GraphQL::Schema::BuildFromDefinition.from_definition(definition, default_resolve: default_resolve, parser: parser)
end