aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2015-01-17 11:39:28 +0530
committerPratik Naik <pratiknaik@gmail.com>2015-01-17 11:39:28 +0530
commit955bf93549f336d95862b12079f8b88f99145f8b (patch)
tree94d8a09f71b742397021acda05ae69bcd4c31e7e /lib
parent61ea867f295b7872b8cb000e257236f70f1518cd (diff)
downloadrails-955bf93549f336d95862b12079f8b88f99145f8b.tar.gz
rails-955bf93549f336d95862b12079f8b88f99145f8b.tar.bz2
rails-955bf93549f336d95862b12079f8b88f99145f8b.zip
Use underscored class name as the default channel name
Diffstat (limited to 'lib')
-rw-r--r--lib/action_cable/channel/base.rb4
-rw-r--r--lib/action_cable/server.rb2
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/action_cable/channel/base.rb b/lib/action_cable/channel/base.rb
index 1ede07d9e3..6eaade4c8f 100644
--- a/lib/action_cable/channel/base.rb
+++ b/lib/action_cable/channel/base.rb
@@ -15,6 +15,10 @@ module ActionCable
def matches?(identifier)
raise "Please implement #{name}#matches? method"
end
+
+ def find_name
+ @name ||= channel_name || to_s.demodulize.underscore
+ end
end
def initialize(connection, channel_identifier, params = {})
diff --git a/lib/action_cable/server.rb b/lib/action_cable/server.rb
index 08a6e9030b..eeeb50f08c 100644
--- a/lib/action_cable/server.rb
+++ b/lib/action_cable/server.rb
@@ -49,7 +49,7 @@ module ActionCable
id_options = ActiveSupport::JSON.decode(id_key).with_indifferent_access
subscription_klass = registered_channels.detect do |channel_klass|
- channel_klass.channel_name == id_options[:channel] && channel_klass.matches?(id_options)
+ channel_klass.find_name == id_options[:channel] && channel_klass.matches?(id_options)
end
if subscription_klass