aboutsummaryrefslogtreecommitdiffstats
path: root/actioncable/lib/action_cable/engine.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actioncable/lib/action_cable/engine.rb')
-rw-r--r--actioncable/lib/action_cable/engine.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/actioncable/lib/action_cable/engine.rb b/actioncable/lib/action_cable/engine.rb
new file mode 100644
index 0000000000..4777c3886b
--- /dev/null
+++ b/actioncable/lib/action_cable/engine.rb
@@ -0,0 +1,27 @@
+require 'rails/engine'
+require 'active_support/ordered_options'
+require 'action_cable/helpers/action_cable_helper'
+
+module ActionCable
+ class Engine < ::Rails::Engine
+ config.action_cable = ActiveSupport::OrderedOptions.new
+
+ config.to_prepare do
+ ApplicationController.helper ActionCable::Helpers::ActionCableHelper
+ end
+
+ initializer "action_cable.logger" do
+ ActiveSupport.on_load(:action_cable) { self.logger ||= ::Rails.logger }
+ end
+
+ initializer "action_cable.set_configs" do |app|
+ options = app.config.action_cable
+
+ options.allowed_request_origins ||= "http://localhost:3000" if ::Rails.env.development?
+
+ ActiveSupport.on_load(:action_cable) do
+ options.each { |k,v| send("#{k}=", v) }
+ end
+ end
+ end
+end