Class: Quail::Channel

Inherits:
ActionCable::Channel::Base
  • Object
show all
Defined in:
lib/quail/channel.rb

Overview

ActionCable channel for handling GraphQL subscriptions over WebSocket.

Instance Method Summary collapse

Instance Method Details

#subscribedObject



6
7
8
9
10
11
# File 'lib/quail/channel.rb', line 6

def subscribed
  @subscription_ids = []
  result = execute_query
  track_subscription(result)
  transmit(result: result.to_h, more: result.subscription?)
end

#unsubscribedObject



13
14
15
16
17
# File 'lib/quail/channel.rb', line 13

def unsubscribed
  @subscription_ids&.each do |subscription_id|
    schema_class.subscriptions.delete_subscription(subscription_id)
  end
end