Ruby on Rails 5.2 - ActionCable::Server::Configuration

वर्ग ActionCable :: सर्वर :: कॉन्फ़िगरेशन




ruby

वर्ग ActionCable :: सर्वर :: कॉन्फ़िगरेशन

जनक:
Object

इस कॉन्फ़िगरेशन ऑब्जेक्ट का एक उदाहरण ActionCable.server.config के माध्यम से उपलब्ध है, जो आपको रेलगाड़ी के विन्यास को एक आरईएस इनिशलाइज़र में ट्विक करने की अनुमति देता है।

गुण

allow_same_origin_as_host [RW]
अनुमत_श्रेणी_रिजिन [RW]
केबल [RW]
कनेक्शन_क्लास [RW]
विकलांग_श्रेणी_फॉर्गी_प्रकरण [RW]
log_tags [RW]
लकड़हारा [आरडब्ल्यू]
Mount_path [RW]
url [RW]
कार्यकर्ता_पुल_साइज़ [RW]

पब्लिक क्लास के तरीके

# File actioncable/lib/action_cable/server/configuration.rb, line 13
def initialize
  @log_tags = []

  @connection_class = -> { ActionCable::Connection::Base }
  @worker_pool_size = 4

  @disable_request_forgery_protection = false
  @allow_same_origin_as_host = true
end

सार्वजनिक प्रवृत्ति के तरीके

# File actioncable/lib/action_cable/server/configuration.rb, line 26
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.message}", e.backtrace
    end
  end

  adapter = adapter.camelize
  adapter = "PostgreSQL" if adapter == "Postgresql"
  "ActionCable::SubscriptionAdapter::#{adapter}".constantize
end

Config / cable.yml में निर्दिष्ट सदस्यता एडॉप्टर की निरंतरता देता है। यदि एडेप्टर नहीं मिल सकता है, तो यह रेडिस एडेप्टर के लिए डिफ़ॉल्ट होगा। यह भी सुनिश्चित करता है कि उचित निर्भरता की आवश्यकता है।