aboutsummaryrefslogtreecommitdiffstats
path: root/lib/action_cable/channel/base.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2015-01-31 15:05:58 -0800
committerDavid Heinemeier Hansson <david@loudthinking.com>2015-01-31 15:05:58 -0800
commit55c956b346dfb26a0ac5a5686f4be7f96b28cff6 (patch)
treea774ba493f4aa441e07624a0484e58bd1034ee18 /lib/action_cable/channel/base.rb
parent4f36bc66e640cdd4e42ab1174cb61cd7e3b17b0d (diff)
downloadrails-55c956b346dfb26a0ac5a5686f4be7f96b28cff6.tar.gz
rails-55c956b346dfb26a0ac5a5686f4be7f96b28cff6.tar.bz2
rails-55c956b346dfb26a0ac5a5686f4be7f96b28cff6.zip
Add a disconnect callback
Diffstat (limited to 'lib/action_cable/channel/base.rb')
-rw-r--r--lib/action_cable/channel/base.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/action_cable/channel/base.rb b/lib/action_cable/channel/base.rb
index 40af1462b4..ae8822d2a2 100644
--- a/lib/action_cable/channel/base.rb
+++ b/lib/action_cable/channel/base.rb
@@ -5,9 +5,11 @@ module ActionCable
include Callbacks
include Redis
- on_subscribe :start_periodic_timers
+ on_subscribe :start_periodic_timers
on_unsubscribe :stop_periodic_timers
+ on_unsubscribe :disconnect
+
attr_reader :params
class_attribute :channel_name
@@ -54,6 +56,10 @@ module ActionCable
# Override in subclasses
end
+ def disconnect
+ # Override in subclasses
+ end
+
def broadcast(data)
@connection.broadcast({ identifier: @channel_identifier, message: data }.to_json)
end