Class: ActionCable::SubscriptionAdapter::AnyCable

Inherits:
Base
  • Object
show all
Defined in:
lib/action_cable/subscription_adapter/any_cable.rb

Overview

AnyCable subscription adapter delegates broadcasts to AnyCable

Constant Summary collapse

ACTION_CABLE_SERVER_ERROR_MESSAGE =
"Looks like you are trying to connect to Rails Action Cable server, not an AnyCable one.\n\nPlease make sure your client is configured to connect to AnyCable server.\n\nSee https://docs.anycable.io/troubleshooting\n"

Instance Method Summary collapse

Constructor Details

#initializeAnyCable



18
19
# File 'lib/action_cable/subscription_adapter/any_cable.rb', line 18

def initialize(*)
end

Instance Method Details

#broadcast(channel, payload, **options) ⇒ Object



21
22
23
24
25
26
# File 'lib/action_cable/subscription_adapter/any_cable.rb', line 21

def broadcast(channel, payload, **options)
  options.merge!(::AnyCable::Rails.current_broadcast_options || {})
  to_others = options.delete(:to_others)
  options[:exclude_socket] ||= ::AnyCable::Rails.current_socket_id if to_others
  ::AnyCable.broadcast(channel, payload, **options.compact)
end

#shutdownObject



36
37
38
39
40
# File 'lib/action_cable/subscription_adapter/any_cable.rb', line 36

def shutdown
  # nothing to do
  # we only need this method for development,
  # 'cause code reloading triggers `server.restart` -> `pubsub.shutdown`
end

#subscribeObject

Raises:

  • (NotImplementedError)


28
29
30
# File 'lib/action_cable/subscription_adapter/any_cable.rb', line 28

def subscribe(*)
  raise NotImplementedError, ACTION_CABLE_SERVER_ERROR_MESSAGE
end

#unsubscribeObject

Raises:

  • (NotImplementedError)


32
33
34
# File 'lib/action_cable/subscription_adapter/any_cable.rb', line 32

def unsubscribe(*)
  raise NotImplementedError, ACTION_CABLE_SERVER_ERROR_MESSAGE
end