Skip to content

Commit

Permalink
Use .trace_with on graphql-ruby 2.3+
Browse files Browse the repository at this point in the history
  • Loading branch information
janko committed Mar 25, 2024
1 parent e7f18ea commit 87abcf8
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion lib/batch_loader/graphql.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,20 @@

class BatchLoader
class GraphQL
module Trace
def execute_field(**_data)
result = yield
result.respond_to?(:__sync) ? BatchLoader::GraphQL.wrap_with_warning(result) : result
end
end

def self.use(schema_definition)
schema_definition.lazy_resolve(BatchLoader::GraphQL, :sync)

# in cases when BatchLoader is being used instead of BatchLoader::GraphQL
if schema_definition.respond_to?(:interpreter?) && schema_definition.interpreter?
if schema_definition.respond_to?(:trace_with)
schema_definition.trace_with(Trace)
elsif schema_definition.respond_to?(:interpreter?) && schema_definition.interpreter?
schema_definition.tracer(self)
else
schema_definition.instrument(:field, self)
Expand Down

0 comments on commit 87abcf8

Please sign in to comment.