Class: ActionCable::Server::Configuration
- Inherits:
- 
      Object
      
        - Object
- ActionCable::Server::Configuration
 
- Defined in:
- lib/action_cable/server/configuration.rb
Overview
# Action Cable Server Configuration
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.
Instance Attribute Summary collapse
- 
  
    
      #allow_same_origin_as_host  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute allow_same_origin_as_host. 
- 
  
    
      #allowed_request_origins  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute allowed_request_origins. 
- 
  
    
      #cable  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute cable. 
- 
  
    
      #connection_class  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute connection_class. 
- 
  
    
      #disable_request_forgery_protection  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute disable_request_forgery_protection. 
- 
  
    
      #filter_parameters  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute filter_parameters. 
- 
  
    
      #health_check_application  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute health_check_application. 
- 
  
    
      #health_check_path  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute health_check_path. 
- 
  
    
      #log_tags  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute log_tags. 
- 
  
    
      #logger  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute logger. 
- 
  
    
      #mount_path  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute mount_path. 
- 
  
    
      #precompile_assets  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute precompile_assets. 
- 
  
    
      #url  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute url. 
- 
  
    
      #worker_pool_size  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute worker_pool_size. 
Instance Method Summary collapse
- 
  
    
      #initialize  ⇒ Configuration 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of Configuration. 
- 
  
    
      #pubsub_adapter  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns constant of subscription adapter specified in config/cable.yml. 
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
| 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | # File 'lib/action_cable/server/configuration.rb', line 22 def initialize @log_tags = [] @connection_class = -> { ActionCable::Connection::Base } @worker_pool_size = 4 @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 ⇒ Object
Returns the value of attribute allow_same_origin_as_host.
| 17 18 19 | # File 'lib/action_cable/server/configuration.rb', line 17 def allow_same_origin_as_host @allow_same_origin_as_host end | 
#allowed_request_origins ⇒ Object
Returns the value of attribute allowed_request_origins.
| 17 18 19 | # File 'lib/action_cable/server/configuration.rb', line 17 def allowed_request_origins @allowed_request_origins end | 
#cable ⇒ Object
Returns the value of attribute cable.
| 18 19 20 | # File 'lib/action_cable/server/configuration.rb', line 18 def cable @cable end | 
#connection_class ⇒ Object
Returns the value of attribute connection_class.
| 16 17 18 | # File 'lib/action_cable/server/configuration.rb', line 16 def connection_class @connection_class end | 
#disable_request_forgery_protection ⇒ Object
Returns the value of attribute disable_request_forgery_protection.
| 17 18 19 | # File 'lib/action_cable/server/configuration.rb', line 17 def disable_request_forgery_protection @disable_request_forgery_protection end | 
#filter_parameters ⇒ Object
Returns the value of attribute filter_parameters.
| 17 18 19 | # File 'lib/action_cable/server/configuration.rb', line 17 def filter_parameters @filter_parameters end | 
#health_check_application ⇒ Object
Returns the value of attribute health_check_application.
| 20 21 22 | # File 'lib/action_cable/server/configuration.rb', line 20 def health_check_application @health_check_application end | 
#health_check_path ⇒ Object
Returns the value of attribute health_check_path.
| 20 21 22 | # File 'lib/action_cable/server/configuration.rb', line 20 def health_check_path @health_check_path end | 
#log_tags ⇒ Object
Returns the value of attribute log_tags.
| 15 16 17 | # File 'lib/action_cable/server/configuration.rb', line 15 def @log_tags end | 
#logger ⇒ Object
Returns the value of attribute logger.
| 15 16 17 | # File 'lib/action_cable/server/configuration.rb', line 15 def logger @logger end | 
#mount_path ⇒ Object
Returns the value of attribute mount_path.
| 18 19 20 | # File 'lib/action_cable/server/configuration.rb', line 18 def mount_path @mount_path end | 
#precompile_assets ⇒ Object
Returns the value of attribute precompile_assets.
| 19 20 21 | # File 'lib/action_cable/server/configuration.rb', line 19 def precompile_assets @precompile_assets end | 
#url ⇒ Object
Returns the value of attribute url.
| 18 19 20 | # File 'lib/action_cable/server/configuration.rb', line 18 def url @url end | 
#worker_pool_size ⇒ Object
Returns the value of attribute worker_pool_size.
| 16 17 18 | # File 'lib/action_cable/server/configuration.rb', line 16 def worker_pool_size @worker_pool_size end | 
Instance Method Details
#pubsub_adapter ⇒ Object
Returns constant of subscription adapter specified in config/cable.yml. If the adapter cannot be found, this will default to the Redis adapter. Also makes sure proper dependencies are required.
| 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | # File 'lib/action_cable/server/configuration.rb', line 40 def 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 |