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 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