class GraphQL::Relay::EdgesInstrumentation::EdgesResolve
Public Class Methods
new(edge_class:, resolve:)
click to toggle source
# File lib/graphql/relay/edges_instrumentation.rb, line 21 def initialize(edge_class:, resolve:) @edge_class = edge_class @resolve_proc = resolve end
Public Instance Methods
call(obj, args, ctx)
click to toggle source
A user's custom Connection may return a lazy object, if so, handle it later.
# File lib/graphql/relay/edges_instrumentation.rb, line 28 def call(obj, args, ctx) parent = ctx.object nodes = @resolve_proc.call(obj, args, ctx) if ctx.schema.lazy?(nodes) nodes else nodes.map { |item| @edge_class.new(item, parent) } end end