From 813a6f1b089aa46d573d5796a08da7877b98f47f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Busqu=C3=A9?= Date: Tue, 10 Jan 2023 13:12:50 +0100 Subject: [PATCH] Remove indirection to set current host for ActiveStorage We no longer support Rails v5.2, so there's no need to support the old way [1]. As we only need to include a Rails module, there's neither the need to go through a custom module. [1] - https://github.com/rails/rails/commit/e33c3cd8ccbecaca6c6af0438956431b02cb3fb2 --- .../controllers/spree/api/base_controller.rb | 2 +- core/app/controllers/spree/base_controller.rb | 2 +- .../core/controller_helpers/current_host.rb | 15 --------------- core/lib/spree/rails_compatibility.rb | 17 ----------------- 4 files changed, 2 insertions(+), 34 deletions(-) delete mode 100644 core/lib/spree/core/controller_helpers/current_host.rb diff --git a/api/app/controllers/spree/api/base_controller.rb b/api/app/controllers/spree/api/base_controller.rb index e68b5db294f..ec48d666e52 100644 --- a/api/app/controllers/spree/api/base_controller.rb +++ b/api/app/controllers/spree/api/base_controller.rb @@ -10,7 +10,7 @@ class BaseController < ActionController::Base protect_from_forgery unless: -> { request.format.json? } include CanCan::ControllerAdditions - include Spree::Core::ControllerHelpers::CurrentHost + include ActiveStorage::SetCurrent include Spree::Core::ControllerHelpers::Store include Spree::Core::ControllerHelpers::Pricing include Spree::Core::ControllerHelpers::StrongParameters diff --git a/core/app/controllers/spree/base_controller.rb b/core/app/controllers/spree/base_controller.rb index fbdba199c08..31aea6bc3fc 100644 --- a/core/app/controllers/spree/base_controller.rb +++ b/core/app/controllers/spree/base_controller.rb @@ -4,7 +4,7 @@ require_dependency 'spree/core/controller_helpers/strong_parameters' class Spree::BaseController < ApplicationController - include Spree::Core::ControllerHelpers::CurrentHost + include ActiveStorage::SetCurrent include Spree::Core::ControllerHelpers::Auth include Spree::Core::ControllerHelpers::Common include Spree::Core::ControllerHelpers::PaymentParameters diff --git a/core/lib/spree/core/controller_helpers/current_host.rb b/core/lib/spree/core/controller_helpers/current_host.rb deleted file mode 100644 index 4a322b9b600..00000000000 --- a/core/lib/spree/core/controller_helpers/current_host.rb +++ /dev/null @@ -1,15 +0,0 @@ -# frozen_string_literal: true - -module Spree - module Core - module ControllerHelpers - module CurrentHost - extend ActiveSupport::Concern - - included do - Spree::RailsCompatibility.active_storage_set_current(self) - end - end - end - end -end diff --git a/core/lib/spree/rails_compatibility.rb b/core/lib/spree/rails_compatibility.rb index 508dd773a9a..a63e4fe3add 100644 --- a/core/lib/spree/rails_compatibility.rb +++ b/core/lib/spree/rails_compatibility.rb @@ -72,23 +72,6 @@ def self.default_taxon_attachment_module end end - # Set current host for ActiveStorage in a controller - # - # Changed from `#host` to including a module in Rails 6 - # - # See https://github.com/rails/rails/commit/e33c3cd8ccbecaca6c6af0438956431b02cb3fb2 - # - # TODO: Remove when deprecating Rails 5.2 - def self.active_storage_set_current(controller) - if version_gte?('6') - controller.include ActiveStorage::SetCurrent - else - controller.before_action do - ActiveStorage::Current.host = request.base_url - end - end - end - # Set current host for ActiveStorage # # Changed from `#host` to `#url_options` on Rails 7