Skip to content

Commit 89e0842

Browse files
committed
Allow frozen queries in Loader.load
1 parent 85f54ed commit 89e0842

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

lib/graphql/remote_loader/loader.rb

+5-3
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ def self.load(query, context: {}, variables: {})
2121

2222
store_context(context)
2323

24-
interpolate_variables!(query, variables)
25-
26-
self.for.load([query, prime, @context])
24+
self.for.load([interpolate_variables(query, variables), prime, @context])
2725
end
2826

2927
# Loads the value, then if the query was successful, fulfills promise with
@@ -99,6 +97,10 @@ def perform(queries_and_primes)
9997
# E.g.
10098
# interpolate_variables("foo(bar: $my_var)", { my_var: "buzz" })
10199
# => "foo(bar: \"buzz\")"
100+
def self.interpolate_variables(query, variables = {})
101+
query.dup.tap { |mutable_query| interpolate_variables!(mutable_query, variables) }
102+
end
103+
102104
def self.interpolate_variables!(query, variables = {})
103105
variables.each do |variable, value|
104106
case value

0 commit comments

Comments
 (0)