graphql 1.8.0.pre10 → 1.8.0.pre11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. checksums.yaml +5 -5
  2. data/lib/generators/graphql/install_generator.rb +14 -8
  3. data/lib/graphql.rb +1 -24
  4. data/lib/graphql/backtrace.rb +1 -1
  5. data/lib/graphql/deprecated_dsl.rb +2 -2
  6. data/lib/graphql/execution/execute.rb +6 -0
  7. data/lib/graphql/execution/lazy/lazy_method_map.rb +1 -1
  8. data/lib/graphql/introspection/base_object.rb +1 -0
  9. data/lib/graphql/language/document_from_schema_definition.rb +4 -1
  10. data/lib/graphql/language/nodes.rb +5 -2
  11. data/lib/graphql/language/parser.rb +288 -288
  12. data/lib/graphql/language/parser.y +1 -1
  13. data/lib/graphql/language/printer.rb +12 -2
  14. data/lib/graphql/non_null_type.rb +1 -1
  15. data/lib/graphql/query.rb +1 -1
  16. data/lib/graphql/query/arguments.rb +1 -1
  17. data/lib/graphql/query/context.rb +2 -2
  18. data/lib/graphql/query/null_context.rb +1 -1
  19. data/lib/graphql/query/result.rb +1 -1
  20. data/lib/graphql/query/variables.rb +21 -3
  21. data/lib/graphql/relay.rb +1 -0
  22. data/lib/graphql/relay/mongo_relation_connection.rb +40 -0
  23. data/lib/graphql/scalar_type.rb +14 -2
  24. data/lib/graphql/schema.rb +17 -1
  25. data/lib/graphql/schema/argument.rb +39 -7
  26. data/lib/graphql/schema/enum.rb +7 -0
  27. data/lib/graphql/schema/field.rb +145 -39
  28. data/lib/graphql/schema/finder.rb +4 -4
  29. data/lib/graphql/schema/input_object.rb +13 -2
  30. data/lib/graphql/schema/interface.rb +50 -16
  31. data/lib/graphql/schema/list.rb +28 -0
  32. data/lib/graphql/schema/member.rb +8 -106
  33. data/lib/graphql/schema/member/accepts_definition.rb +58 -24
  34. data/lib/graphql/schema/member/base_dsl_methods.rb +96 -0
  35. data/lib/graphql/schema/member/build_type.rb +15 -9
  36. data/lib/graphql/schema/member/cached_graphql_definition.rb +26 -0
  37. data/lib/graphql/schema/member/graphql_type_names.rb +21 -0
  38. data/lib/graphql/schema/member/has_arguments.rb +1 -1
  39. data/lib/graphql/schema/member/has_fields.rb +91 -8
  40. data/lib/graphql/schema/member/type_system_helpers.rb +34 -0
  41. data/lib/graphql/schema/middleware_chain.rb +5 -1
  42. data/lib/graphql/schema/mutation.rb +24 -12
  43. data/lib/graphql/schema/non_null.rb +34 -0
  44. data/lib/graphql/schema/object.rb +24 -11
  45. data/lib/graphql/schema/relay_classic_mutation.rb +14 -11
  46. data/lib/graphql/schema/rescue_middleware.rb +8 -7
  47. data/lib/graphql/schema/scalar.rb +9 -2
  48. data/lib/graphql/schema/union.rb +4 -0
  49. data/lib/graphql/static_validation/definition_dependencies.rb +1 -1
  50. data/lib/graphql/static_validation/literal_validator.rb +16 -4
  51. data/lib/graphql/static_validation/validation_context.rb +1 -1
  52. data/lib/graphql/subscriptions.rb +90 -16
  53. data/lib/graphql/upgrader/member.rb +27 -89
  54. data/lib/graphql/version.rb +1 -1
  55. data/spec/dummy/app/channels/graphql_channel.rb +1 -1
  56. data/spec/dummy/log/test.log +206 -0
  57. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-x/-xYZjAnuuzgR79fcznLTQtSdh6AARxu8FcQ_J6p7L3U.cache +0 -0
  58. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/13/13HiV12xyoQvT-1L39ZzLwMZxjyaGMiENmfw7f-QTIc.cache +0 -0
  59. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/3W/3Wtf5pCWdqq0AB-iB0Y9uUNrTkruRxIEf1XFn_BETU0.cache +1 -0
  60. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5i/5iguGafb4hOn8262Kn8Q37ogNN9MxxQKGKNzHAzUcvI.cache +1 -0
  61. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8m/8mj2T6yy847Mc2Z7k3Xzh8O91hhVJt3NrPe8ASNDlIA.cache +1 -0
  62. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DT/DTQyMpr4ABZYQetsdRJ5A7S4jf1r3ie4FGOR7GZBNSs.cache +3 -0
  63. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dq/DqJ5_yJPrP5iLlOQyTQsjAVI5FE5LCVDkED0f7GgsSo.cache +3 -0
  64. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/F8/F8MUNRzORGFgr329fNM0xLaoWCXdv3BIalT7dsvLfjs.cache +0 -0
  65. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/KB/KB07ZaKNC5uXJ7TjLi-WqnY6g7dq8wWp_8N3HNjBNxg.cache +0 -0
  66. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Rw/RwDuCV-XpnCtjNkvhpJfBuxXMk0b5AD3L9eR6M-wcy0.cache +3 -0
  67. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UL/ULdjhhb0bRuqmaG7XSZlFYzGYCXTDnqZuJBTWRlzqgw.cache +0 -0
  68. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Up/UpPNgh0yYoUsyMDh5zWqe_U6qJIyTC6-dxMMAs1vvlM.cache +1 -0
  69. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Wg/Wguh-szFGTI1gaL6npYwPekMXflugRei7F_mOyRucXg.cache +0 -0
  70. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/X-/X-khLYMA9mqFRPg3zAi86mREDxpKl4bdKYp3uF6WHos.cache +0 -0
  71. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bi/BIkdhfxsezxM4q-HZ4oCNTq97WEJTigcq0tpX2cDvbY.cache +0 -0
  72. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ff/FfxmA4CMHQZT7exx0G7NS1Wpcnny0vzp-Jhc2H36bp8.cache +1 -0
  73. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gE/gEiiG4GZNy_djEjK2pHm_NgA-gyhLZhdQvo0Yt96GqE.cache +0 -0
  74. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gn/gnA9ZSqpjccNL2m8pe_jBvY6SinXlCzXDWyop83Od8s.cache +1 -0
  75. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lO/lOAan3cMwCE_Hli6gsDML88xFNfn0nxPmvrSkW7eEOw.cache +1 -0
  76. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/m1/M1pv8MJEPLXGLvS8QxVh3DSO9cI4mRt5FHFWdrvUj6o.cache +2 -0
  77. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/m7/m77qH7ZqH0_0SmwJbiKGDd-aLau1Dav847DC6ge46zY.cache +1 -0
  78. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sj/sjRjnjRB37lH2vrgtkdJ8Cz84__IJ978IuKTM7HcztI.cache +0 -0
  79. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/um/um1JrirR4hJhK-1rE-HywlyCi5ibgxHVrReiujZBWJM.cache +1 -0
  80. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/v4/v4fwVytD7ITcE0_GDbslZEYud8a5Okm85fV1o7SDl6g.cache +0 -0
  81. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/v_/v_0PAQt0iipQjFP5zjgkkk9Stnpf4VzvnMv67d1Keuw.cache +1 -0
  82. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wd/wdT9U4MKxe1PyqNjVuCKMpCl3dxGCIRJIlwUTfh2DQU.cache +1 -0
  83. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xI/xIaxut_fEIhKBDqljTNwYaADK9kj3gG0ESrfHs-5_og.cache +3 -0
  84. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/y0/y0SJOqIx2fn1SKqOkAihsQow0trRJrSIyAswufVuoA8.cache +0 -0
  85. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zg/zgpzeaX-KZErHyGJ1aBH3ZusweNXMneVZule88XsIJI.cache +1 -0
  86. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zy/zYFltDy-8VC-uKq2BVEiJJyYXNFvVzAKuMlR3ZIYZsk.cache +0 -0
  87. data/spec/dummy/tmp/screenshots/failures_test_it_handles_subscriptions.png +0 -0
  88. data/spec/fixtures/upgrader/photo.original.rb +10 -0
  89. data/spec/fixtures/upgrader/photo.transformed.rb +12 -0
  90. data/spec/fixtures/upgrader/starrable.original.rb +4 -1
  91. data/spec/fixtures/upgrader/starrable.transformed.rb +25 -22
  92. data/spec/fixtures/upgrader/subscribable.transformed.rb +32 -33
  93. data/spec/graphql/execution_error_spec.rb +18 -0
  94. data/spec/graphql/introspection/schema_type_spec.rb +1 -0
  95. data/spec/graphql/object_type_spec.rb +2 -1
  96. data/spec/graphql/query/variables_spec.rb +41 -0
  97. data/spec/graphql/relay/mongo_relation_connection_spec.rb +474 -0
  98. data/spec/graphql/schema/argument_spec.rb +65 -9
  99. data/spec/graphql/schema/build_from_definition_spec.rb +4 -2
  100. data/spec/graphql/schema/enum_spec.rb +1 -1
  101. data/spec/graphql/schema/field_spec.rb +79 -4
  102. data/spec/graphql/schema/input_object_spec.rb +56 -0
  103. data/spec/graphql/schema/instrumentation_spec.rb +4 -3
  104. data/spec/graphql/schema/interface_spec.rb +40 -25
  105. data/spec/graphql/schema/member/accepts_definition_spec.rb +38 -11
  106. data/spec/graphql/schema/member/has_fields_spec.rb +129 -0
  107. data/spec/graphql/schema/member/type_system_helpers_spec.rb +63 -0
  108. data/spec/graphql/schema/mutation_spec.rb +48 -0
  109. data/spec/graphql/schema/object_spec.rb +34 -8
  110. data/spec/graphql/schema/relay_classic_mutation_spec.rb +10 -0
  111. data/spec/graphql/schema/rescue_middleware_spec.rb +11 -0
  112. data/spec/graphql/schema/scalar_spec.rb +55 -0
  113. data/spec/graphql/subscriptions_spec.rb +31 -4
  114. data/spec/graphql/upgrader/member_spec.rb +14 -6
  115. data/spec/spec_helper.rb +7 -0
  116. data/spec/support/dummy/schema.rb +8 -0
  117. data/spec/support/jazz.rb +89 -19
  118. data/spec/support/star_trek/data.rb +109 -0
  119. data/spec/support/star_trek/schema.rb +388 -0
  120. metadata +80 -7
  121. data/lib/graphql/schema/field/dynamic_resolve.rb +0 -70
  122. data/lib/graphql/schema/field/unwrapped_resolve.rb +0 -20
  123. data/lib/graphql/schema/member/list_type_proxy.rb +0 -25
  124. data/lib/graphql/schema/member/non_null_type_proxy.rb +0 -25
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module GraphQL
3
- VERSION = "1.8.0.pre10"
3
+ VERSION = "1.8.0.pre11"
4
4
  end
@@ -37,7 +37,7 @@ class GraphqlChannel < ActionCable::Channel::Base
37
37
  end
38
38
  end
39
39
 
40
- GraphQLSchema = GraphQL::Schema.define do
40
+ class GraphQLSchema < GraphQL::Schema
41
41
  query(QueryType)
42
42
  subscription(SubscriptionType)
43
43
  use GraphQL::Subscriptions::ActionCableSubscriptions,
@@ -1012,3 +1012,209 @@ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>400}}}, "m
1012
1012
  Finished "/cable/" [WebSocket] for 127.0.0.1 at 2017-11-16 21:31:59 -0500
1013
1013
  GraphqlChannel stopped streaming from graphql-subscription:4aa99f83-32cb-4a2f-a337-ebfa958ad4f9
1014
1014
  GraphqlChannel stopped streaming from graphql-event::payload:id:updates-2
1015
+ -----------------------------------------------------------
1016
+ ActionCableSubscriptionsTest: test_it_handles_subscriptions
1017
+ -----------------------------------------------------------
1018
+ -----------------------------------------------------------
1019
+ ActionCableSubscriptionsTest: test_it_handles_subscriptions
1020
+ -----------------------------------------------------------
1021
+ -----------------------------------------------------------
1022
+ ActionCableSubscriptionsTest: test_it_handles_subscriptions
1023
+ -----------------------------------------------------------
1024
+ Started GET "/" for 127.0.0.1 at 2018-04-04 21:26:38 -0400
1025
+ Processing by PagesController#show as HTML
1026
+ Rendering pages/show.html within layouts/application
1027
+ Rendered pages/show.html within layouts/application (1.4ms)
1028
+ Completed 200 OK in 223ms (Views: 221.7ms)
1029
+ Started GET "/assets/application-aca150c4b2db51d5326af18134f6281fbce7e823a372b0337cca65ff41b4a7ea.js" for 127.0.0.1 at 2018-04-04 21:26:38 -0400
1030
+ Started GET "/cable" for 127.0.0.1 at 2018-04-04 21:26:38 -0400
1031
+ Started GET "/cable/" [WebSocket] for 127.0.0.1 at 2018-04-04 21:26:38 -0400
1032
+ Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
1033
+ -----------------------------------------------------------
1034
+ ActionCableSubscriptionsTest: test_it_handles_subscriptions
1035
+ -----------------------------------------------------------
1036
+ Started GET "/" for 127.0.0.1 at 2018-04-04 21:28:18 -0400
1037
+ Processing by PagesController#show as HTML
1038
+ Rendering pages/show.html within layouts/application
1039
+ Rendered pages/show.html within layouts/application (1.0ms)
1040
+ Completed 200 OK in 169ms (Views: 167.6ms)
1041
+ Started GET "/assets/application-aca150c4b2db51d5326af18134f6281fbce7e823a372b0337cca65ff41b4a7ea.js" for 127.0.0.1 at 2018-04-04 21:28:19 -0400
1042
+ Started GET "/cable" for 127.0.0.1 at 2018-04-04 21:28:19 -0400
1043
+ Started GET "/cable/" [WebSocket] for 127.0.0.1 at 2018-04-04 21:28:19 -0400
1044
+ Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
1045
+ GraphqlChannel is transmitting the subscription confirmation
1046
+ GraphqlChannel is transmitting the subscription confirmation
1047
+ GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-2"}})
1048
+ GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
1049
+ GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-1"}})
1050
+ GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
1051
+ GraphqlChannel is streaming from graphql-subscription:14380391-0422-411f-9cd3-62afef50f46f
1052
+ GraphqlChannel is streaming from graphql-event::payload:id:updates-1
1053
+ GraphqlChannel is streaming from graphql-subscription:a486e52b-8725-4cf4-bce1-d63504d1d299
1054
+ GraphqlChannel is streaming from graphql-event::payload:id:updates-2
1055
+ GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>1})
1056
+ Could not execute command from ({"command"=>"message", "identifier"=>"{\"channel\":\"GraphqlChannel\",\"id\":\"162936ba578\"}", "data"=>"{\"id\":\"updates-1\",\"value\":1,\"action\":\"make_trigger\"}"}) [NoMethodError - undefined method `subscriptions' for GraphqlChannel::GraphQLSchema:Class
1057
+ Did you mean? subscription]: /Users/rmosolgo/code/graphql-ruby/spec/dummy/app/channels/graphql_channel.rb:82:in `make_trigger' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/channel/base.rb:262:in `public_send' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/channel/base.rb:262:in `dispatch_action' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/channel/base.rb:166:in `block in perform_action' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activesupport-5.1.4/lib/active_support/notifications.rb:168:in `instrument'
1058
+ GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>2})
1059
+ Could not execute command from ({"command"=>"message", "identifier"=>"{\"channel\":\"GraphqlChannel\",\"id\":\"162936ba578\"}", "data"=>"{\"id\":\"updates-1\",\"value\":2,\"action\":\"make_trigger\"}"}) [NoMethodError - undefined method `subscriptions' for GraphqlChannel::GraphQLSchema:Class
1060
+ Did you mean? subscription]: /Users/rmosolgo/code/graphql-ruby/spec/dummy/app/channels/graphql_channel.rb:82:in `make_trigger' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/channel/base.rb:262:in `public_send' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/channel/base.rb:262:in `dispatch_action' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/channel/base.rb:166:in `block in perform_action' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activesupport-5.1.4/lib/active_support/notifications.rb:168:in `instrument'
1061
+ GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>3})
1062
+ Could not execute command from ({"command"=>"message", "identifier"=>"{\"channel\":\"GraphqlChannel\",\"id\":\"162936ba578\"}", "data"=>"{\"id\":\"updates-1\",\"value\":3,\"action\":\"make_trigger\"}"}) [NoMethodError - undefined method `subscriptions' for GraphqlChannel::GraphQLSchema:Class
1063
+ Did you mean? subscription]: /Users/rmosolgo/code/graphql-ruby/spec/dummy/app/channels/graphql_channel.rb:82:in `make_trigger' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/channel/base.rb:262:in `public_send' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/channel/base.rb:262:in `dispatch_action' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/channel/base.rb:166:in `block in perform_action' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activesupport-5.1.4/lib/active_support/notifications.rb:168:in `instrument'
1064
+ Finished "/cable/" [WebSocket] for 127.0.0.1 at 2018-04-04 21:28:22 -0400
1065
+ There was an exception - NoMethodError(undefined method `subscriptions' for GraphqlChannel::GraphQLSchema:Class
1066
+ Did you mean? subscription)
1067
+ /Users/rmosolgo/code/graphql-ruby/spec/dummy/app/channels/graphql_channel.rb:87:in `block in unsubscribed'
1068
+ /Users/rmosolgo/code/graphql-ruby/spec/dummy/app/channels/graphql_channel.rb:86:in `each'
1069
+ /Users/rmosolgo/code/graphql-ruby/spec/dummy/app/channels/graphql_channel.rb:86:in `unsubscribed'
1070
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/channel/base.rb:188:in `block in unsubscribe_from_channel'
1071
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activesupport-5.1.4/lib/active_support/callbacks.rb:108:in `block in run_callbacks'
1072
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activesupport-5.1.4/lib/active_support/execution_wrapper.rb:81:in `wrap'
1073
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/engine.rb:66:in `block (3 levels) in <class:Engine>'
1074
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activesupport-5.1.4/lib/active_support/callbacks.rb:117:in `instance_exec'
1075
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activesupport-5.1.4/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
1076
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activesupport-5.1.4/lib/active_support/callbacks.rb:135:in `run_callbacks'
1077
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/channel/base.rb:187:in `unsubscribe_from_channel'
1078
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/connection/subscriptions.rb:48:in `remove_subscription'
1079
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/connection/subscriptions.rb:61:in `block in unsubscribe_from_all'
1080
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/connection/subscriptions.rb:61:in `each'
1081
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/connection/subscriptions.rb:61:in `unsubscribe_from_all'
1082
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/connection/base.rb:182:in `handle_close'
1083
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/server/worker.rb:58:in `block in invoke'
1084
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/server/worker.rb:39:in `block in work'
1085
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activesupport-5.1.4/lib/active_support/callbacks.rb:108:in `block in run_callbacks'
1086
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/engine.rb:60:in `block (4 levels) in <class:Engine>'
1087
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activesupport-5.1.4/lib/active_support/execution_wrapper.rb:85:in `wrap'
1088
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/engine.rb:55:in `block (3 levels) in <class:Engine>'
1089
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activesupport-5.1.4/lib/active_support/callbacks.rb:117:in `instance_exec'
1090
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activesupport-5.1.4/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
1091
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activesupport-5.1.4/lib/active_support/callbacks.rb:135:in `run_callbacks'
1092
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/server/worker.rb:38:in `work'
1093
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/server/worker.rb:56:in `invoke'
1094
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/server/worker.rb:51:in `block in async_invoke'
1095
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:348:in `run_task'
1096
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:337:in `block (3 levels) in create_worker'
1097
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `loop'
1098
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (2 levels) in create_worker'
1099
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `catch'
1100
+ /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `block in create_worker'
1101
+ -----------------------------------------------------------
1102
+ ActionCableSubscriptionsTest: test_it_handles_subscriptions
1103
+ -----------------------------------------------------------
1104
+ Started GET "/" for 127.0.0.1 at 2018-04-04 21:28:46 -0400
1105
+ Processing by PagesController#show as HTML
1106
+ Rendering pages/show.html within layouts/application
1107
+ Rendered pages/show.html within layouts/application (0.8ms)
1108
+ Completed 200 OK in 168ms (Views: 166.4ms)
1109
+ Started GET "/assets/application-aca150c4b2db51d5326af18134f6281fbce7e823a372b0337cca65ff41b4a7ea.js" for 127.0.0.1 at 2018-04-04 21:28:46 -0400
1110
+ Started GET "/cable" for 127.0.0.1 at 2018-04-04 21:28:46 -0400
1111
+ Started GET "/cable/" [WebSocket] for 127.0.0.1 at 2018-04-04 21:28:46 -0400
1112
+ Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
1113
+ GraphqlChannel is transmitting the subscription confirmation
1114
+ GraphqlChannel is transmitting the subscription confirmation
1115
+ GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-1"}})
1116
+ GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
1117
+ GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-2"}})
1118
+ GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
1119
+ GraphqlChannel is streaming from graphql-subscription:99e0a2c2-1603-4cbf-a613-c6004e2eab8e
1120
+ GraphqlChannel is streaming from graphql-subscription:aeaba99c-5e87-4848-994a-16c24a9e4cab
1121
+ GraphqlChannel is streaming from graphql-event::payload:id:updates-2
1122
+ GraphqlChannel is streaming from graphql-event::payload:id:updates-1
1123
+ GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>1})
1124
+ [ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzE\"}"
1125
+ [ActionCable] Broadcasting to graphql-subscription:99e0a2c2-1603-4cbf-a613-c6004e2eab8e: {:result=>{"data"=>{"payload"=>{"value"=>1}}}, :more=>true}
1126
+ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>1}}}, "more"=>true} (via streamed from graphql-subscription:99e0a2c2-1603-4cbf-a613-c6004e2eab8e)
1127
+ GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>2})
1128
+ [ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzI\"}"
1129
+ [ActionCable] Broadcasting to graphql-subscription:99e0a2c2-1603-4cbf-a613-c6004e2eab8e: {:result=>{"data"=>{"payload"=>{"value"=>2}}}, :more=>true}
1130
+ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>2}}}, "more"=>true} (via streamed from graphql-subscription:99e0a2c2-1603-4cbf-a613-c6004e2eab8e)
1131
+ GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>3})
1132
+ [ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzM\"}"
1133
+ [ActionCable] Broadcasting to graphql-subscription:99e0a2c2-1603-4cbf-a613-c6004e2eab8e: {:result=>{"data"=>{"payload"=>{"value"=>3}}}, :more=>true}
1134
+ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>3}}}, "more"=>true} (via streamed from graphql-subscription:99e0a2c2-1603-4cbf-a613-c6004e2eab8e)
1135
+ GraphqlChannel#make_trigger({"id"=>"updates-2", "value"=>1})
1136
+ [ActionCable] Broadcasting to graphql-event::payload:id:updates-2: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzE\"}"
1137
+ [ActionCable] Broadcasting to graphql-subscription:aeaba99c-5e87-4848-994a-16c24a9e4cab: {:result=>{"data"=>{"payload"=>{"value"=>1}}}, :more=>true}
1138
+ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>1}}}, "more"=>true} (via streamed from graphql-subscription:aeaba99c-5e87-4848-994a-16c24a9e4cab)
1139
+ GraphqlChannel#make_trigger({"id"=>"updates-2", "value"=>2})
1140
+ [ActionCable] Broadcasting to graphql-event::payload:id:updates-2: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzI\"}"
1141
+ [ActionCable] Broadcasting to graphql-subscription:aeaba99c-5e87-4848-994a-16c24a9e4cab: {:result=>{"data"=>{"payload"=>{"value"=>2}}}, :more=>true}
1142
+ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>2}}}, "more"=>true} (via streamed from graphql-subscription:aeaba99c-5e87-4848-994a-16c24a9e4cab)
1143
+ Unsubscribing from channel: {"channel":"GraphqlChannel","id":"162936cc343"}
1144
+ GraphqlChannel stopped streaming from graphql-subscription:99e0a2c2-1603-4cbf-a613-c6004e2eab8e
1145
+ GraphqlChannel stopped streaming from graphql-event::payload:id:updates-1
1146
+ Could not execute command from ({"command"=>"message", "identifier"=>"{\"channel\":\"GraphqlChannel\",\"id\":\"162936cc343\"}", "data"=>"{\"id\":\"updates-1\",\"value\":4,\"action\":\"make_trigger\"}"}) [RuntimeError - Unable to find subscription with identifier: {"channel":"GraphqlChannel","id":"162936cc343"}]: /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/connection/subscriptions.rb:76:in `find' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/connection/subscriptions.rb:53:in `perform_action' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/connection/subscriptions.rb:17:in `execute_command' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/connection/base.rb:85:in `dispatch_websocket_message' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/action_cable/server/worker.rb:58:in `block in invoke'
1147
+ GraphqlChannel#make_trigger({"id"=>"updates-2", "value"=>3})
1148
+ [ActionCable] Broadcasting to graphql-event::payload:id:updates-2: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzM\"}"
1149
+ [ActionCable] Broadcasting to graphql-subscription:aeaba99c-5e87-4848-994a-16c24a9e4cab: {:result=>{"data"=>{"payload"=>{"value"=>3}}}, :more=>true}
1150
+ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>3}}}, "more"=>true} (via streamed from graphql-subscription:aeaba99c-5e87-4848-994a-16c24a9e4cab)
1151
+ GraphqlChannel#make_trigger({"id"=>"updates-2", "value"=>4})
1152
+ [ActionCable] Broadcasting to graphql-event::payload:id:updates-2: "4x"
1153
+ [ActionCable] Broadcasting to graphql-subscription:aeaba99c-5e87-4848-994a-16c24a9e4cab: {:result=>{"data"=>{"payload"=>{"value"=>400}}}, :more=>true}
1154
+ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>400}}}, "more"=>true} (via streamed from graphql-subscription:aeaba99c-5e87-4848-994a-16c24a9e4cab)
1155
+ Finished "/cable/" [WebSocket] for 127.0.0.1 at 2018-04-04 21:28:48 -0400
1156
+ GraphqlChannel stopped streaming from graphql-subscription:aeaba99c-5e87-4848-994a-16c24a9e4cab
1157
+ GraphqlChannel stopped streaming from graphql-event::payload:id:updates-2
1158
+ -----------------------------------------------------------
1159
+ ActionCableSubscriptionsTest: test_it_handles_subscriptions
1160
+ -----------------------------------------------------------
1161
+ -----------------------------------------------------------
1162
+ ActionCableSubscriptionsTest: test_it_handles_subscriptions
1163
+ -----------------------------------------------------------
1164
+ -----------------------------------------------------------
1165
+ ActionCableSubscriptionsTest: test_it_handles_subscriptions
1166
+ -----------------------------------------------------------
1167
+ Started GET "/" for 127.0.0.1 at 2018-04-04 21:29:49 -0400
1168
+ Processing by PagesController#show as HTML
1169
+ Rendering pages/show.html within layouts/application
1170
+ Rendered pages/show.html within layouts/application (1.2ms)
1171
+ Completed 200 OK in 216ms (Views: 215.0ms)
1172
+ Started GET "/assets/application-57f1cc63be16d6347b6b5b3308736b31c869b2b3a0ff7a034dd68c775f33430b.js" for 127.0.0.1 at 2018-04-04 21:29:49 -0400
1173
+ Started GET "/cable" for 127.0.0.1 at 2018-04-04 21:29:50 -0400
1174
+ Started GET "/cable/" [WebSocket] for 127.0.0.1 at 2018-04-04 21:29:50 -0400
1175
+ Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
1176
+ GraphqlChannel is transmitting the subscription confirmation
1177
+ GraphqlChannel is transmitting the subscription confirmation
1178
+ GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-1"}})
1179
+ GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
1180
+ GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-2"}})
1181
+ GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
1182
+ GraphqlChannel is streaming from graphql-subscription:a0f12c78-b64f-4da5-a8bc-f3baa3afa7e3
1183
+ GraphqlChannel is streaming from graphql-event::payload:id:updates-2
1184
+ GraphqlChannel is streaming from graphql-subscription:17b971da-5ff2-4b3b-824c-5117585a86f0
1185
+ GraphqlChannel is streaming from graphql-event::payload:id:updates-1
1186
+ GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>1})
1187
+ [ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzE\"}"
1188
+ [ActionCable] Broadcasting to graphql-subscription:a0f12c78-b64f-4da5-a8bc-f3baa3afa7e3: {:result=>{"data"=>{"payload"=>{"value"=>1}}}, :more=>true}
1189
+ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>1}}}, "more"=>true} (via streamed from graphql-subscription:a0f12c78-b64f-4da5-a8bc-f3baa3afa7e3)
1190
+ GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>2})
1191
+ [ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzI\"}"
1192
+ [ActionCable] Broadcasting to graphql-subscription:a0f12c78-b64f-4da5-a8bc-f3baa3afa7e3: {:result=>{"data"=>{"payload"=>{"value"=>2}}}, :more=>true}
1193
+ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>2}}}, "more"=>true} (via streamed from graphql-subscription:a0f12c78-b64f-4da5-a8bc-f3baa3afa7e3)
1194
+ GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>3})
1195
+ [ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzM\"}"
1196
+ [ActionCable] Broadcasting to graphql-subscription:a0f12c78-b64f-4da5-a8bc-f3baa3afa7e3: {:result=>{"data"=>{"payload"=>{"value"=>3}}}, :more=>true}
1197
+ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>3}}}, "more"=>true} (via streamed from graphql-subscription:a0f12c78-b64f-4da5-a8bc-f3baa3afa7e3)
1198
+ GraphqlChannel#make_trigger({"id"=>"updates-2", "value"=>1})
1199
+ [ActionCable] Broadcasting to graphql-event::payload:id:updates-2: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzE\"}"
1200
+ [ActionCable] Broadcasting to graphql-subscription:17b971da-5ff2-4b3b-824c-5117585a86f0: {:result=>{"data"=>{"payload"=>{"value"=>1}}}, :more=>true}
1201
+ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>1}}}, "more"=>true} (via streamed from graphql-subscription:17b971da-5ff2-4b3b-824c-5117585a86f0)
1202
+ GraphqlChannel#make_trigger({"id"=>"updates-2", "value"=>2})
1203
+ [ActionCable] Broadcasting to graphql-event::payload:id:updates-2: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzI\"}"
1204
+ [ActionCable] Broadcasting to graphql-subscription:17b971da-5ff2-4b3b-824c-5117585a86f0: {:result=>{"data"=>{"payload"=>{"value"=>2}}}, :more=>true}
1205
+ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>2}}}, "more"=>true} (via streamed from graphql-subscription:17b971da-5ff2-4b3b-824c-5117585a86f0)
1206
+ Unsubscribing from channel: {"channel":"GraphqlChannel","id":"162936d78f8"}
1207
+ GraphqlChannel stopped streaming from graphql-subscription:a0f12c78-b64f-4da5-a8bc-f3baa3afa7e3
1208
+ GraphqlChannel stopped streaming from graphql-event::payload:id:updates-1
1209
+ Could not execute command from ({"command"=>"message", "identifier"=>"{\"channel\":\"GraphqlChannel\",\"id\":\"162936d78f8\"}", "data"=>"{\"id\":\"updates-1\",\"value\":4,\"action\":\"make_trigger\"}"}) [RuntimeError - Unable to find subscription with identifier: {"channel":"GraphqlChannel","id":"162936d78f8"}]: /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.6/lib/action_cable/connection/subscriptions.rb:76:in `find' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.6/lib/action_cable/connection/subscriptions.rb:53:in `perform_action' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.6/lib/action_cable/connection/subscriptions.rb:17:in `execute_command' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.6/lib/action_cable/connection/base.rb:85:in `dispatch_websocket_message' | /Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.6/lib/action_cable/server/worker.rb:58:in `block in invoke'
1210
+ GraphqlChannel#make_trigger({"id"=>"updates-2", "value"=>3})
1211
+ [ActionCable] Broadcasting to graphql-event::payload:id:updates-2: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzM\"}"
1212
+ [ActionCable] Broadcasting to graphql-subscription:17b971da-5ff2-4b3b-824c-5117585a86f0: {:result=>{"data"=>{"payload"=>{"value"=>3}}}, :more=>true}
1213
+ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>3}}}, "more"=>true} (via streamed from graphql-subscription:17b971da-5ff2-4b3b-824c-5117585a86f0)
1214
+ GraphqlChannel#make_trigger({"id"=>"updates-2", "value"=>4})
1215
+ [ActionCable] Broadcasting to graphql-event::payload:id:updates-2: "4x"
1216
+ [ActionCable] Broadcasting to graphql-subscription:17b971da-5ff2-4b3b-824c-5117585a86f0: {:result=>{"data"=>{"payload"=>{"value"=>400}}}, :more=>true}
1217
+ GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>400}}}, "more"=>true} (via streamed from graphql-subscription:17b971da-5ff2-4b3b-824c-5117585a86f0)
1218
+ Finished "/cable/" [WebSocket] for 127.0.0.1 at 2018-04-04 21:29:51 -0400
1219
+ GraphqlChannel stopped streaming from graphql-subscription:17b971da-5ff2-4b3b-824c-5117585a86f0
1220
+ GraphqlChannel stopped streaming from graphql-event::payload:id:updates-2
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/application.js?type=application/javascript&pipeline=self&id=78ecfa865fd4b0caec4b3b19285035fa191adc63d7caad2103db614516f37be0:ET
@@ -0,0 +1,3 @@
1
+ [o:Set:
2
+ @hash}
3
+ I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"�file-digest:///Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/assets/compiled/action_cable.js;TTF
@@ -0,0 +1,3 @@
1
+ [o:Set:
2
+ @hash}
3
+ I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"~file-digest:///Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actionview-5.1.6/lib/assets/compiled/rails-ujs.js;TTF
@@ -0,0 +1,3 @@
1
+ [o:Set:
2
+ @hash}
3
+ I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"~file-digest:///Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actionview-5.1.4/lib/assets/compiled/rails-ujs.js;TTF
@@ -0,0 +1 @@
1
+ I"�/Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.4/lib/assets/compiled/action_cable.js?type=application/javascript&pipeline=self&id=cd2405847c7786675fff1bab5187a6ef2f3ed1056f96548fb6d22e4659ca57b7:ET
@@ -0,0 +1 @@
1
+ "%�d�-�K���`���8Y��3�͹/Y����a~K
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/application.js?type=application/javascript&pipeline=self&id=2254d0b490e27086eeadb569792334297cbc5445a638d986c32441af15c150af:ET
@@ -0,0 +1 @@
1
+ I"�/Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actionview-5.1.6/lib/assets/compiled/rails-ujs.js?type=application/javascript&pipeline=self&id=e0b8530da55bfd4182e35eebe4cca6d526cbc9508b4024f9877bbea2eeb64e0a:ET
@@ -0,0 +1,2 @@
1
+ "%ǟ���u�c�MO���Jď
2
+ d�W�uP�Ԫ~��
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/application.js?type=application/javascript&id=467ea987e64259429ac472b387b126e930a4f0fb033058ece6810f95bc9fd03c:ET
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/application.js?type=application/javascript&id=b3245901ef6cfdfb62650d801cfa42b0e978086aa422c858f9655122185b0b71:ET
@@ -0,0 +1 @@
1
+ I"�/Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.6/lib/assets/compiled/action_cable.js?type=application/javascript&pipeline=self&id=6e5525f6ac7741ef2d7db61e8eebc9e5c5d15bca4bfcf0aea3a08996e649d892:ET
@@ -0,0 +1 @@
1
+ I"�/Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actionview-5.1.4/lib/assets/compiled/rails-ujs.js?type=application/javascript&pipeline=self&id=7e34f5c6884213b252e8d519c2fd841ebd7fe5dcbb86a74e730cdc9c50e0cc84:ET
@@ -0,0 +1,3 @@
1
+ [o:Set:
2
+ @hash}
3
+ I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"�file-digest:///Users/rmosolgo/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actioncable-5.1.6/lib/assets/compiled/action_cable.js;TTF
@@ -0,0 +1 @@
1
+ "%�d�-�K���`���8Y��3�͹/Y����a~K
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+ module Platform
3
+ module Objects
4
+ Photo = GraphQL::ObjectType.define do
5
+ field(:caption, types.String) do
6
+ resolve(->(obj, _args, _ctx) { obj.caption })
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+ module Platform
3
+ module Objects
4
+ class Photo < Platform::Objects::Base
5
+ field :caption, String, null: true
6
+
7
+ def caption
8
+ @object.caption
9
+ end
10
+ end
11
+ end
12
+ end
@@ -9,11 +9,14 @@ module Platform
9
9
  global_id_field :id
10
10
 
11
11
  field :viewerHasStarred, !types.Boolean do
12
+ argument :preceedsConnectionMethod, types.Boolean
12
13
  description "Returns a boolean indicating whether the viewing user has starred this starrable."
13
14
 
14
15
  resolve ->(object, arguments, context) do
15
16
  if context[:viewer]
16
- context[:viewer].starred?(object)
17
+ ->(test_inner_proc) do
18
+ context[:viewer].starred?(object)
19
+ end
17
20
  else
18
21
  false
19
22
  end
@@ -2,41 +2,44 @@
2
2
 
3
3
  module Platform
4
4
  module Interfaces
5
- class Starrable < Platform::Interfaces::Base
5
+ module Starrable
6
+ include Platform::Interfaces::Base
6
7
  description "Things that can be starred."
7
8
 
8
9
  global_id_field :id
9
10
 
10
- field :viewer_has_starred, Boolean, description: "Returns a boolean indicating whether the viewing user has starred this starrable.", null: false
11
-
12
- field :stargazers, Connections::Stargazer, description: "A list of users who have starred this starrable.", null: false, connection: true do
13
- argument :order_by, Inputs::StarOrder, "Order for connection", required: false
11
+ field :viewer_has_starred, Boolean, description: "Returns a boolean indicating whether the viewing user has starred this starrable.", null: false do
12
+ argument :preceeds_connection_method, Boolean, required: false
14
13
  end
15
14
 
16
- module Implementation
17
- def viewer_has_starred
18
- if @context[:viewer]
15
+ def viewer_has_starred(**arguments)
16
+ if @context[:viewer]
17
+ ->(test_inner_proc) do
19
18
  @context[:viewer].starred?(@object)
20
- else
21
- false
22
19
  end
20
+ else
21
+ false
23
22
  end
23
+ end
24
24
 
25
- def stargazers(**arguments)
26
- scope = case @object
27
- when Repository
28
- @object.stars
29
- when Gist
30
- GistStar.where(gist_id: @object.id)
31
- end
25
+ field :stargazers, Connections::Stargazer, description: "A list of users who have starred this starrable.", null: false, connection: true do
26
+ argument :order_by, Inputs::StarOrder, "Order for connection", required: false
27
+ end
32
28
 
33
- table = scope.table_name
34
- if order_by = arguments[:order_by]
35
- scope = scope.order("#{table}.#{order_by["field"]} #{order_by["direction"]}")
36
- end
29
+ def stargazers(**arguments)
30
+ scope = case @object
31
+ when Repository
32
+ @object.stars
33
+ when Gist
34
+ GistStar.where(gist_id: @object.id)
35
+ end
37
36
 
38
- scope
37
+ table = scope.table_name
38
+ if order_by = arguments[:order_by]
39
+ scope = scope.order("#{table}.#{order_by["field"]} #{order_by["direction"]}")
39
40
  end
41
+
42
+ scope
40
43
  end
41
44
  end
42
45
  end
@@ -2,51 +2,50 @@
2
2
 
3
3
  module Platform
4
4
  module Interfaces
5
- class Subscribable < Platform::Interfaces::Base
5
+ module Subscribable
6
+ include Platform::Interfaces::Base
6
7
  description "Entities that can be subscribed to for web and email notifications."
7
8
 
8
9
  field :id, GraphQL::ID_TYPE, method: :global_relay_id, null: false
9
10
 
10
11
  field :viewer_subscription, Enums::SubscriptionState, description: "Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.", null: false
11
12
 
12
- field :viewer_can_subscribe, Boolean, description: "Check if the viewer is able to change their subscription status for the repository.", null: false
13
+ def viewer_subscription
14
+ if @context[:viewer].nil?
15
+ return "unsubscribed"
16
+ end
13
17
 
14
- field :issues, function: Platform::Functions::Issues.new, description: "A list of issues associated with the milestone.", connection: true
15
- field :files, Connections.define(PackageFile), description: "List of files associated with this registry package version", null: false, connection: true
16
- field :enabled, Boolean, "Whether enabled for this project", method: :enabled?, null: false
18
+ subscription_status_response = @object.async_subscription_status(@context[:viewer]).sync
17
19
 
18
- module Implementation
19
- def viewer_subscription
20
- if @context[:viewer].nil?
21
- return "unsubscribed"
22
- end
23
-
24
- subscription_status_response = @object.async_subscription_status(@context[:viewer]).sync
25
-
26
- if subscription_status_response.failed?
27
- error = Platform::Errors::ServiceUnavailable.new("Subscriptions are currently unavailable. Please try again later.")
28
- error.ast_node = @context.irep_node.ast_node
29
- error.path = @context.path
30
- @context.errors << error
31
- return "unavailable"
32
- end
33
-
34
- subscription = subscription_status_response.value
35
- if subscription.included?
36
- "unsubscribed"
37
- elsif subscription.subscribed?
38
- "subscribed"
39
- elsif subscription.ignored?
40
- "ignored"
41
- end
20
+ if subscription_status_response.failed?
21
+ error = Platform::Errors::ServiceUnavailable.new("Subscriptions are currently unavailable. Please try again later.")
22
+ error.ast_node = @context.irep_node.ast_node
23
+ error.path = @context.path
24
+ @context.errors << error
25
+ return "unavailable"
42
26
  end
43
27
 
44
- def viewer_can_subscribe
45
- return false if @context[:viewer].nil?
46
-
47
- @object.async_subscription_status(@context[:viewer]).then(&:success?)
28
+ subscription = subscription_status_response.value
29
+ if subscription.included?
30
+ "unsubscribed"
31
+ elsif subscription.subscribed?
32
+ "subscribed"
33
+ elsif subscription.ignored?
34
+ "ignored"
48
35
  end
49
36
  end
37
+
38
+ field :viewer_can_subscribe, Boolean, description: "Check if the viewer is able to change their subscription status for the repository.", null: false
39
+
40
+ def viewer_can_subscribe
41
+ return false if @context[:viewer].nil?
42
+
43
+ @object.async_subscription_status(@context[:viewer]).then(&:success?)
44
+ end
45
+
46
+ field :issues, function: Platform::Functions::Issues.new, description: "A list of issues associated with the milestone.", connection: true
47
+ field :files, Connections.define(PackageFile), description: "List of files associated with this registry package version", null: false, connection: true
48
+ field :enabled, Boolean, "Whether enabled for this project", method: :enabled?, null: false
50
49
  end
51
50
  end
52
51
  end