graphlyte 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/graphlyte/schema/parser.rb +10 -7
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 25e9370260ac88d2a810c879bf663c4965340c6838e8e19b18f19309d81ffec1
|
4
|
+
data.tar.gz: dc7c5ba7909fb9f4615021e07e819771f66a0d73ba8cc5772928cb896808b2e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 77b742ef11daf4270c22e9ede3ae848dfb0d81a6ad4717c7a6a75ffa88ecf9f688630aa1348d7b8092d0096314596ccef9a34d95ef87486f2292481795763669
|
7
|
+
data.tar.gz: 53c19eab7a95e2ee2b4d5f2d9412560035c511c5be12bc8af443cad6f742aea36aa34ffffc5242cc58fe9ab685f0465f1e67344905f5baadd196a4b0552148d2
|
@@ -205,6 +205,7 @@ module Graphlyte
|
|
205
205
|
|
206
206
|
def parse_fragment
|
207
207
|
if token = expect(:START_FRAGMENT)
|
208
|
+
parse_args
|
208
209
|
builder = Builder.new parse_fields
|
209
210
|
fragment = Fragment.new(token[0][1], token[0][2], builder: builder)
|
210
211
|
@fragments_dictionary[token[0][1]] = fragment
|
@@ -300,12 +301,12 @@ module Graphlyte
|
|
300
301
|
@tokens << [:END_FRAGMENT]
|
301
302
|
pop_state
|
302
303
|
pop_context
|
303
|
-
elsif scanner.check /^\s*\{\s
|
304
|
+
elsif scanner.check /^\s*\{\s*/
|
304
305
|
if get_context == :field
|
305
306
|
push_state :field
|
306
307
|
push_context :field
|
307
308
|
else
|
308
|
-
scanner.scan /^\s*\{\s
|
309
|
+
scanner.scan /^\s*\{\s*/
|
309
310
|
push_context :field
|
310
311
|
end
|
311
312
|
else
|
@@ -327,16 +328,16 @@ module Graphlyte
|
|
327
328
|
handle_field
|
328
329
|
end
|
329
330
|
when :query
|
330
|
-
if scanner.scan /\}
|
331
|
+
if scanner.scan /\s*\}\s*/
|
331
332
|
@tokens << [:END_QUERY]
|
332
333
|
pop_state
|
333
334
|
pop_context
|
334
|
-
elsif scanner.check /^\s*\{\s
|
335
|
+
elsif scanner.check /^\s*\{\s*/
|
335
336
|
if get_context == :field
|
336
337
|
push_state :field
|
337
338
|
push_context :field
|
338
339
|
else
|
339
|
-
scanner.scan /^\s*\{\s
|
340
|
+
scanner.scan /^\s*\{\s*/
|
340
341
|
push_context :field
|
341
342
|
end
|
342
343
|
else
|
@@ -397,7 +398,8 @@ module Graphlyte
|
|
397
398
|
scanner.scan /\.{3}(\w+)/
|
398
399
|
@tokens << [:FRAGMENT_REF, scanner[1]]
|
399
400
|
pop_context
|
400
|
-
|
401
|
+
# we need to pop state if we are nested in a field, and not in the query context
|
402
|
+
pop_state if get_context == :field
|
401
403
|
elsif scanner.scan /\.{3}(\w+)/
|
402
404
|
@tokens << [:FRAGMENT_REF, scanner[1]]
|
403
405
|
elsif scanner.scan /\s*(\w+):\s*/
|
@@ -406,7 +408,8 @@ module Graphlyte
|
|
406
408
|
scanner.scan /\s*(\w+)\s*/
|
407
409
|
@tokens << [:FIELD_NAME, scanner[1]]
|
408
410
|
pop_context
|
409
|
-
|
411
|
+
# we need to pop state if we are nested in a field, and not in the query context
|
412
|
+
pop_state if get_context == :field
|
410
413
|
elsif scanner.scan /\s*(\w+)\s*/
|
411
414
|
@tokens << [:FIELD_NAME, scanner[1]]
|
412
415
|
elsif scanner.scan /^\s*\(/
|