spec/dummy/app/channels/graphql_channel.rb in graphql-1.7.6 vs spec/dummy/app/channels/graphql_channel.rb in graphql-1.7.7
- old
+ new
@@ -15,13 +15,34 @@
PayloadType = GraphQL::ObjectType.define do
name "Payload"
field :value, types.Int
end
+ # Wacky behavior around the number 4
+ # so we can confirm it's used by the UI
+ module CustomSerializer
+ def self.load(value)
+ if value == "4x"
+ ExamplePayload.new(400)
+ else
+ GraphQL::Subscriptions::Serialize.load(value)
+ end
+ end
+
+ def self.dump(obj)
+ if obj.is_a?(ExamplePayload) && obj.value == 4
+ "4x"
+ else
+ GraphQL::Subscriptions::Serialize.dump(obj)
+ end
+ end
+ end
+
GraphQLSchema = GraphQL::Schema.define do
query(QueryType)
subscription(SubscriptionType)
- use GraphQL::Subscriptions::ActionCableSubscriptions
+ use GraphQL::Subscriptions::ActionCableSubscriptions,
+ serializer: CustomSerializer
end
def subscribed
@subscription_ids = []
end