From aba40cc0189ac0a3dcc062fb80cfbfceb8694e4c Mon Sep 17 00:00:00 2001 From: Lachlan Sylvester Date: Wed, 14 Oct 2015 20:19:36 +1100 Subject: add railtie and set default allowed_request_origins for development --- lib/action_cable.rb | 2 ++ lib/action_cable/railtie.rb | 19 +++++++++++++++++++ lib/action_cable/server/base.rb | 2 ++ 3 files changed, 23 insertions(+) create mode 100644 lib/action_cable/railtie.rb diff --git a/lib/action_cable.rb b/lib/action_cable.rb index d2c5251634..de1b08f789 100644 --- a/lib/action_cable.rb +++ b/lib/action_cable.rb @@ -17,6 +17,8 @@ require 'em-hiredis' require 'redis' require 'action_cable/engine' if defined?(Rails) +require 'action_cable/railtie' if defined?(Rails) + require 'action_cable/version' module ActionCable diff --git a/lib/action_cable/railtie.rb b/lib/action_cable/railtie.rb new file mode 100644 index 0000000000..0be6d19620 --- /dev/null +++ b/lib/action_cable/railtie.rb @@ -0,0 +1,19 @@ +module ActionCable + class Railtie < Rails::Railtie + 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 diff --git a/lib/action_cable/server/base.rb b/lib/action_cable/server/base.rb index 9315a48f20..5b7ddf4185 100644 --- a/lib/action_cable/server/base.rb +++ b/lib/action_cable/server/base.rb @@ -66,5 +66,7 @@ module ActionCable config.connection_class.identifiers end end + + ActiveSupport.run_load_hooks(:action_cable, Base.config) end end -- cgit v1.2.3