aboutsummaryrefslogtreecommitdiffstats
path: root/lib/action_cable/channel/base.rb
diff options
context:
space:
mode:
authorJeremy Daer <jeremydaer@gmail.com>2015-10-16 01:02:22 -0700
committerJeremy Daer <jeremydaer@gmail.com>2015-10-16 09:06:44 -0700
commitacfdcf556888a88dc2d2026553d585f920fae105 (patch)
tree9e9bbe0a5b43170d3495653315fe396e546e6dd0 /lib/action_cable/channel/base.rb
parentd7ab5c8f1ffd04acd2cf610f5756fc18fdfc6160 (diff)
downloadrails-acfdcf556888a88dc2d2026553d585f920fae105.tar.gz
rails-acfdcf556888a88dc2d2026553d585f920fae105.tar.bz2
rails-acfdcf556888a88dc2d2026553d585f920fae105.zip
Devolve blanket #require to reveal intent and responsibility
* Move specific requires close to where they're needed. * Use the private active_support/rails dep to wrap up common needs like eager autoload and module delegation. * Use a single Rails engine rather than an engine and a railtie. * Prefer `AS::JSON.encode` to `Object#to_json`.
Diffstat (limited to 'lib/action_cable/channel/base.rb')
-rw-r--r--lib/action_cable/channel/base.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/action_cable/channel/base.rb b/lib/action_cable/channel/base.rb
index 17ac1a97af..df87064195 100644
--- a/lib/action_cable/channel/base.rb
+++ b/lib/action_cable/channel/base.rb
@@ -1,3 +1,5 @@
+require 'set'
+
module ActionCable
module Channel
# The channel provides the basic structure of grouping behavior into logical units when communicating over the WebSocket connection.
@@ -159,7 +161,7 @@ module ActionCable
# the proper channel identifier marked as the recipient.
def transmit(data, via: nil)
logger.info "#{self.class.name} transmitting #{data.inspect}".tap { |m| m << " (via #{via})" if via }
- connection.transmit({ identifier: @identifier, message: data }.to_json)
+ connection.transmit ActiveSupport::JSON.encode(identifier: @identifier, message: data)
end