diff --git a/config/environments/production.rb b/config/environments/production.rb index 6bbe5fa..6f63898 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -1,114 +1,180 @@ +# 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 CSS using a preprocessor. +# # config.assets.css_compressor = :sass +# +# # Do not fallback to assets pipeline if a precompiled asset is missed. +# config.assets.compile = true +# config.assets.precompile += %w( active_admin.css active_admin/print.css active_admin.js ) +# # Enable serving of images, stylesheets, and JavaScripts from an asset server. +# # config.action_controller.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 +# +# # Store uploaded files on the local file system (see config/storage.yml for options). +# config.active_storage.service = :local +# +# # 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. +# # config.force_ssl = true +# +# # Use the lowest log level to ensure availability of diagnostic information +# # when problems arise. +# config.log_level = :debug +# +# # 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 +# +# # 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 = "contactUs_production" +# +# 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 = false +# +# # Enable locale fallbacks for I18n (makes lookups for any locale fall back to +# # the I18n.default_locale when a translation cannot be found). +# config.i18n.fallbacks = true +# +# # Send deprecation notices to registered listeners. +# config.active_support.deprecation = :notify +# +# # Use default logging formatter so that PID and timestamp are not suppressed. +# config.log_formatter = ::Logger::Formatter.new +# +# # 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 +# +# # Inserts middleware to perform automatic connection switching. +# # The `database_selector` hash is used to pass options to the DatabaseSelector +# # middleware. The `delay` is used to determine how long to wait after a write +# # to send a subsequent read to the primary. +# # +# # The `database_resolver` class is used by the middleware to determine which +# # database is appropriate to use based on the time delay. +# # +# # The `database_resolver_context` class is used by the middleware to set +# # timestamps for the last write to the primary. The resolver uses the context +# # class timestamps to determine how long to wait before reading from the +# # replica. +# # +# # By default Rails will store a last write timestamp in the session. The +# # DatabaseSelector middleware is designed as such you can define your own +# # strategy for connection switching and pass that into the middleware through +# # these configuration options. +# # config.active_record.database_selector = { delay: 2.seconds } +# # config.active_record.database_resolver = ActiveRecord::Middleware::DatabaseSelector::Resolver +# # config.active_record.database_resolver_context = ActiveRecord::Middleware::DatabaseSelector::Resolver::Session +# # +# config.secret_key_base = ENV['SECRET_KEY_BASE'] +# end +# +# +# 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 + # In the development environment your application's code is reloaded on + # every request. This slows down response time but is perfect for development + # since you don't have to restart the web server when you make code changes. + config.cache_classes = false - # 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 + # Do not eager load code on boot. + config.eager_load = false - # Full error reports are disabled and caching is turned on. - config.consider_all_requests_local = false - config.action_controller.perform_caching = true + # Show full error reports. + config.consider_all_requests_local = 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 + # Enable/disable caching. By default caching is disabled. + # Run rails dev:cache to toggle caching. + if Rails.root.join('tmp', 'caching-dev.txt').exist? + config.action_controller.perform_caching = true + config.action_controller.enable_fragment_cache_logging = 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? + config.cache_store = :memory_store + config.public_file_server.headers = { + 'Cache-Control' => "public, max-age=#{2.days.to_i}" + } + else + config.action_controller.perform_caching = false - # Compress CSS using a preprocessor. - # config.assets.css_compressor = :sass - - # Do not fallback to assets pipeline if a precompiled asset is missed. - config.assets.compile = true - config.assets.precompile += %w( active_admin.css active_admin/print.css active_admin.js ) - # Enable serving of images, stylesheets, and JavaScripts from an asset server. - # config.action_controller.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 + config.cache_store = :null_store + end # Store uploaded files on the local file system (see config/storage.yml for options). config.active_storage.service = :local - # 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. - # config.force_ssl = true - - # Use the lowest log level to ensure availability of diagnostic information - # when problems arise. - config.log_level = :debug - - # 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 - - # 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 = "contactUs_production" + # Don't care if the mailer can't send. + config.action_mailer.raise_delivery_errors = false 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 = false + # Print deprecation notices to the Rails logger. + config.active_support.deprecation = :log - # Enable locale fallbacks for I18n (makes lookups for any locale fall back to - # the I18n.default_locale when a translation cannot be found). - config.i18n.fallbacks = true + # Raise an error on page load if there are pending migrations. + config.active_record.migration_error = :page_load - # Send deprecation notices to registered listeners. - config.active_support.deprecation = :notify + # Highlight code that triggered database queries in logs. + config.active_record.verbose_query_logs = true - # Use default logging formatter so that PID and timestamp are not suppressed. - config.log_formatter = ::Logger::Formatter.new + # Debug mode disables concatenation and preprocessing of assets. + # This option may cause significant delays in view rendering with a large + # number of complex assets. + config.assets.debug = true - # Use a different logger for distributed setups. - # require 'syslog/logger' - # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name') + # Suppress logger output for asset requests. + config.assets.quiet = true - if ENV["RAILS_LOG_TO_STDOUT"].present? - logger = ActiveSupport::Logger.new(STDOUT) - logger.formatter = config.log_formatter - config.logger = ActiveSupport::TaggedLogging.new(logger) - end + # Raises error for missing translations. + # config.action_view.raise_on_missing_translations = true - # Do not dump schema after migrations. - config.active_record.dump_schema_after_migration = false - - # Inserts middleware to perform automatic connection switching. - # The `database_selector` hash is used to pass options to the DatabaseSelector - # middleware. The `delay` is used to determine how long to wait after a write - # to send a subsequent read to the primary. - # - # The `database_resolver` class is used by the middleware to determine which - # database is appropriate to use based on the time delay. - # - # The `database_resolver_context` class is used by the middleware to set - # timestamps for the last write to the primary. The resolver uses the context - # class timestamps to determine how long to wait before reading from the - # replica. - # - # By default Rails will store a last write timestamp in the session. The - # DatabaseSelector middleware is designed as such you can define your own - # strategy for connection switching and pass that into the middleware through - # these configuration options. - # config.active_record.database_selector = { delay: 2.seconds } - # config.active_record.database_resolver = ActiveRecord::Middleware::DatabaseSelector::Resolver - # config.active_record.database_resolver_context = ActiveRecord::Middleware::DatabaseSelector::Resolver::Session - # - config.secret_key_base = ENV['SECRET_KEY_BASE'] + # Use an evented file watcher to asynchronously detect changes in source code, + # routes, locales, etc. This feature depends on the listen gem. + config.file_watcher = ActiveSupport::EventedFileUpdateChecker end +