aboutsummaryrefslogtreecommitdiffstats
path: root/lib/action_cable/engine.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/engine.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/engine.rb')
-rw-r--r--lib/action_cable/engine.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/action_cable/engine.rb b/lib/action_cable/engine.rb
index 6c943c7971..613a9b99f2 100644
--- a/lib/action_cable/engine.rb
+++ b/lib/action_cable/engine.rb
@@ -1,4 +1,22 @@
+require 'rails/engine'
+require 'active_support/ordered_options'
+
module ActionCable
class Engine < ::Rails::Engine
+ config.action_cable = ActiveSupport::OrderedOptions.new
+
+ 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