From a82bae2a461a13afdfdaf727cd9ef9c9480c15ef Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Sun, 21 Mar 2021 13:17:26 +0000 Subject: [PATCH] Remove Spree resource controller custom callbacks --- .rubocop_todo.yml | 1 - app/controllers/admin/resource_controller.rb | 44 -------------------- app/services/action_callbacks.rb | 23 ---------- 3 files changed, 68 deletions(-) delete mode 100644 app/services/action_callbacks.rb diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index cd62dcf638..b83b804206 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -661,7 +661,6 @@ Style/FrozenStringLiteralComment: - 'app/serializers/api/uncached_enterprise_serializer.rb' - 'app/serializers/api/user_serializer.rb' - 'app/serializers/api/variant_serializer.rb' - - 'app/services/action_callbacks.rb' - 'app/services/bulk_invoice_service.rb' - 'app/services/cart_service.rb' - 'app/services/create_order_cycle.rb' diff --git a/app/controllers/admin/resource_controller.rb b/app/controllers/admin/resource_controller.rb index b316046b4b..3510093c0d 100644 --- a/app/controllers/admin/resource_controller.rb +++ b/app/controllers/admin/resource_controller.rb @@ -1,5 +1,3 @@ -require 'action_callbacks' - module Admin class ResourceController < Spree::Admin::BaseController helper_method :new_object_url, :edit_object_url, :object_url, :collection_url @@ -11,7 +9,6 @@ module Admin respond_to :js, except: [:show, :index] def new - invoke_callbacks(:new_action, :before) respond_with(@object) do |format| format.html { render layout: !request.xhr? } format.js { render layout: false } @@ -26,32 +23,26 @@ module Admin end def update - invoke_callbacks(:update, :before) if @object.update(permitted_resource_params) - invoke_callbacks(:update, :after) flash[:success] = flash_message_for(@object, :successfully_updated) respond_with(@object) do |format| format.html { redirect_to location_after_save } format.js { render layout: false } end else - invoke_callbacks(:update, :fails) respond_with(@object) end end def create - invoke_callbacks(:create, :before) @object.attributes = permitted_resource_params if @object.save - invoke_callbacks(:create, :after) flash[:success] = flash_message_for(@object, :successfully_created) respond_with(@object) do |format| format.html { redirect_to location_after_save } format.js { render layout: false } end else - invoke_callbacks(:create, :fails) respond_with(@object) end end @@ -67,16 +58,13 @@ module Admin end def destroy - invoke_callbacks(:destroy, :before) if @object.destroy - invoke_callbacks(:destroy, :after) flash[:success] = flash_message_for(@object, :successfully_removed) respond_with(@object) do |format| format.html { redirect_to collection_url } format.js { render partial: "spree/admin/shared/destroy" } end else - invoke_callbacks(:destroy, :fails) respond_with(@object) do |format| format.html { redirect_to collection_url } end @@ -92,7 +80,6 @@ module Admin class << self attr_accessor :parent_data - attr_accessor :callbacks def belongs_to(model_name, options = {}) @parent_data ||= {} @@ -100,26 +87,6 @@ module Admin @parent_data[:model_class] = model_name.to_s.classify.constantize @parent_data[:find_by] = options[:find_by] || :id end - - def new_action - @callbacks ||= {} - @callbacks[:new_action] ||= ActionCallbacks.new - end - - def create - @callbacks ||= {} - @callbacks[:create] ||= ActionCallbacks.new - end - - def update - @callbacks ||= {} - @callbacks[:update] ||= ActionCallbacks.new - end - - def destroy - @callbacks ||= {} - @callbacks[:destroy] ||= ActionCallbacks.new - end end def model_class @@ -212,17 +179,6 @@ module Admin collection_url end - def invoke_callbacks(action, callback_type) - callbacks = self.class.callbacks || {} - return if callbacks[action].nil? - - case callback_type.to_sym - when :before then callbacks[action].before_methods.each { |method| __send__ method } - when :after then callbacks[action].after_methods.each { |method| __send__ method } - when :fails then callbacks[action].fails_methods.each { |method| __send__ method } - end - end - # URL helpers def new_object_url(options = {}) if parent_data.present? diff --git a/app/services/action_callbacks.rb b/app/services/action_callbacks.rb deleted file mode 100644 index 2cfecc961b..0000000000 --- a/app/services/action_callbacks.rb +++ /dev/null @@ -1,23 +0,0 @@ -class ActionCallbacks - attr_reader :before_methods - attr_reader :after_methods - attr_reader :fails_methods - - def initialize - @before_methods = [] - @after_methods = [] - @fails_methods = [] - end - - def before(method) - @before_methods << method - end - - def after(method) - @after_methods << method - end - - def fails(method) - @fails_methods << method - end -end