Class: ActionCable::Server::Configuration
| Relationships & Source Files | |
| Inherits: | Object |
| Defined in: | actioncable/lib/action_cable/server/configuration.rb |
Overview
An instance of this configuration object is available via
ActionCable.server.config, which allows you to tweak Action Cable
configuration in a ::Rails config initializer.
Class Method Summary
- .new ⇒ Configuration constructor
Instance Attribute Summary
- #allow_same_origin_as_host rw
- #allowed_request_origins rw
- #cable rw
- #connection_class rw
- #disable_request_forgery_protection rw
- #executor_pool_size rw
- #filter_parameters rw
- #health_check_application rw
- #health_check_path rw
- #log_tags rw
- #logger rw
- #mount_path rw
- #precompile_assets rw
-
#pubsub_adapter
rw
Returns constant of subscription adapter specified in config/cable.yml or directly in the configuration.
- #pubsub_adapter=(value) rw
- #url rw
- #worker_pool_size rw
Constructor Details
.new ⇒ Configuration
# File 'actioncable/lib/action_cable/server/configuration.rb', line 23
def initialize @log_tags = [] @connection_class = -> { ActionCable::Connection::Base } @worker_pool_size = 4 @executor_pool_size = 10 @disable_request_forgery_protection = false @allow_same_origin_as_host = true @filter_parameters = [] @health_check_application = ->(env) { [200, { Rack::CONTENT_TYPE => "text/html", "date" => Time.now.httpdate }, []] } end
Instance Attribute Details
#allow_same_origin_as_host (rw)
[ GitHub ]# File 'actioncable/lib/action_cable/server/configuration.rb', line 17
attr_accessor :disable_request_forgery_protection, :allowed_request_origins, :allow_same_origin_as_host, :filter_parameters
#allowed_request_origins (rw)
[ GitHub ]# File 'actioncable/lib/action_cable/server/configuration.rb', line 17
attr_accessor :disable_request_forgery_protection, :allowed_request_origins, :allow_same_origin_as_host, :filter_parameters
#cable (rw)
[ GitHub ]# File 'actioncable/lib/action_cable/server/configuration.rb', line 18
attr_accessor :cable, :url, :mount_path
#connection_class (rw)
[ GitHub ]# File 'actioncable/lib/action_cable/server/configuration.rb', line 16
attr_accessor :connection_class, :worker_pool_size, :executor_pool_size
#disable_request_forgery_protection (rw)
[ GitHub ]# File 'actioncable/lib/action_cable/server/configuration.rb', line 17
attr_accessor :disable_request_forgery_protection, :allowed_request_origins, :allow_same_origin_as_host, :filter_parameters
#executor_pool_size (rw)
[ GitHub ]# File 'actioncable/lib/action_cable/server/configuration.rb', line 16
attr_accessor :connection_class, :worker_pool_size, :executor_pool_size
#filter_parameters (rw)
[ GitHub ]# File 'actioncable/lib/action_cable/server/configuration.rb', line 17
attr_accessor :disable_request_forgery_protection, :allowed_request_origins, :allow_same_origin_as_host, :filter_parameters
#health_check_application (rw)
[ GitHub ]# File 'actioncable/lib/action_cable/server/configuration.rb', line 20
attr_accessor :health_check_path, :health_check_application
#health_check_path (rw)
[ GitHub ]# File 'actioncable/lib/action_cable/server/configuration.rb', line 20
attr_accessor :health_check_path, :health_check_application
#log_tags (rw)
[ GitHub ]# File 'actioncable/lib/action_cable/server/configuration.rb', line 15
attr_accessor :logger, :
#logger (rw)
[ GitHub ]# File 'actioncable/lib/action_cable/server/configuration.rb', line 15
attr_accessor :logger, :
#mount_path (rw)
[ GitHub ]#precompile_assets (rw)
[ GitHub ]# File 'actioncable/lib/action_cable/server/configuration.rb', line 19
attr_accessor :precompile_assets
#pubsub_adapter (rw)
Returns constant of subscription adapter specified in config/cable.yml or directly in the configuration. If the adapter cannot be found, this will default to the Redis adapter. Also makes sure proper dependencies are required.
# File 'actioncable/lib/action_cable/server/configuration.rb', line 42
def pubsub_adapter # Provided explicitly in the configuration return @pubsub_adapter.constantize if @pubsub_adapter adapter = (cable.fetch("adapter") { "redis" }) # Require the adapter itself and give useful feedback about # 1. Missing adapter gems and # 2. Adapter gems' missing dependencies. path_to_adapter = "action_cable/subscription_adapter/#{adapter}" begin require path_to_adapter rescue LoadError => e # We couldn't require the adapter itself. Raise an exception that points out # config typos and missing gems. if e.path == path_to_adapter # We can assume that a non-builtin adapter was specified, so it's either # misspelled or missing from Gemfile. raise e.class, "Could not load the '#{adapter}' Action Cable pubsub adapter. Ensure that the adapter is spelled correctly in config/cable.yml and that you've added the necessary adapter gem to your Gemfile.", e.backtrace # Bubbled up from the adapter require. Prefix the exception message with some # guidance about how to address it and reraise. else raise e.class, "Error loading the '#{adapter}' Action Cable pubsub adapter. Missing a gem it depends on? #{e.}", e.backtrace end end adapter = adapter.camelize adapter = "PostgreSQL" if adapter == "Postgresql" "ActionCable::SubscriptionAdapter::#{adapter}".constantize end
#pubsub_adapter=(value) (rw)
[ GitHub ]# File 'actioncable/lib/action_cable/server/configuration.rb', line 21
attr_writer :pubsub_adapter
#url (rw)
[ GitHub ]# File 'actioncable/lib/action_cable/server/configuration.rb', line 18
attr_accessor :cable, :url, :mount_path
#worker_pool_size (rw)
[ GitHub ]# File 'actioncable/lib/action_cable/server/configuration.rb', line 16
attr_accessor :connection_class, :worker_pool_size, :executor_pool_size