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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a541bce9d787c84cbb85652dfaebced77765a79ef1256f016a723d574e389313
4
- data.tar.gz: 2b1e62293e73d388bb539fcec90f7f6f1269d843db8cd0410176ff4d90426a82
3
+ metadata.gz: 25e9370260ac88d2a810c879bf663c4965340c6838e8e19b18f19309d81ffec1
4
+ data.tar.gz: dc7c5ba7909fb9f4615021e07e819771f66a0d73ba8cc5772928cb896808b2e8
5
5
  SHA512:
6
- metadata.gz: 2dc601050babce04c958e6bb6f3bfcf84d55962f8164ffbb1452e69105795961e570c247f8af303baee982173c77eebd049027381a86573780408516a059e1ee
7
- data.tar.gz: 05d5f0acce7bb921cd721125eb63728c347f136eaf6a552385d53eb537578a341707d454be924e82a9b35d13acf9af77874d5c9731ad0215159401f6407f3873
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
- pop_state if scanner.check /\s*\}\s*\}/
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
- pop_state if scanner.check /\s*\}\s*\}/
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*\(/
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphlyte
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Gregory