From 2f8dff902e225afb46770ead6eef8b82a3ba8305 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Strzebi=C5=84czyk?= Date: Thu, 22 Aug 2024 16:59:48 +0200 Subject: [PATCH] wip --- lib/granite/action/performing.rb | 3 ++- lib/granite/action/preconditions.rb | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/granite/action/performing.rb b/lib/granite/action/performing.rb index b66f4d8..5735f47 100644 --- a/lib/granite/action/performing.rb +++ b/lib/granite/action/performing.rb @@ -82,7 +82,8 @@ def try_perform!(context: nil, **options) return unless satisfy_preconditions? transaction do - super_run_validations!(context) || raise_validation_error + # super_run_validations!(context) || raise_validation_error + validate!(context) perform_action!(**options) end end diff --git a/lib/granite/action/preconditions.rb b/lib/granite/action/preconditions.rb index 4ebd2be..fbf2517 100644 --- a/lib/granite/action/preconditions.rb +++ b/lib/granite/action/preconditions.rb @@ -85,6 +85,7 @@ def add_precondition(klass, *args, &block) def initialize(*) @failed_preconditions = [] + @preconditions_run = nil super end @@ -106,7 +107,7 @@ def decline_with(*args, **kwargs) private def run_preconditions! - _preconditions.execute!(self) + @preconditions_run ||= _preconditions.execute!(self) errors.empty? end