Module: GraphQL::Extras::Preload

Defined in:
lib/graphql/extras/preload.rb

Instance Method Summary collapse

Instance Method Details

#initialize(*args, preload: nil, **opts, &block) ⇒ Object



26
27
28
29
# File 'lib/graphql/extras/preload.rb', line 26

def initialize(*args, preload: nil, **opts, &block)
  @preload = preload
  super(*args, **opts, &block)
end

#resolve(object, args, context) ⇒ Object



32
33
34
35
36
37
38
39
# File 'lib/graphql/extras/preload.rb', line 32

def resolve(object, args, context)
  if @preload
    loader = context.dataloader.with(PreloadSource, @preload)
    loader.load(object.object)
  end

  super
end