Class: GraphQL::Relay::ConnectionResolve

Inherits:
Object
  • Object
show all
Defined in:
lib/graphql/relay/connection_resolve.rb

Instance Method Summary collapse

Constructor Details

#initialize(field, underlying_resolve) ⇒ ConnectionResolve

Returns a new instance of ConnectionResolve.



5
6
7
8
9
# File 'lib/graphql/relay/connection_resolve.rb', line 5

def initialize(field, underlying_resolve)
  @field = field
  @underlying_resolve = underlying_resolve
  @max_page_size = field.connection_max_page_size
end

Instance Method Details

#call(obj, args, ctx) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/graphql/relay/connection_resolve.rb', line 11

def call(obj, args, ctx)
  nodes = @underlying_resolve.call(obj, args, ctx)

  if nodes.nil?
    nil
  elsif ctx.schema.lazy?(nodes)
    nodes
  else
    build_connection(nodes, args, obj, ctx)
  end
end