graphql 1.7.5 → 1.7.6
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/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
|