Skip to content

Commit

Permalink
Merge pull request #91 from janko/graphql-trace-with
Browse files Browse the repository at this point in the history
Use `.trace_with` on graphql-ruby 2.3+
  • Loading branch information
exAspArk authored Mar 25, 2024
2 parents e7f18ea + 87abcf8 commit 8664e09
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 8664e09

Please sign in to comment.