From 6d8ddd1edac17a431222c86482bceb83e8a7d32f Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Tue, 12 Aug 2025 11:39:43 +1000 Subject: [PATCH] Update development config with Rails 7.0 defaults --- config/environments/development.rb | 93 +++++++++++++++++++++--------- 1 file changed, 67 insertions(+), 26 deletions(-) diff --git a/config/environments/development.rb b/config/environments/development.rb index f5b71d0e1c..76e1cb4ccf 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -1,40 +1,84 @@ -Openfoodnetwork::Application.configure do - config.action_controller.default_url_options = {host: "localhost", port: 3000} - # Settings specified here will take precedence over those in config/application.rb - # +require "active_support/core_ext/integer/time" + +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + # PROFILE switches several settings to a more "production-like" value # for profiling and benchmarking the application locally. All changes you # make to the app will require restart. - # In the development environment your application's code is reloaded on - # every request. This slows down response time but is perfect for development + # In the development environment your application's code is reloaded any time + # it changes. 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 = !!ENV["PROFILE"] - config.action_controller.default_url_options = {host: "localhost", port: 3000} + # Do not eager load code on boot. + config.eager_load = false + + # Show full error reports. + config.consider_all_requests_local = true + + # Enable server timing + config.server_timing = true + + # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. + # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. + # + # To override this, set the appropriate locale in .env[.*] file. + config.time_zone = ENV.fetch("TIMEZONE", "UTC") + + config.log_level = ENV.fetch("DEV_LOG_LEVEL", :debug) + + # Enable/disable caching. By default caching is disabled. + # Run rails dev:cache to toggle caching. + if Rails.root.join("tmp/caching-dev.txt").exist? || !ENV["PROFILE"] || !!ENV["DEV_CACHING"] + config.action_controller.server_timing = true + config.action_controller.enable_fragment_cache_logging = true - # :file_store is used by default when no cache store is specifically configured. - if !!ENV["PROFILE"] || !!ENV["DEV_CACHING"] config.cache_store = :redis_cache_store, { url: ENV.fetch("OFN_REDIS_URL", "redis://localhost:6379/1"), expires_in: 90.minutes } + config.public_file_server.headers = { + "Cache-Control" => "public, max-age=#{2.days.to_i}" + } + else + config.action_controller.perform_caching = false + + config.cache_store = :null_store end - config.eager_load = false + config.action_controller.default_url_options = {host: "localhost", port: 3000} - # Show full error reports and disable caching - config.consider_all_requests_local = true - config.action_controller.perform_caching = !!ENV["PROFILE"] || !!ENV["DEV_CACHING"] + # Store uploaded files on the local file system (see config/storage.yml for options). + # config.active_storage.service = :local - # Don't care if the mailer can't send + # Don't care if the mailer can't send. config.action_mailer.raise_delivery_errors = false - # Print deprecation notices to the Rails logger + config.action_mailer.perform_caching = false + + # Show emails using Letter Opener + config.action_mailer.delivery_method = :letter_opener + config.action_mailer.default_url_options = { host: "localhost:3000" } + + # Print deprecation notices to the Rails logger. config.active_support.deprecation = :log - # Only use best-standards-support built into browsers - config.action_dispatch.best_standards_support = :builtin + # Raise exceptions for disallowed deprecations. + config.active_support.disallowed_deprecation = :raise + + # Tell Active Support which deprecation messages to disallow. + config.active_support.disallowed_deprecation_warnings = [] + + # Raise an error on page load if there are pending migrations. + config.active_record.migration_error = :page_load + + # Highlight code that triggered database queries in logs. + config.active_record.verbose_query_logs = true + + # Suppress logger output for asset requests. + config.assets.quiet = true # Do not compress assets config.assets.compress = false @@ -59,17 +103,14 @@ Openfoodnetwork::Application.configure do # $ bundle exec rake assets:clean config.assets.debug = !!ENV["DEBUG_ASSETS"] - # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. - # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. - # - # To override this, set the appropriate locale in .env[.*] file. - config.time_zone = ENV.fetch("TIMEZONE", "UTC") + # Raises error for missing translations. + # config.i18n.raise_on_missing_translations = true config.i18n.fallbacks = [:en] - # Show emails using Letter Opener - config.action_mailer.delivery_method = :letter_opener - config.action_mailer.default_url_options = { host: "localhost:3000" } + # Annotate rendered view with file names. + # config.action_view.annotate_rendered_view_with_filenames = true - config.log_level = ENV.fetch("DEV_LOG_LEVEL", :debug) + # Uncomment if you wish to allow Action Cable access from any origin. + # config.action_cable.disable_request_forgery_protection = true end