Skip to content

Configuration

In config/initializers/quail.rb:

Rails.application.config.quail.schema_class = "AppSchema"
# Use custom base classes from your app:
# Quail.base_object_class = Types::BaseObject
# Quail.base_mutation_class = Mutations::BaseMutation

The schema_class setting tells Quail which schema to wire resources into. By default, the install generator creates AppSchema and configures this for you.

If you want all auto-generated Quail types to inherit from a custom base class, define it and point the initializer at it:

app/graphql/types/base_object.rb
class Types::BaseObject < Quail::Object
end
config/initializers/quail.rb
Quail.base_object_class = Types::BaseObject

This is useful when you need shared logic (authorization, tracing, etc.) across all generated types.