aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2015-02-05 20:58:38 +0530
committerPratik Naik <pratiknaik@gmail.com>2015-02-05 20:58:38 +0530
commitdf70406ef4ae1c0409bac213ecbf7aaf1bc3b758 (patch)
tree8b518afbecf22627a8d48fe8c1af04ac661f662c /lib
parent1b090cf6b215e334ba62b476d14283a49fca8cab (diff)
downloadrails-df70406ef4ae1c0409bac213ecbf7aaf1bc3b758.tar.gz
rails-df70406ef4ae1c0409bac213ecbf7aaf1bc3b758.tar.bz2
rails-df70406ef4ae1c0409bac213ecbf7aaf1bc3b758.zip
Generic Worker#invoke method
Diffstat (limited to 'lib')
-rw-r--r--lib/action_cable/server.rb4
-rw-r--r--lib/action_cable/worker.rb10
2 files changed, 4 insertions, 10 deletions
diff --git a/lib/action_cable/server.rb b/lib/action_cable/server.rb
index b6ea201b52..9a30c7d3bf 100644
--- a/lib/action_cable/server.rb
+++ b/lib/action_cable/server.rb
@@ -32,11 +32,11 @@ module ActionCable
@websocket.on(:message) do |event|
message = event.data
- worker_pool.async.received_data(self, message) if message.is_a?(String)
+ worker_pool.async.invoke(self, :received_data, message) if message.is_a?(String)
end
@websocket.on(:close) do |event|
- worker_pool.async.cleanup_subscriptions(self)
+ worker_pool.async.invoke(self, :cleanup_subscriptions)
end
@websocket.rack_response
diff --git a/lib/action_cable/worker.rb b/lib/action_cable/worker.rb
index 1a8bee974b..6687af43a0 100644
--- a/lib/action_cable/worker.rb
+++ b/lib/action_cable/worker.rb
@@ -5,15 +5,9 @@ module ActionCable
define_callbacks :work
- def received_data(connection, data)
+ def invoke(receiver, method, *args)
run_callbacks :work do
- connection.received_data(data)
- end
- end
-
- def cleanup_subscriptions(connection)
- run_callbacks :work do
- connection.cleanup_subscriptions
+ receiver.send method, *args
end
end