From dd8f139c1b58043fbf90da54da9d1fcc0225cb46 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Wed, 18 Nov 2020 13:44:11 +0000 Subject: [PATCH] Memoize Spree::PaypalController#payment_method This gets called 4 or 5 times in a single request just to read basic attributes from the object. The query doesn't need to be repeated each time --- app/controllers/spree/paypal_controller_decorator.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/spree/paypal_controller_decorator.rb b/app/controllers/spree/paypal_controller_decorator.rb index 0864b649f1..1cade23304 100644 --- a/app/controllers/spree/paypal_controller_decorator.rb +++ b/app/controllers/spree/paypal_controller_decorator.rb @@ -67,7 +67,7 @@ Spree::PaypalController.class_eval do private def payment_method - Spree::PaymentMethod.find(params[:payment_method_id]) + @payment_method ||= Spree::PaymentMethod.find(params[:payment_method_id]) end def permit_parameters!