diff options
author | Jeremy Daer <jeremydaer@gmail.com> | 2015-10-16 01:02:22 -0700 |
---|---|---|
committer | Jeremy Daer <jeremydaer@gmail.com> | 2015-10-16 09:06:44 -0700 |
commit | acfdcf556888a88dc2d2026553d585f920fae105 (patch) | |
tree | 9e9bbe0a5b43170d3495653315fe396e546e6dd0 /lib/action_cable/connection | |
parent | d7ab5c8f1ffd04acd2cf610f5756fc18fdfc6160 (diff) | |
download | rails-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/connection')
-rw-r--r-- | lib/action_cable/connection/base.rb | 6 | ||||
-rw-r--r-- | lib/action_cable/connection/identification.rb | 10 | ||||
-rw-r--r-- | lib/action_cable/connection/subscriptions.rb | 2 | ||||
-rw-r--r-- | lib/action_cable/connection/web_socket.rb | 2 |
4 files changed, 16 insertions, 4 deletions
diff --git a/lib/action_cable/connection/base.rb b/lib/action_cable/connection/base.rb index de27628d7d..9f74226f98 100644 --- a/lib/action_cable/connection/base.rb +++ b/lib/action_cable/connection/base.rb @@ -119,7 +119,7 @@ module ActionCable end def beat - transmit({ identifier: '_ping', message: Time.now.to_i }.to_json) + transmit ActiveSupport::JSON.encode(identifier: '_ping', message: Time.now.to_i) end @@ -203,7 +203,7 @@ module ActionCable request.filtered_path, websocket.possible? ? ' [WebSocket]' : '', request.ip, - Time.now.to_default_s ] + Time.now.to_s ] end def finished_request_message @@ -211,7 +211,7 @@ module ActionCable request.filtered_path, websocket.possible? ? ' [WebSocket]' : '', request.ip, - Time.now.to_default_s ] + Time.now.to_s ] end end end diff --git a/lib/action_cable/connection/identification.rb b/lib/action_cable/connection/identification.rb index 95863795dd..431493aa70 100644 --- a/lib/action_cable/connection/identification.rb +++ b/lib/action_cable/connection/identification.rb @@ -1,3 +1,5 @@ +require 'set' + module ActionCable module Connection module Identification @@ -31,7 +33,13 @@ module ActionCable private def connection_gid(ids) - ids.map { |o| (o.try(:to_global_id) || o).to_s }.sort.join(":") + ids.map do |o| + if o.respond_to? :to_global_id + o.to_global_id + else + o.to_s + end + end.sort.join(":") end end end diff --git a/lib/action_cable/connection/subscriptions.rb b/lib/action_cable/connection/subscriptions.rb index 69e3f60706..229be2a316 100644 --- a/lib/action_cable/connection/subscriptions.rb +++ b/lib/action_cable/connection/subscriptions.rb @@ -1,3 +1,5 @@ +require 'active_support/core_ext/hash/indifferent_access' + module ActionCable module Connection # Collection class for all the channel subscriptions established on a given connection. Responsible for routing incoming commands that arrive on diff --git a/lib/action_cable/connection/web_socket.rb b/lib/action_cable/connection/web_socket.rb index 135a28cfe4..169b683b8c 100644 --- a/lib/action_cable/connection/web_socket.rb +++ b/lib/action_cable/connection/web_socket.rb @@ -1,3 +1,5 @@ +require 'faye/websocket' + module ActionCable module Connection # Decorate the Faye::WebSocket with helpers we need. |