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