From 42658b5255ee8200b94a671bd6c7d44cfb0ca863 Mon Sep 17 00:00:00 2001 From: Pau Perez Date: Mon, 13 Jul 2020 09:43:18 +0200 Subject: [PATCH] Refactor `#process!` nested ifs to guard clauses Following Rubocop's indications. --- app/models/spree/payment/processing.rb | 32 ++++++++++++-------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/app/models/spree/payment/processing.rb b/app/models/spree/payment/processing.rb index 22ff948283..b2421d5c8a 100644 --- a/app/models/spree/payment/processing.rb +++ b/app/models/spree/payment/processing.rb @@ -4,23 +4,21 @@ module Spree class Payment < ActiveRecord::Base module Processing def process! - if payment_method&.source_required? - if source - if !processing? - if payment_method.supports?(source) - if payment_method.auto_capture? - purchase! - else - authorize! - end - else - invalidate! - raise Core::GatewayError, Spree.t(:payment_method_not_supported) - end - end - else - raise Core::GatewayError, Spree.t(:payment_processing_failed) - end + return unless payment_method&.source_required? + + raise Core::GatewayError, Spree.t(:payment_processing_failed) unless source + + return if processing? + + unless payment_method.supports?(source) + invalidate! + raise Core::GatewayError.new(Spree.t(:payment_method_not_supported)) + end + + if payment_method.auto_capture? + purchase! + else + authorize! end end