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/engine.rb | |
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/engine.rb')
-rw-r--r-- | lib/action_cable/engine.rb | 18 |
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 |