aboutsummaryrefslogtreecommitdiffstats
path: root/lib/assets/javascripts/cable
diff options
context:
space:
mode:
authorJavan Makhmali <javan@javan.us>2015-07-07 09:43:22 -0400
committerJavan Makhmali <javan@javan.us>2015-07-07 09:43:22 -0400
commit239d79e9eb72c4bc363405f1535b30dd58a8a6b2 (patch)
tree0b16e70f8925329a07b63a82a782768c90d6149f /lib/assets/javascripts/cable
parentee6b6cabfbd7b0a8f48cc6fae1bcd3e65300495c (diff)
downloadrails-239d79e9eb72c4bc363405f1535b30dd58a8a6b2.tar.gz
rails-239d79e9eb72c4bc363405f1535b30dd58a8a6b2.tar.bz2
rails-239d79e9eb72c4bc363405f1535b30dd58a8a6b2.zip
Add helper to inspect current state
Diffstat (limited to 'lib/assets/javascripts/cable')
-rw-r--r--lib/assets/javascripts/cable/connection.js.coffee3
-rw-r--r--lib/assets/javascripts/cable/connection_monitor.js.coffee5
-rw-r--r--lib/assets/javascripts/cable/consumer.js.coffee6
-rw-r--r--lib/assets/javascripts/cable/subscriber_manager.js.coffee3
4 files changed, 17 insertions, 0 deletions
diff --git a/lib/assets/javascripts/cable/connection.js.coffee b/lib/assets/javascripts/cable/connection.js.coffee
index 4d2c1018aa..2e7a9930ec 100644
--- a/lib/assets/javascripts/cable/connection.js.coffee
+++ b/lib/assets/javascripts/cable/connection.js.coffee
@@ -71,3 +71,6 @@ class Cable.Connection
error: ->
@consumer.subscribers.notifyAll("disconnected")
@closeSilently()
+
+ toJSON: ->
+ state: @getState()
diff --git a/lib/assets/javascripts/cable/connection_monitor.js.coffee b/lib/assets/javascripts/cable/connection_monitor.js.coffee
index fc5093c5eb..ea0c360b75 100644
--- a/lib/assets/javascripts/cable/connection_monitor.js.coffee
+++ b/lib/assets/javascripts/cable/connection_monitor.js.coffee
@@ -55,6 +55,11 @@ class Cable.ConnectionMonitor
else
secondsSince(@startedAt) > @staleThreshold.startedAt
+ toJSON: ->
+ interval = @getInterval()
+ connectionIsStale = @connectionIsStale()
+ {@startedAt, @stoppedAt, @pingedAt, @reconnectAttempts, connectionIsStale, interval}
+
now = ->
new Date().getTime()
diff --git a/lib/assets/javascripts/cable/consumer.js.coffee b/lib/assets/javascripts/cable/consumer.js.coffee
index b9c08807f2..16c49b559a 100644
--- a/lib/assets/javascripts/cable/consumer.js.coffee
+++ b/lib/assets/javascripts/cable/consumer.js.coffee
@@ -16,3 +16,9 @@ class Cable.Consumer
send: (data) ->
@connection.send(data)
+
+ inspect: ->
+ JSON.stringify(this, null, 2)
+
+ toJSON: ->
+ {@subscribers, @connection, @connectionMonitor}
diff --git a/lib/assets/javascripts/cable/subscriber_manager.js.coffee b/lib/assets/javascripts/cable/subscriber_manager.js.coffee
index 0b6a16590c..1eef98ff0b 100644
--- a/lib/assets/javascripts/cable/subscriber_manager.js.coffee
+++ b/lib/assets/javascripts/cable/subscriber_manager.js.coffee
@@ -36,3 +36,6 @@ class Cable.SubscriberManager
@consumer.connection.isOpen()
else
@consumer.send({command, identifier})
+
+ toJSON: ->
+ subscriber.identifier for subscriber in @subscribers