graphql-ruby 2.3 switched to new module-based tracing, which requires passing a module to .trace_with. This module should then implement instance methods for events it wants to intercept. So basically, instead of a case statement, we now have method calls.
Also, the naming convention for modules within graphql-ruby is "trace", while the legacy classes were called "tracer". So, I chose to name the module Trace as well.
I could have called BatchLoader::GraphQL.trace("execute_field", data) to be more DRY, but I didn't want new API to call into legacy API, so I chose a bit of duplication.
graphql-ruby 2.3 switched to new module-based tracing, which requires passing a module to
.trace_with
. This module should then implement instance methods for events it wants to intercept. So basically, instead of a case statement, we now have method calls.Also, the naming convention for modules within graphql-ruby is "trace", while the legacy classes were called "tracer". So, I chose to name the module
Trace
as well.I could have called
BatchLoader::GraphQL.trace("execute_field", data)
to be more DRY, but I didn't want new API to call into legacy API, so I chose a bit of duplication.Closes #90