From 3cd69fa2c025da1cc45b1b9b43b227cceb025837 Mon Sep 17 00:00:00 2001
From: Vladimir Dementyev <dementiev.vm@gmail.com>
Date: Fri, 14 Dec 2018 16:46:39 -0500
Subject: Allow passing custom config to ActionCable::Server::Base

That allows us to create a separate, isolated Action Cable server
instance within the same app.
---
 actioncable/lib/action_cable/server/base.rb | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

(limited to 'actioncable/lib')

diff --git a/actioncable/lib/action_cable/server/base.rb b/actioncable/lib/action_cable/server/base.rb
index 2b9e1cba3b..98b3743175 100644
--- a/actioncable/lib/action_cable/server/base.rb
+++ b/actioncable/lib/action_cable/server/base.rb
@@ -12,14 +12,17 @@ module ActionCable
       include ActionCable::Server::Broadcasting
       include ActionCable::Server::Connections
 
-      cattr_accessor :config, instance_accessor: true, default: ActionCable::Server::Configuration.new
+      cattr_accessor :config, instance_accessor: false, default: ActionCable::Server::Configuration.new
+
+      attr_reader :config
 
       def self.logger; config.logger; end
       delegate :logger, to: :config
 
       attr_reader :mutex
 
-      def initialize
+      def initialize(config: self.class.config)
+        @config = config
         @mutex = Monitor.new
         @remote_connections = @event_loop = @worker_pool = @pubsub = nil
       end
-- 
cgit v1.2.3