The config.file_watcher option still exists but it's no longer included in the default environtment file. Since we don't use it, we're removing it. The config.assets.assets.debug option is no longer true by default [1], so it isn't included anymore. The config.active_support.deprecation option is now omitted on production in favor of config.active_support.report_deprecations, which is false by default. I think it's OK to keep it this way, since we check deprecations in the development and test environments but never on production environments. As mentioned in the Rails upgrade guide, sprockets-rails is no longer a rails dependency and we need to explicitly include it in our Gemfile. The behavior of queries trying to find an invalid enum value has changed [2], so we're updating the tests accordingly. The `favicon_link_tag` method has removed the deprecated `shortcut` link type [3], so we're updating the tests accordingly. The method `raw_filter` in ActiveSupport callbacks has been renamed to `filter` [4], so we're updating the code accordingly. [1] https://github.com/rails/rails/commit/adec7e7ba87e3 [2] https://github.com/rails/rails/commit/b68f0954 [3] Pull request 43850 in https://github.com/rails/rails [4] Pull request 41598 in https://github.com/rails/rails
108 lines
4.6 KiB
Ruby
108 lines
4.6 KiB
Ruby
require "active_support/core_ext/integer/time"
|
|
|
|
Rails.application.configure do
|
|
# Settings specified here will take precedence over those in config/application.rb.
|
|
|
|
# Code is not reloaded between requests.
|
|
config.cache_classes = true
|
|
|
|
# Eager load code on boot. This eager loads most of Rails and
|
|
# your application in memory, allowing both threaded web servers
|
|
# and those relying on copy on write to perform better.
|
|
# Rake tasks automatically ignore this option for performance.
|
|
config.eager_load = true
|
|
|
|
# Full error reports are disabled and caching is turned on.
|
|
config.consider_all_requests_local = false
|
|
config.action_controller.perform_caching = true
|
|
|
|
# Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"]
|
|
# or in config/master.key. This key is used to decrypt credentials (and other encrypted files).
|
|
# config.require_master_key = true
|
|
|
|
# Disable serving static files from the `/public` folder by default since
|
|
# Apache or NGINX already handles this.
|
|
config.public_file_server.enabled = ENV["RAILS_SERVE_STATIC_FILES"].present?
|
|
|
|
# Compress JavaScripts and CSS.
|
|
config.assets.js_compressor = Uglifier.new(harmony: true)
|
|
# config.assets.css_compressor = :sass
|
|
|
|
# Do not fallback to assets pipeline if a precompiled asset is missed.
|
|
config.assets.compile = false
|
|
|
|
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
|
# config.asset_host = "http://assets.example.com"
|
|
|
|
# Specifies the header that your server uses for sending files.
|
|
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for Apache
|
|
# config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX
|
|
|
|
# Mount Action Cable outside main process or domain.
|
|
# config.action_cable.mount_path = nil
|
|
# config.action_cable.url = "wss://example.com/cable"
|
|
# config.action_cable.allowed_request_origins = [ "http://example.com", /http:\/\/example.*/ ]
|
|
|
|
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
|
# Configure force_ssl in secrets.yml
|
|
config.force_ssl = Rails.application.secrets.force_ssl
|
|
|
|
# Include generic and useful information about system operation, but avoid logging too much
|
|
# information to avoid inadvertent exposure of personally identifiable information (PII).
|
|
config.log_level = :warn
|
|
|
|
# Prepend all log lines with the following tags.
|
|
config.log_tags = [:request_id]
|
|
|
|
# Use a different cache store in production.
|
|
config.cache_store = :mem_cache_store, { namespace: proc { Tenant.current_schema }}
|
|
|
|
# Use a real queuing backend for Active Job (and separate queues per environment).
|
|
# config.active_job.queue_adapter = :resque
|
|
# config.active_job.queue_name_prefix = "consul_#{Rails.env}"
|
|
|
|
config.action_mailer.perform_caching = false
|
|
|
|
# Ignore bad email addresses and do not raise email delivery errors.
|
|
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
|
config.action_mailer.raise_delivery_errors = true
|
|
config.action_mailer.default_url_options = { host: Rails.application.secrets.server_name }
|
|
|
|
# Configure your SMTP service credentials in secrets.yml
|
|
if Rails.application.secrets.smtp_settings
|
|
config.action_mailer.delivery_method = Rails.application.secrets.mailer_delivery_method || :smtp
|
|
config.action_mailer.smtp_settings = Rails.application.secrets.smtp_settings
|
|
end
|
|
|
|
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
|
# the I18n.default_locale when a translation cannot be found).
|
|
# (commented because it prevents using fallback locales set in application.rb).
|
|
# config.i18n.fallbacks = true
|
|
|
|
# Don't log any deprecations.
|
|
config.active_support.report_deprecations = false
|
|
|
|
# Use default logging formatter so that PID and timestamp are not suppressed.
|
|
config.log_formatter = ::Logger::Formatter.new
|
|
|
|
# Rotate logger
|
|
logger = ActiveSupport::Logger.new(config.default_log_file, "daily")
|
|
logger.formatter = config.log_formatter
|
|
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
|
|
|
# Use a different logger for distributed setups.
|
|
# require "syslog/logger"
|
|
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new "app-name")
|
|
|
|
if ENV["RAILS_LOG_TO_STDOUT"].present?
|
|
logger = ActiveSupport::Logger.new(STDOUT)
|
|
logger.formatter = config.log_formatter
|
|
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
|
end
|
|
|
|
# Do not dump schema after migrations.
|
|
config.active_record.dump_schema_after_migration = false
|
|
end
|
|
|
|
require Rails.root.join("config", "environments", "custom", "production")
|