lib/graphql/batch/setup.rb in graphql-batch-0.3.5 vs lib/graphql/batch/setup.rb in graphql-batch-0.3.7

- old
+ new

@@ -1,11 +1,11 @@ module GraphQL::Batch class Setup class << self - def start_batching + def start_batching(executor_class) raise NestedError if GraphQL::Batch::Executor.current - GraphQL::Batch::Executor.current = GraphQL::Batch::Executor.new + GraphQL::Batch::Executor.current = executor_class.new end def end_batching GraphQL::Batch::Executor.current = nil end @@ -15,33 +15,34 @@ old_resolve_proc = field.resolve_proc field.redefine do resolve ->(obj, args, ctx) { GraphQL::Batch::Executor.current.clear begin - Promise.sync(old_resolve_proc.call(obj, args, ctx)) + ::Promise.sync(old_resolve_proc.call(obj, args, ctx)) ensure GraphQL::Batch::Executor.current.clear end } end end def before_query(query) warn "Deprecated graphql-batch setup `instrument(:query, GraphQL::Batch::Setup)`, replace with `use GraphQL::Batch`" - start_batching + start_batching(GraphQL::Batch::Executor) end def after_query(query) end_batching end end - def initialize(schema) + def initialize(schema, executor_class:) @schema = schema + @executor_class = executor_class end def before_query(query) - Setup.start_batching + Setup.start_batching(@executor_class) end def after_query(query) Setup.end_batching end