aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJavan Makhmali <javan@javan.us>2015-08-23 17:58:06 -0400
committerJavan Makhmali <javan@javan.us>2015-08-23 17:58:06 -0400
commit5ee5e419be5c190aaec001c497db4aa76264b70e (patch)
tree426e16d87f6b57a55d3e657754d31a37ed1780f8 /lib
parentfa362c724d9cbfd002166cf20f6b4c3ee1f4c4ca (diff)
downloadrails-5ee5e419be5c190aaec001c497db4aa76264b70e.tar.gz
rails-5ee5e419be5c190aaec001c497db4aa76264b70e.tar.bz2
rails-5ee5e419be5c190aaec001c497db4aa76264b70e.zip
Record last 20 Subscription notifications for inspection
Diffstat (limited to 'lib')
-rw-r--r--lib/assets/javascripts/cable/subscriptions.js.coffee13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/assets/javascripts/cable/subscriptions.js.coffee b/lib/assets/javascripts/cable/subscriptions.js.coffee
index fe6975c870..eeaa697081 100644
--- a/lib/assets/javascripts/cable/subscriptions.js.coffee
+++ b/lib/assets/javascripts/cable/subscriptions.js.coffee
@@ -9,6 +9,7 @@
class Cable.Subscriptions
constructor: (@consumer) ->
@subscriptions = []
+ @history = []
create: (channelName, mixin) ->
channel = channelName
@@ -49,6 +50,10 @@ class Cable.Subscriptions
for subscription in subscriptions
subscription[callbackName]?(args...)
+ if callbackName in ["initialized", "connected", "disconnected"]
+ {identifier} = subscription
+ @record(notification: {identifier, callbackName, args})
+
sendCommand: (subscription, command) ->
{identifier} = subscription
if identifier is Cable.PING_IDENTIFIER
@@ -56,5 +61,11 @@ class Cable.Subscriptions
else
@consumer.send({command, identifier})
+ record: (data) ->
+ data.time = new Date()
+ @history = @history.slice(-19)
+ @history.push(data)
+
toJSON: ->
- subscription.identifier for subscription in @subscriptions
+ history: @history
+ identifiers: (subscription.identifier for subscription in @subscriptions)