diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2015-06-19 18:55:35 +0200 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2015-06-19 18:55:35 +0200 |
commit | 471ba41fddeff19f04f8d29bfe0df3c3f497407a (patch) | |
tree | 921c7917378e5d4ac06072ab98a310d7ca40f51f | |
parent | 2b41ede6f8af2c69296478777babb5617d33b867 (diff) | |
download | rails-471ba41fddeff19f04f8d29bfe0df3c3f497407a.tar.gz rails-471ba41fddeff19f04f8d29bfe0df3c3f497407a.tar.bz2 rails-471ba41fddeff19f04f8d29bfe0df3c3f497407a.zip |
Free up subscribe/unsubscribe as action names the user can use in their channels
-rw-r--r-- | lib/action_cable/channel/base.rb | 6 | ||||
-rw-r--r-- | lib/action_cable/connection/base.rb | 4 | ||||
-rw-r--r-- | lib/action_cable/server.rb | 1 |
3 files changed, 5 insertions, 6 deletions
diff --git a/lib/action_cable/channel/base.rb b/lib/action_cable/channel/base.rb index f309709e31..cc9580ec52 100644 --- a/lib/action_cable/channel/base.rb +++ b/lib/action_cable/channel/base.rb @@ -32,7 +32,7 @@ module ActionCable connect - subscribe + run_subscribe_callbacks end def receive_data(data) @@ -47,13 +47,13 @@ module ActionCable end end - def subscribe + def run_subscribe_callbacks self.class.on_subscribe_callbacks.each do |callback| send(callback) end end - def unsubscribe + def run_unsubscribe_callbacks self.class.on_unsubscribe_callbacks.each do |callback| send(callback) end diff --git a/lib/action_cable/connection/base.rb b/lib/action_cable/connection/base.rb index ee1fe51529..fff6fd46a6 100644 --- a/lib/action_cable/connection/base.rb +++ b/lib/action_cable/connection/base.rb @@ -81,7 +81,7 @@ module ActionCable def cleanup_subscriptions @subscriptions.each do |id, channel| - channel.unsubscribe + channel.run_unsubscribe_callbacks end end @@ -161,7 +161,7 @@ module ActionCable def unsubscribe_channel(data) logger.info "Unsubscribing from channel: #{data['identifier']}" - @subscriptions[data['identifier']].unsubscribe + @subscriptions[data['identifier']].run_unsubscribe_callbacks @subscriptions.delete(data['identifier']) end diff --git a/lib/action_cable/server.rb b/lib/action_cable/server.rb index d922d347ce..322fc85519 100644 --- a/lib/action_cable/server.rb +++ b/lib/action_cable/server.rb @@ -71,6 +71,5 @@ module ActionCable def open_connections_statistics @connections.map(&:statistics) end - end end |