From 6a78da924960039d17b618f775695682bb9940d9 Mon Sep 17 00:00:00 2001 From: Pratik Naik Date: Sat, 17 Jan 2015 12:02:05 +0530 Subject: More API changes --- lib/action_cable/channel/base.rb | 12 ++++++++---- lib/action_cable/channel/callbacks.rb | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'lib/action_cable/channel') diff --git a/lib/action_cable/channel/base.rb b/lib/action_cable/channel/base.rb index 6eaade4c8f..3eaa0ceaeb 100644 --- a/lib/action_cable/channel/base.rb +++ b/lib/action_cable/channel/base.rb @@ -27,7 +27,9 @@ module ActionCable @_active_periodic_timers = [] @params = params - setup + connect + + subscribe end def receive(data) @@ -47,7 +49,7 @@ module ActionCable end protected - def setup + def connect # Override in subclasses end @@ -56,8 +58,10 @@ module ActionCable end def start_periodic_timers - self.class.periodic_timers.each do |method, options| - @_active_periodic_timers << EventMachine::PeriodicTimer.new(options[:every]) { send(method) } + self.class.periodic_timers.each do |callback, options| + @_active_periodic_timers << EventMachine::PeriodicTimer.new(options[:every]) do + callback.respond_to?(:call) ? callback.call : send(callback) + end end end diff --git a/lib/action_cable/channel/callbacks.rb b/lib/action_cable/channel/callbacks.rb index cf0246a386..22c6f2d563 100644 --- a/lib/action_cable/channel/callbacks.rb +++ b/lib/action_cable/channel/callbacks.rb @@ -21,8 +21,8 @@ module ActionCable self.on_unsubscribe_callbacks += methods end - def periodic_timer(method, every:) - self.periodic_timers += [ [ method, every: every ] ] + def periodically(callback, every:) + self.periodic_timers += [ [ callback, every: every ] ] end end -- cgit v1.2.3