class GraphQL::RakeTask

A rake task for dumping a schema as IDL or JSON.

By default, schemas are looked up by name as constants using schema_name:. You can provide a load_schema function to return your schema another way.

Use load_context: and visible? to dump schemas under certain visibility constraints.

Examples

Example: Dump a Schema to .graphql + .json files

require "graphql/rake_task"
GraphQL::RakeTask.new(schema_name: "MySchema")

# $ rake graphql:schema:dump
# Schema IDL dumped to ./schema.graphql
# Schema JSON dumped to ./schema.json

Example: Invoking the task from Ruby

require "rake"
Rake::Task["graphql:schema:dump"].invoke

Example: Providing arguments to build the introspection query

require "graphql/rake_task"
GraphQL::RakeTask.new(schema_name: "MySchema", include_is_one_of: true)