graphql 1.7.5 → 1.7.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/graphql/language/parser.rb +36 -36
- data/lib/graphql/language/parser.y +1 -1
- data/lib/graphql/subscriptions/serialize.rb +33 -2
- data/lib/graphql/version.rb +1 -1
- data/spec/dummy/log/test.log +21 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8w/8wY_SKagj8wHuwGNAAf6JnQ8joMbC6cEYpHrTAI8Urc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Xu/XU4k1OXnfMils5SrirorPvDSyDSqiOWLZNtmAH1HH8k.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pE/pE7gO6pQ-z187Swb4hT554wmqsq-cNzgPWLrCz-LQQQ.cache +0 -0
- data/spec/dummy/tmp/screenshots/failures_test_it_handles_subscriptions.png +0 -0
- data/spec/graphql/enum_type_spec.rb +1 -1
- data/spec/graphql/relay/mutation_spec.rb +2 -2
- data/spec/graphql/subscriptions/serialize_spec.rb +22 -4
- data/spec/support/dummy/schema.rb +2 -2
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ee2881b8335c9299d2dd2b707810856bb34d956
|
4
|
+
data.tar.gz: d23544e543addd64583dbcf82280fc92454a515c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db14299e06ef27b4f177980705c4f70d6b1d2a6defef6efad0a0b15db493ee1501c820c6fd298a60bc5ffdaf817d50abe4e7c2c145278da5e1ac46866e0a3648
|
7
|
+
data.tar.gz: 4776fe2f611c0cb93778fbf6101dfb81a3f08244bce650dccfbc2c999886ac0aac3d26f06533c6722c2e6aceab371ef9aa419f8d9b192301f2674519d5f66848
|
@@ -12,7 +12,7 @@ module GraphQL
|
|
12
12
|
module Language
|
13
13
|
class Parser < Racc::Parser
|
14
14
|
|
15
|
-
module_eval(<<'...end parser.y/module_eval...', 'parser.y',
|
15
|
+
module_eval(<<'...end parser.y/module_eval...', 'parser.y', 372)
|
16
16
|
|
17
17
|
def initialize(query_string, filename:, tracer: Tracing::NullTracer)
|
18
18
|
@query_string = query_string
|
@@ -72,7 +72,7 @@ def get_description(token)
|
|
72
72
|
end
|
73
73
|
|
74
74
|
def on_error(parser_token_id, lexer_token, vstack)
|
75
|
-
if lexer_token == "$"
|
75
|
+
if lexer_token == "$" || lexer_token == nil
|
76
76
|
raise GraphQL::ParseError.new("Unexpected end of document", nil, nil, @query_string, filename: @filename)
|
77
77
|
else
|
78
78
|
parser_token_name = token_to_str(parser_token_id)
|
@@ -1372,14 +1372,14 @@ module_eval(<<'.,.,', 'parser.y', 226)
|
|
1372
1372
|
end
|
1373
1373
|
.,.,
|
1374
1374
|
|
1375
|
-
module_eval(<<'.,.,', 'parser.y',
|
1375
|
+
module_eval(<<'.,.,', 'parser.y', 228)
|
1376
1376
|
def _reduce_99(val, _values, result)
|
1377
1377
|
return make_node(:Enum, name: val[0], position_source: val[0])
|
1378
1378
|
result
|
1379
1379
|
end
|
1380
1380
|
.,.,
|
1381
1381
|
|
1382
|
-
module_eval(<<'.,.,', 'parser.y',
|
1382
|
+
module_eval(<<'.,.,', 'parser.y', 231)
|
1383
1383
|
def _reduce_100(val, _values, result)
|
1384
1384
|
return []
|
1385
1385
|
result
|
@@ -1388,35 +1388,35 @@ module_eval(<<'.,.,', 'parser.y', 232)
|
|
1388
1388
|
|
1389
1389
|
# reduce 101 omitted
|
1390
1390
|
|
1391
|
-
module_eval(<<'.,.,', 'parser.y',
|
1391
|
+
module_eval(<<'.,.,', 'parser.y', 235)
|
1392
1392
|
def _reduce_102(val, _values, result)
|
1393
1393
|
return [val[0]]
|
1394
1394
|
result
|
1395
1395
|
end
|
1396
1396
|
.,.,
|
1397
1397
|
|
1398
|
-
module_eval(<<'.,.,', 'parser.y',
|
1398
|
+
module_eval(<<'.,.,', 'parser.y', 236)
|
1399
1399
|
def _reduce_103(val, _values, result)
|
1400
1400
|
val[0] << val[1]
|
1401
1401
|
result
|
1402
1402
|
end
|
1403
1403
|
.,.,
|
1404
1404
|
|
1405
|
-
module_eval(<<'.,.,', 'parser.y',
|
1405
|
+
module_eval(<<'.,.,', 'parser.y', 238)
|
1406
1406
|
def _reduce_104(val, _values, result)
|
1407
1407
|
return make_node(:Directive, name: val[1], arguments: val[2], position_source: val[0])
|
1408
1408
|
result
|
1409
1409
|
end
|
1410
1410
|
.,.,
|
1411
1411
|
|
1412
|
-
module_eval(<<'.,.,', 'parser.y',
|
1412
|
+
module_eval(<<'.,.,', 'parser.y', 241)
|
1413
1413
|
def _reduce_105(val, _values, result)
|
1414
1414
|
return make_node(:FragmentSpread, name: val[1], directives: val[2], position_source: val[0])
|
1415
1415
|
result
|
1416
1416
|
end
|
1417
1417
|
.,.,
|
1418
1418
|
|
1419
|
-
module_eval(<<'.,.,', 'parser.y',
|
1419
|
+
module_eval(<<'.,.,', 'parser.y', 245)
|
1420
1420
|
def _reduce_106(val, _values, result)
|
1421
1421
|
return make_node(:InlineFragment, {
|
1422
1422
|
type: val[2],
|
@@ -1429,7 +1429,7 @@ module_eval(<<'.,.,', 'parser.y', 246)
|
|
1429
1429
|
end
|
1430
1430
|
.,.,
|
1431
1431
|
|
1432
|
-
module_eval(<<'.,.,', 'parser.y',
|
1432
|
+
module_eval(<<'.,.,', 'parser.y', 253)
|
1433
1433
|
def _reduce_107(val, _values, result)
|
1434
1434
|
return make_node(:InlineFragment, {
|
1435
1435
|
type: nil,
|
@@ -1442,7 +1442,7 @@ module_eval(<<'.,.,', 'parser.y', 254)
|
|
1442
1442
|
end
|
1443
1443
|
.,.,
|
1444
1444
|
|
1445
|
-
module_eval(<<'.,.,', 'parser.y',
|
1445
|
+
module_eval(<<'.,.,', 'parser.y', 263)
|
1446
1446
|
def _reduce_108(val, _values, result)
|
1447
1447
|
return make_node(:FragmentDefinition, {
|
1448
1448
|
name: val[1],
|
@@ -1457,7 +1457,7 @@ module_eval(<<'.,.,', 'parser.y', 264)
|
|
1457
1457
|
end
|
1458
1458
|
.,.,
|
1459
1459
|
|
1460
|
-
module_eval(<<'.,.,', 'parser.y',
|
1460
|
+
module_eval(<<'.,.,', 'parser.y', 274)
|
1461
1461
|
def _reduce_109(val, _values, result)
|
1462
1462
|
return nil
|
1463
1463
|
result
|
@@ -1472,7 +1472,7 @@ module_eval(<<'.,.,', 'parser.y', 275)
|
|
1472
1472
|
|
1473
1473
|
# reduce 113 omitted
|
1474
1474
|
|
1475
|
-
module_eval(<<'.,.,', 'parser.y',
|
1475
|
+
module_eval(<<'.,.,', 'parser.y', 283)
|
1476
1476
|
def _reduce_114(val, _values, result)
|
1477
1477
|
return make_node(:SchemaDefinition, position_source: val[0], **val[2])
|
1478
1478
|
result
|
@@ -1481,14 +1481,14 @@ module_eval(<<'.,.,', 'parser.y', 284)
|
|
1481
1481
|
|
1482
1482
|
# reduce 115 omitted
|
1483
1483
|
|
1484
|
-
module_eval(<<'.,.,', 'parser.y',
|
1484
|
+
module_eval(<<'.,.,', 'parser.y', 287)
|
1485
1485
|
def _reduce_116(val, _values, result)
|
1486
1486
|
return val[0].merge(val[1])
|
1487
1487
|
result
|
1488
1488
|
end
|
1489
1489
|
.,.,
|
1490
1490
|
|
1491
|
-
module_eval(<<'.,.,', 'parser.y',
|
1491
|
+
module_eval(<<'.,.,', 'parser.y', 290)
|
1492
1492
|
def _reduce_117(val, _values, result)
|
1493
1493
|
return { val[0].to_s.to_sym => val[2] }
|
1494
1494
|
result
|
@@ -1507,14 +1507,14 @@ module_eval(<<'.,.,', 'parser.y', 291)
|
|
1507
1507
|
|
1508
1508
|
# reduce 123 omitted
|
1509
1509
|
|
1510
|
-
module_eval(<<'.,.,', 'parser.y',
|
1510
|
+
module_eval(<<'.,.,', 'parser.y', 300)
|
1511
1511
|
def _reduce_124(val, _values, result)
|
1512
1512
|
return make_node(:ScalarTypeDefinition, name: val[1], directives: val[2], description: get_description(val[0]), position_source: val[0])
|
1513
1513
|
result
|
1514
1514
|
end
|
1515
1515
|
.,.,
|
1516
1516
|
|
1517
|
-
module_eval(<<'.,.,', 'parser.y',
|
1517
|
+
module_eval(<<'.,.,', 'parser.y', 304)
|
1518
1518
|
def _reduce_125(val, _values, result)
|
1519
1519
|
return make_node(:ObjectTypeDefinition, name: val[1], interfaces: val[2], directives: val[3], fields: val[5], description: get_description(val[0]), position_source: val[0])
|
1520
1520
|
|
@@ -1522,21 +1522,21 @@ module_eval(<<'.,.,', 'parser.y', 305)
|
|
1522
1522
|
end
|
1523
1523
|
.,.,
|
1524
1524
|
|
1525
|
-
module_eval(<<'.,.,', 'parser.y',
|
1525
|
+
module_eval(<<'.,.,', 'parser.y', 308)
|
1526
1526
|
def _reduce_126(val, _values, result)
|
1527
1527
|
return []
|
1528
1528
|
result
|
1529
1529
|
end
|
1530
1530
|
.,.,
|
1531
1531
|
|
1532
|
-
module_eval(<<'.,.,', 'parser.y',
|
1532
|
+
module_eval(<<'.,.,', 'parser.y', 309)
|
1533
1533
|
def _reduce_127(val, _values, result)
|
1534
1534
|
return val[1]
|
1535
1535
|
result
|
1536
1536
|
end
|
1537
1537
|
.,.,
|
1538
1538
|
|
1539
|
-
module_eval(<<'.,.,', 'parser.y',
|
1539
|
+
module_eval(<<'.,.,', 'parser.y', 313)
|
1540
1540
|
def _reduce_128(val, _values, result)
|
1541
1541
|
return make_node(:InputValueDefinition, name: val[0], type: val[2], default_value: val[3], directives: val[4], description: get_description(val[0]))
|
1542
1542
|
|
@@ -1544,35 +1544,35 @@ module_eval(<<'.,.,', 'parser.y', 314)
|
|
1544
1544
|
end
|
1545
1545
|
.,.,
|
1546
1546
|
|
1547
|
-
module_eval(<<'.,.,', 'parser.y',
|
1547
|
+
module_eval(<<'.,.,', 'parser.y', 317)
|
1548
1548
|
def _reduce_129(val, _values, result)
|
1549
1549
|
return [val[0]]
|
1550
1550
|
result
|
1551
1551
|
end
|
1552
1552
|
.,.,
|
1553
1553
|
|
1554
|
-
module_eval(<<'.,.,', 'parser.y',
|
1554
|
+
module_eval(<<'.,.,', 'parser.y', 318)
|
1555
1555
|
def _reduce_130(val, _values, result)
|
1556
1556
|
val[0] << val[1]
|
1557
1557
|
result
|
1558
1558
|
end
|
1559
1559
|
.,.,
|
1560
1560
|
|
1561
|
-
module_eval(<<'.,.,', 'parser.y',
|
1561
|
+
module_eval(<<'.,.,', 'parser.y', 321)
|
1562
1562
|
def _reduce_131(val, _values, result)
|
1563
1563
|
return []
|
1564
1564
|
result
|
1565
1565
|
end
|
1566
1566
|
.,.,
|
1567
1567
|
|
1568
|
-
module_eval(<<'.,.,', 'parser.y',
|
1568
|
+
module_eval(<<'.,.,', 'parser.y', 322)
|
1569
1569
|
def _reduce_132(val, _values, result)
|
1570
1570
|
return val[1]
|
1571
1571
|
result
|
1572
1572
|
end
|
1573
1573
|
.,.,
|
1574
1574
|
|
1575
|
-
module_eval(<<'.,.,', 'parser.y',
|
1575
|
+
module_eval(<<'.,.,', 'parser.y', 326)
|
1576
1576
|
def _reduce_133(val, _values, result)
|
1577
1577
|
return make_node(:FieldDefinition, name: val[0], arguments: val[1], type: val[3], directives: val[4], description: get_description(val[0]))
|
1578
1578
|
|
@@ -1580,21 +1580,21 @@ module_eval(<<'.,.,', 'parser.y', 327)
|
|
1580
1580
|
end
|
1581
1581
|
.,.,
|
1582
1582
|
|
1583
|
-
module_eval(<<'.,.,', 'parser.y',
|
1583
|
+
module_eval(<<'.,.,', 'parser.y', 330)
|
1584
1584
|
def _reduce_134(val, _values, result)
|
1585
1585
|
return [val[0]]
|
1586
1586
|
result
|
1587
1587
|
end
|
1588
1588
|
.,.,
|
1589
1589
|
|
1590
|
-
module_eval(<<'.,.,', 'parser.y',
|
1590
|
+
module_eval(<<'.,.,', 'parser.y', 331)
|
1591
1591
|
def _reduce_135(val, _values, result)
|
1592
1592
|
val[0] << val[1]
|
1593
1593
|
result
|
1594
1594
|
end
|
1595
1595
|
.,.,
|
1596
1596
|
|
1597
|
-
module_eval(<<'.,.,', 'parser.y',
|
1597
|
+
module_eval(<<'.,.,', 'parser.y', 335)
|
1598
1598
|
def _reduce_136(val, _values, result)
|
1599
1599
|
return make_node(:InterfaceTypeDefinition, name: val[1], directives: val[2], fields: val[4], description: get_description(val[0]), position_source: val[0])
|
1600
1600
|
|
@@ -1602,21 +1602,21 @@ module_eval(<<'.,.,', 'parser.y', 336)
|
|
1602
1602
|
end
|
1603
1603
|
.,.,
|
1604
1604
|
|
1605
|
-
module_eval(<<'.,.,', 'parser.y',
|
1605
|
+
module_eval(<<'.,.,', 'parser.y', 339)
|
1606
1606
|
def _reduce_137(val, _values, result)
|
1607
1607
|
return [make_node(:TypeName, name: val[0])]
|
1608
1608
|
result
|
1609
1609
|
end
|
1610
1610
|
.,.,
|
1611
1611
|
|
1612
|
-
module_eval(<<'.,.,', 'parser.y',
|
1612
|
+
module_eval(<<'.,.,', 'parser.y', 340)
|
1613
1613
|
def _reduce_138(val, _values, result)
|
1614
1614
|
val[0] << make_node(:TypeName, name: val[2])
|
1615
1615
|
result
|
1616
1616
|
end
|
1617
1617
|
.,.,
|
1618
1618
|
|
1619
|
-
module_eval(<<'.,.,', 'parser.y',
|
1619
|
+
module_eval(<<'.,.,', 'parser.y', 344)
|
1620
1620
|
def _reduce_139(val, _values, result)
|
1621
1621
|
return make_node(:UnionTypeDefinition, name: val[1], directives: val[2], types: val[4], description: get_description(val[0]), position_source: val[0])
|
1622
1622
|
|
@@ -1624,7 +1624,7 @@ module_eval(<<'.,.,', 'parser.y', 345)
|
|
1624
1624
|
end
|
1625
1625
|
.,.,
|
1626
1626
|
|
1627
|
-
module_eval(<<'.,.,', 'parser.y',
|
1627
|
+
module_eval(<<'.,.,', 'parser.y', 349)
|
1628
1628
|
def _reduce_140(val, _values, result)
|
1629
1629
|
return make_node(:EnumTypeDefinition, name: val[1], directives: val[2], values: val[4], description: get_description(val[0]), position_source: val[0])
|
1630
1630
|
|
@@ -1632,7 +1632,7 @@ module_eval(<<'.,.,', 'parser.y', 350)
|
|
1632
1632
|
end
|
1633
1633
|
.,.,
|
1634
1634
|
|
1635
|
-
module_eval(<<'.,.,', 'parser.y',
|
1635
|
+
module_eval(<<'.,.,', 'parser.y', 354)
|
1636
1636
|
def _reduce_141(val, _values, result)
|
1637
1637
|
return make_node(:InputObjectTypeDefinition, name: val[1], directives: val[2], fields: val[4], description: get_description(val[0]), position_source: val[0])
|
1638
1638
|
|
@@ -1640,7 +1640,7 @@ module_eval(<<'.,.,', 'parser.y', 355)
|
|
1640
1640
|
end
|
1641
1641
|
.,.,
|
1642
1642
|
|
1643
|
-
module_eval(<<'.,.,', 'parser.y',
|
1643
|
+
module_eval(<<'.,.,', 'parser.y', 359)
|
1644
1644
|
def _reduce_142(val, _values, result)
|
1645
1645
|
return make_node(:DirectiveDefinition, name: val[2], arguments: val[3], locations: val[5], description: get_description(val[0]), position_source: val[0])
|
1646
1646
|
|
@@ -1648,14 +1648,14 @@ module_eval(<<'.,.,', 'parser.y', 360)
|
|
1648
1648
|
end
|
1649
1649
|
.,.,
|
1650
1650
|
|
1651
|
-
module_eval(<<'.,.,', 'parser.y',
|
1651
|
+
module_eval(<<'.,.,', 'parser.y', 363)
|
1652
1652
|
def _reduce_143(val, _values, result)
|
1653
1653
|
return [val[0].to_s]
|
1654
1654
|
result
|
1655
1655
|
end
|
1656
1656
|
.,.,
|
1657
1657
|
|
1658
|
-
module_eval(<<'.,.,', 'parser.y',
|
1658
|
+
module_eval(<<'.,.,', 'parser.y', 364)
|
1659
1659
|
def _reduce_144(val, _values, result)
|
1660
1660
|
val[0] << val[2].to_s
|
1661
1661
|
result
|
@@ -428,7 +428,7 @@ def get_description(token)
|
|
428
428
|
end
|
429
429
|
|
430
430
|
def on_error(parser_token_id, lexer_token, vstack)
|
431
|
-
if lexer_token == "$"
|
431
|
+
if lexer_token == "$" || lexer_token == nil
|
432
432
|
raise GraphQL::ParseError.new("Unexpected end of document", nil, nil, @query_string, filename: @filename)
|
433
433
|
else
|
434
434
|
parser_token_name = token_to_str(parser_token_id)
|
@@ -1,11 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
# test_via: ../subscriptions.rb
|
3
|
+
require "set"
|
3
4
|
module GraphQL
|
4
5
|
class Subscriptions
|
5
6
|
# Serialization helpers for passing subscription data around.
|
6
7
|
# @api private
|
7
8
|
module Serialize
|
8
9
|
GLOBALID_KEY = "__gid__"
|
10
|
+
SYMBOL_KEY = "__sym__"
|
11
|
+
SYMBOL_KEYS_KEY = "__sym_keys__"
|
12
|
+
|
9
13
|
module_function
|
10
14
|
|
11
15
|
# @param str [String] A serialized object from {.dump}
|
@@ -51,8 +55,21 @@ module GraphQL
|
|
51
55
|
elsif value.is_a?(Hash)
|
52
56
|
if value.size == 1 && value.key?(GLOBALID_KEY)
|
53
57
|
GlobalID::Locator.locate(value[GLOBALID_KEY])
|
58
|
+
elsif value.size == 1 && value.key?(SYMBOL_KEY)
|
59
|
+
value[SYMBOL_KEY].to_sym
|
54
60
|
else
|
55
|
-
|
61
|
+
loaded_h = {}
|
62
|
+
sym_keys = value.fetch(SYMBOL_KEYS_KEY, [])
|
63
|
+
value.each do |k, v|
|
64
|
+
if k == SYMBOL_KEYS_KEY
|
65
|
+
next
|
66
|
+
end
|
67
|
+
if sym_keys.include?(k)
|
68
|
+
k = k.to_sym
|
69
|
+
end
|
70
|
+
loaded_h[k] = load_value(v)
|
71
|
+
end
|
72
|
+
loaded_h
|
56
73
|
end
|
57
74
|
else
|
58
75
|
value
|
@@ -65,7 +82,21 @@ module GraphQL
|
|
65
82
|
if obj.is_a?(Array)
|
66
83
|
obj.map{|item| dump_value(item)}
|
67
84
|
elsif obj.is_a?(Hash)
|
68
|
-
|
85
|
+
symbol_keys = nil
|
86
|
+
dumped_h = {}
|
87
|
+
obj.each do |k, v|
|
88
|
+
dumped_h[k.to_s] = dump_value(v)
|
89
|
+
if k.is_a?(Symbol)
|
90
|
+
symbol_keys ||= Set.new
|
91
|
+
symbol_keys << k.to_s
|
92
|
+
end
|
93
|
+
end
|
94
|
+
if symbol_keys
|
95
|
+
dumped_h[SYMBOL_KEYS_KEY] = symbol_keys.to_a
|
96
|
+
end
|
97
|
+
dumped_h
|
98
|
+
elsif obj.is_a?(Symbol)
|
99
|
+
{ SYMBOL_KEY => obj.to_s }
|
69
100
|
elsif obj.respond_to?(:to_gid_param)
|
70
101
|
{GLOBALID_KEY => obj.to_gid_param}
|
71
102
|
else
|
data/lib/graphql/version.rb
CHANGED
data/spec/dummy/log/test.log
CHANGED
@@ -787,3 +787,24 @@ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>3}}}, "mor
|
|
787
787
|
Finished "/cable/" [WebSocket] for 127.0.0.1 at 2017-10-08 21:31:14 -0400
|
788
788
|
GraphqlChannel stopped streaming from graphql-subscription:9596f3a8-2ca8-4cc7-af9b-a451c56174ac
|
789
789
|
GraphqlChannel stopped streaming from graphql-event::payload:id:updates-2
|
790
|
+
-----------------------------------------------------------
|
791
|
+
ActionCableSubscriptionsTest: test_it_handles_subscriptions
|
792
|
+
-----------------------------------------------------------
|
793
|
+
Started GET "/" for 127.0.0.1 at 2017-11-13 21:58:51 -0500
|
794
|
+
Processing by PagesController#show as HTML
|
795
|
+
Rendering pages/show.html within layouts/application
|
796
|
+
Rendered pages/show.html within layouts/application (0.9ms)
|
797
|
+
Completed 200 OK in 136ms (Views: 134.7ms)
|
798
|
+
Started GET "/assets/application-aca150c4b2db51d5326af18134f6281fbce7e823a372b0337cca65ff41b4a7ea.js" for 127.0.0.1 at 2017-11-13 21:58:51 -0500
|
799
|
+
Started GET "/cable" for 127.0.0.1 at 2017-11-13 21:58:51 -0500
|
800
|
+
Started GET "/cable/" [WebSocket] for 127.0.0.1 at 2017-11-13 21:58:51 -0500
|
801
|
+
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
|
802
|
+
Could not execute command from ({"command"=>"subscribe", "identifier"=>"{\"channel\":\"GraphqlChannel\",\"id\":\"15fb8788afa\"}"}) [SyntaxError - /Users/rmosolgo/code/graphql-ruby/spec/dummy/app/channels/graphql_channel.rb:43: syntax error, unexpected keyword_end
|
803
|
+
end
|
804
|
+
^
|
805
|
+
/Users/rmosolgo/code/graphql-ruby/spec/dummy/app/channels/graphql_channel.rb:103: syntax error, unexpected end-of-input, expecting keyword_end]: /Users/rmosolgo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `require' | /Users/rmosolgo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `block in require' | /Users/rmosolgo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:258:in `load_dependency' | /Users/rmosolgo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `require' | /Users/rmosolgo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:379:in `block in require_or_load'
|
806
|
+
Could not execute command from ({"command"=>"subscribe", "identifier"=>"{\"channel\":\"GraphqlChannel\",\"id\":\"15fb87828a0\"}"}) [SyntaxError - /Users/rmosolgo/code/graphql-ruby/spec/dummy/app/channels/graphql_channel.rb:43: syntax error, unexpected keyword_end
|
807
|
+
end
|
808
|
+
^
|
809
|
+
/Users/rmosolgo/code/graphql-ruby/spec/dummy/app/channels/graphql_channel.rb:103: syntax error, unexpected end-of-input, expecting keyword_end]: /Users/rmosolgo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `require' | /Users/rmosolgo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `block in require' | /Users/rmosolgo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:258:in `load_dependency' | /Users/rmosolgo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `require' | /Users/rmosolgo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:379:in `block in require_or_load'
|
810
|
+
Finished "/cable/" [WebSocket] for 127.0.0.1 at 2017-11-13 21:58:53 -0500
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8w/8wY_SKagj8wHuwGNAAf6JnQ8joMbC6cEYpHrTAI8Urc.cache
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
"%A��G�{h t�l�m�V���NE���f���
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Xu/XU4k1OXnfMils5SrirorPvDSyDSqiOWLZNtmAH1HH8k.cache
ADDED
Binary file
|
data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pE/pE7gO6pQ-z187Swb4hT554wmqsq-cNzgPWLrCz-LQQQ.cache
ADDED
Binary file
|
Binary file
|
@@ -130,7 +130,7 @@ describe GraphQL::EnumType do
|
|
130
130
|
it "raises an exception when adding a duplicate enum value name" do
|
131
131
|
expected_message = "Enum value names must be unique. Value `COW` already exists on Enum `DairyAnimal`."
|
132
132
|
|
133
|
-
exception = assert_raises do
|
133
|
+
exception = assert_raises(RuntimeError) do
|
134
134
|
enum.add_value(GraphQL::EnumType::EnumValue.define(name: "COW"))
|
135
135
|
end
|
136
136
|
|
@@ -70,8 +70,8 @@ describe GraphQL::Relay::Mutation do
|
|
70
70
|
|
71
71
|
schema = GraphQL::Schema.define { mutation(root) }
|
72
72
|
|
73
|
-
exception = assert_raises do
|
74
|
-
|
73
|
+
exception = assert_raises(StandardError) do
|
74
|
+
schema.execute('mutation { bad(input: { input: "graphql" }) { return } }')
|
75
75
|
end
|
76
76
|
|
77
77
|
expected_message = "Expected `my_bad_return_value` to be a Hash."\
|
@@ -24,13 +24,21 @@ if defined?(GlobalID)
|
|
24
24
|
end
|
25
25
|
|
26
26
|
describe GraphQL::Subscriptions::Serialize do
|
27
|
+
def serialize_dump(v)
|
28
|
+
GraphQL::Subscriptions::Serialize.dump(v)
|
29
|
+
end
|
30
|
+
|
31
|
+
def serialize_load(v)
|
32
|
+
GraphQL::Subscriptions::Serialize.load(v)
|
33
|
+
end
|
34
|
+
|
27
35
|
if defined?(GlobalID)
|
28
36
|
it "should serialize GlobalID::Identification in Array/Hash" do
|
29
37
|
user_a = GlobalIDUser.new("a")
|
30
38
|
user_b = GlobalIDUser.new("b")
|
31
39
|
|
32
|
-
str_a =
|
33
|
-
str_b =
|
40
|
+
str_a = serialize_dump(["first", 2, user_a])
|
41
|
+
str_b = serialize_dump({"first" => 'first', "second" => 2, "user" => user_b})
|
34
42
|
|
35
43
|
assert_equal str_a, '["first",2,{"__gid__":"Z2lkOi8vZ3JhcGhxbC1ydWJ5LXRlc3QvR2xvYmFsSURVc2VyL2E"}]'
|
36
44
|
assert_equal str_b, '{"first":"first","second":2,"user":{"__gid__":"Z2lkOi8vZ3JhcGhxbC1ydWJ5LXRlc3QvR2xvYmFsSURVc2VyL2I"}}'
|
@@ -43,11 +51,21 @@ describe GraphQL::Subscriptions::Serialize do
|
|
43
51
|
str_a = '["first",2,{"__gid__":"Z2lkOi8vZ3JhcGhxbC1ydWJ5LXRlc3QvR2xvYmFsSURVc2VyL2E"}]'
|
44
52
|
str_b = '{"first":"first","second":2,"user":{"__gid__":"Z2lkOi8vZ3JhcGhxbC1ydWJ5LXRlc3QvR2xvYmFsSURVc2VyL2I"}}'
|
45
53
|
|
46
|
-
parsed_obj_a =
|
47
|
-
parsed_obj_b =
|
54
|
+
parsed_obj_a = serialize_load(str_a)
|
55
|
+
parsed_obj_b = serialize_load(str_b)
|
48
56
|
|
49
57
|
assert_equal parsed_obj_a, ["first", 2, user_a]
|
50
58
|
assert_equal parsed_obj_b, {'first' => 'first', 'second' => 2, 'user' => user_b}
|
51
59
|
end
|
52
60
|
end
|
61
|
+
|
62
|
+
it "can deserialize symbols" do
|
63
|
+
value = { a: :a, "b" => 2 }
|
64
|
+
|
65
|
+
dumped = serialize_dump(value)
|
66
|
+
expected_dumped = '{"a":{"__sym__":"a"},"b":2,"__sym_keys__":["a"]}'
|
67
|
+
assert_equal expected_dumped, dumped
|
68
|
+
loaded = serialize_load(dumped)
|
69
|
+
assert_equal value, loaded
|
70
|
+
end
|
53
71
|
end
|
@@ -76,7 +76,7 @@ module Dummy
|
|
76
76
|
if sources.include?("YAK")
|
77
77
|
raise NoSuchDairyError.new("No cheeses are made from Yak milk!")
|
78
78
|
else
|
79
|
-
CHEESES.values.find { |
|
79
|
+
CHEESES.values.find { |cheese| sources.include?(cheese.source) }
|
80
80
|
end
|
81
81
|
}
|
82
82
|
end
|
@@ -254,7 +254,7 @@ module Dummy
|
|
254
254
|
|
255
255
|
def call(obj, args, ctx)
|
256
256
|
id_string = args["id"].to_s # Cheese has Int type, Milk has ID type :(
|
257
|
-
_id, item = @data.find { |id,
|
257
|
+
_id, item = @data.find { |id, _item| id.to_s == id_string }
|
258
258
|
item
|
259
259
|
end
|
260
260
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: graphql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Mosolgo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-11-
|
11
|
+
date: 2017-11-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: benchmark-ips
|
@@ -634,6 +634,7 @@ files:
|
|
634
634
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/7r/7rgR5Gy_i08FxXwdCvtqSCXSghB7e5EXB2Vox4MQVUg.cache
|
635
635
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/8Q/8Qz_ptqTPNDlaE2aAVgaFiIBByiF2fhNHKQJFggzJYA.cache
|
636
636
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/8e/8ezXMOIySx7oyopI2nH1EXfCzPCFHTJiS3q2tvyEZjY.cache
|
637
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/8w/8wY_SKagj8wHuwGNAAf6JnQ8joMbC6cEYpHrTAI8Urc.cache
|
637
638
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/99/99m8UCKl4j8IpsVOK8ltLHyNh8Ae0nHw3GBkC34V_co.cache
|
638
639
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/9a/9abVi8XfoB8pGShaL5_-jzZGJIxKmedpFY0HQ5h24oE.cache
|
639
640
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/9g/9gsAnrIrurboVInpkI-XlUZdUGmshgVKXpdRCtXUt6U.cache
|
@@ -728,6 +729,7 @@ files:
|
|
728
729
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Ws/WsHB1qkchRYVF4JV0Yqtr-QiyZ26DiLFtKTrCRVc5kI.cache
|
729
730
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/XD/XDRDiP6A_Qz7pCCfZHYO6Xfob7trS4JQQoX_ByuWnRI.cache
|
730
731
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Xr/XrGClLu5lOe_6gWU_Nm-tCAC6tUCFpoTPwyKLHmrnNw.cache
|
732
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Xu/XU4k1OXnfMils5SrirorPvDSyDSqiOWLZNtmAH1HH8k.cache
|
731
733
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Xu/XupuIipXyzmZQIRfy2SfGTCS21Y-sBxWWjFWmnxYllM.cache
|
732
734
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Xx/XxkX9e-7J9By7nLHpwyUoOdUJ78twXYUefvXKie2WkA.cache
|
733
735
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Yf/YfGn3oqi1Sm1_rHBqpmph8QpfhWTITbEUWS9waD_HKg.cache
|
@@ -803,6 +805,7 @@ files:
|
|
803
805
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/nq/nqz2Ja53LHhXhFb6ChNpDKnBMWNdp17ZtNhrn-9wdR0.cache
|
804
806
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/oY/oYHos9r6mwOX5jDyDTWjnpRR_SvWe4EX9gAl20Gqj8I.cache
|
805
807
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/oj/ojlR_0dl68-YErHzTDzB8lO8nKxQzG6x_Axc5oWIeBg.cache
|
808
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/pE/pE7gO6pQ-z187Swb4hT554wmqsq-cNzgPWLrCz-LQQQ.cache
|
806
809
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/pG/pGc_RfrP3RwCp5SBabj-nGnfyeSnUp1Ed1ajCG5Yx-A.cache
|
807
810
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/pQ/PQZm6DUZqIXs_3Wo9ISeQRb0vYyB0XG7iGSHr9_TWlc.cache
|
808
811
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/pQ/pQXlqH4DBItuAHNMXGnwQmnzYkwJ2m7kUgKQbdbZM1E.cache
|
@@ -1099,6 +1102,7 @@ test_files:
|
|
1099
1102
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/7r/7rgR5Gy_i08FxXwdCvtqSCXSghB7e5EXB2Vox4MQVUg.cache
|
1100
1103
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/8e/8ezXMOIySx7oyopI2nH1EXfCzPCFHTJiS3q2tvyEZjY.cache
|
1101
1104
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/8Q/8Qz_ptqTPNDlaE2aAVgaFiIBByiF2fhNHKQJFggzJYA.cache
|
1105
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/8w/8wY_SKagj8wHuwGNAAf6JnQ8joMbC6cEYpHrTAI8Urc.cache
|
1102
1106
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/99/99m8UCKl4j8IpsVOK8ltLHyNh8Ae0nHw3GBkC34V_co.cache
|
1103
1107
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/9a/9abVi8XfoB8pGShaL5_-jzZGJIxKmedpFY0HQ5h24oE.cache
|
1104
1108
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/9g/9gsAnrIrurboVInpkI-XlUZdUGmshgVKXpdRCtXUt6U.cache
|
@@ -1227,6 +1231,7 @@ test_files:
|
|
1227
1231
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/P-/P-STcrlrr_UHY2DAzJOcMU2FOt1STMToqoJ3hYaAEEE.cache
|
1228
1232
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/PA/PAJgjBwkjHBCPPw8wWUsKsUR7TvgP4RK7PV8-Jdqluw.cache
|
1229
1233
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/PA/paWxJFaOGYb5g3bPUex7k8lTzXqbJ4F0Uw_zBZI8XxU.cache
|
1234
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/pE/pE7gO6pQ-z187Swb4hT554wmqsq-cNzgPWLrCz-LQQQ.cache
|
1230
1235
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/pG/pGc_RfrP3RwCp5SBabj-nGnfyeSnUp1Ed1ajCG5Yx-A.cache
|
1231
1236
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/pj/pjg7FTDRmEzqh8W3ijd1Y3GbffQuQwwSKEZ6ftoPnJE.cache
|
1232
1237
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/pj/pJtdFKizdxA_xBjuuXQWYnEvCcImUQtT5Rh-tGG6v48.cache
|
@@ -1287,6 +1292,7 @@ test_files:
|
|
1287
1292
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/xL/xLktzniI5dkWKAifTMHzZvRHyRHOexsqV-ZRsdLXx0g.cache
|
1288
1293
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/xL/xLZtF0WWBePfiVBWxxi6brXCLsEfcrj435b9xJupeeU.cache
|
1289
1294
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Xr/XrGClLu5lOe_6gWU_Nm-tCAC6tUCFpoTPwyKLHmrnNw.cache
|
1295
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Xu/XU4k1OXnfMils5SrirorPvDSyDSqiOWLZNtmAH1HH8k.cache
|
1290
1296
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Xu/XupuIipXyzmZQIRfy2SfGTCS21Y-sBxWWjFWmnxYllM.cache
|
1291
1297
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/xv/xvoydM1zth53tauNTatJNfb-o44mAGDD9-85yRkpeqY.cache
|
1292
1298
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Xx/XxkX9e-7J9By7nLHpwyUoOdUJ78twXYUefvXKie2WkA.cache
|