Class: Quail::Query

Inherits:
GraphQL::Schema::Resolver
  • Object
show all
Defined in:
lib/quail.rb

Overview

Base resolver class for custom Quail queries with symbol-based type resolution.

Class Method Summary collapse

Class Method Details

.resolve_resource_type(name) ⇒ Object



68
69
70
71
# File 'lib/quail.rb', line 68

def self.resolve_resource_type(name)
  klass = "#{name.to_s.camelize}Resource".constantize
  klass.graphql_type
end

.type(type_arg = nil, null: nil, connection: false) ⇒ Object

Allows symbol-based type references that resolve to resource graphql types.

type :user, null: true # resolves to UserResource.graphql_type type [:article], null: false # resolves to [ArticleResource.graphql_type] type :subscription, connection: true, null: false # resolves to SubscriptionType.connection_type type Types::SessionType, null: false # pass-through, works as normal



50
51
52
53
# File 'lib/quail.rb', line 50

def self.type(type_arg = nil, null: nil, connection: false)
  resolved = resolve_type_arg(type_arg, connection: connection)
  super(resolved, null: null)
end