From 91fa2b71c3fecb26a1dc7836874478f12e6d7a02 Mon Sep 17 00:00:00 2001
From: Akira Matsuda <ronnie@dio.jp>
Date: Thu, 22 Dec 2016 19:16:38 +0900
Subject: Privatize unneededly protected methods in Action Cable

---
 actioncable/README.md                              |  2 +-
 actioncable/lib/action_cable/channel/base.rb       | 27 +++++++++++-----------
 actioncable/lib/action_cable/connection/base.rb    | 14 +++++------
 .../action_cable/connection/tagged_logger_proxy.rb |  4 ++--
 .../rails/generators/channel/channel_generator.rb  |  2 +-
 5 files changed, 24 insertions(+), 25 deletions(-)

(limited to 'actioncable')

diff --git a/actioncable/README.md b/actioncable/README.md
index 8ad9aeb1f1..cccb55a196 100644
--- a/actioncable/README.md
+++ b/actioncable/README.md
@@ -51,7 +51,7 @@ module ApplicationCable
       self.current_user = find_verified_user
     end
 
-    protected
+    private
       def find_verified_user
         if current_user = User.find_by(id: cookies.signed[:user_id])
           current_user
diff --git a/actioncable/lib/action_cable/channel/base.rb b/actioncable/lib/action_cable/channel/base.rb
index a866044f95..6739a62ba0 100644
--- a/actioncable/lib/action_cable/channel/base.rb
+++ b/actioncable/lib/action_cable/channel/base.rb
@@ -122,16 +122,16 @@ module ActionCable
           end
         end
 
-        protected
+        private
           # action_methods are cached and there is sometimes need to refresh
           # them. ::clear_action_methods! allows you to do that, so next time
           # you run action_methods, they will be recalculated.
-          def clear_action_methods!
+          def clear_action_methods! # :doc:
             @action_methods = nil
           end
 
           # Refresh the cached action_methods when a new action_method is added.
-          def method_added(name)
+          def method_added(name) # :doc:
             super
             clear_action_methods!
           end
@@ -189,22 +189,22 @@ module ActionCable
         end
       end
 
-      protected
+      private
         # Called once a consumer has become a subscriber of the channel. Usually the place to setup any streams
         # you want this channel to be sending to the subscriber.
-        def subscribed
+        def subscribed # :doc:
           # Override in subclasses
         end
 
         # Called once a consumer has cut its cable connection. Can be used for cleaning up connections or marking
         # users as offline or the like.
-        def unsubscribed
+        def unsubscribed # :doc:
           # Override in subclasses
         end
 
         # Transmit a hash of data to the subscriber. The hash will automatically be wrapped in a JSON envelope with
         # the proper channel identifier marked as the recipient.
-        def transmit(data, via: nil)
+        def transmit(data, via: nil) # :doc:
           logger.info "#{self.class.name} transmitting #{data.inspect.truncate(300)}".tap { |m| m << " (via #{via})" if via }
 
           payload = { channel_class: self.class.name, data: data, via: via }
@@ -213,33 +213,32 @@ module ActionCable
           end
         end
 
-        def ensure_confirmation_sent
+        def ensure_confirmation_sent # :doc:
           return if subscription_rejected?
           @defer_subscription_confirmation_counter.decrement
           transmit_subscription_confirmation unless defer_subscription_confirmation?
         end
 
-        def defer_subscription_confirmation!
+        def defer_subscription_confirmation! # :doc:
           @defer_subscription_confirmation_counter.increment
         end
 
-        def defer_subscription_confirmation?
+        def defer_subscription_confirmation? # :doc:
           @defer_subscription_confirmation_counter.value > 0
         end
 
-        def subscription_confirmation_sent?
+        def subscription_confirmation_sent? # :doc:
           @subscription_confirmation_sent
         end
 
-        def reject
+        def reject # :doc:
           @reject_subscription = true
         end
 
-        def subscription_rejected?
+        def subscription_rejected? # :doc:
           @reject_subscription
         end
 
-      private
         def delegate_connection_identifiers
           connection.identifiers.each do |identifier|
             define_singleton_method(identifier) do
diff --git a/actioncable/lib/action_cable/connection/base.rb b/actioncable/lib/action_cable/connection/base.rb
index 6d94b0eab0..0a517a532d 100644
--- a/actioncable/lib/action_cable/connection/base.rb
+++ b/actioncable/lib/action_cable/connection/base.rb
@@ -22,7 +22,7 @@ module ActionCable
     #         # Any cleanup work needed when the cable connection is cut.
     #       end
     #
-    #       protected
+    #       private
     #         def find_verified_user
     #           User.find_by_identity(cookies.signed[:identity_id]) ||
     #             reject_unauthorized_connection
@@ -136,8 +136,12 @@ module ActionCable
       # TODO Change this to private once we've dropped Ruby 2.2 support.
       # Workaround for Ruby 2.2 "private attribute?" warning.
       protected
+        attr_reader :websocket
+        attr_reader :message_buffer
+
+      private
         # The request that initiated the WebSocket connection is available here. This gives access to the environment, cookies, etc.
-        def request
+        def request # :doc:
           @request ||= begin
             environment = Rails.application.env_config.merge(env) if defined?(Rails.application) && Rails.application
             ActionDispatch::Request.new(environment || env)
@@ -145,14 +149,10 @@ module ActionCable
         end
 
         # The cookies of the request that initiated the WebSocket connection. Useful for performing authorization checks.
-        def cookies
+        def cookies # :doc:
           request.cookie_jar
         end
 
-        attr_reader :websocket
-        attr_reader :message_buffer
-
-      private
         def encode(cable_message)
           @coder.encode cable_message
         end
diff --git a/actioncable/lib/action_cable/connection/tagged_logger_proxy.rb b/actioncable/lib/action_cable/connection/tagged_logger_proxy.rb
index 41afa9680a..aef549aa86 100644
--- a/actioncable/lib/action_cable/connection/tagged_logger_proxy.rb
+++ b/actioncable/lib/action_cable/connection/tagged_logger_proxy.rb
@@ -31,8 +31,8 @@ module ActionCable
         end
       end
 
-      protected
-        def log(type, message)
+      private
+        def log(type, message) # :doc:
           tag(@logger) { @logger.send type, message }
         end
     end
diff --git a/actioncable/lib/rails/generators/channel/channel_generator.rb b/actioncable/lib/rails/generators/channel/channel_generator.rb
index 20d807c033..04b787c3a4 100644
--- a/actioncable/lib/rails/generators/channel/channel_generator.rb
+++ b/actioncable/lib/rails/generators/channel/channel_generator.rb
@@ -23,7 +23,7 @@ module Rails
         generate_application_cable_files
       end
 
-      protected
+      private
         def file_name
           @_file_name ||= super.gsub(/_channel/i, "")
         end
-- 
cgit v1.2.3