graphlyte 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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*\(/
|