Browse Source

Maintenance: CoreWorkflow throws more verbose exception

Mantas Masalskis 3 years ago
parent
commit
90d03cf542
2 changed files with 11 additions and 2 deletions
  1. 2 2
      app/models/concerns/checks_core_workflow.rb
  2. 9 0
      lib/exceptions.rb

+ 2 - 2
app/models/concerns/checks_core_workflow.rb

@@ -34,7 +34,7 @@ module ChecksCoreWorkflow
       next if self[key].blank?
       next if restricted_value?(perform_result, key)
 
-      raise Exceptions::UnprocessableEntity, "Invalid value '#{self[key]}' for field '#{key}'!"
+      raise Exceptions::ApplicationModel.new(self, "Invalid value '#{self[key]}' for field '#{key}'!")
     end
   end
 
@@ -49,7 +49,7 @@ module ChecksCoreWorkflow
       next if !column_value?(key)
       next if !colum_default?(key)
 
-      raise Exceptions::UnprocessableEntity, "Missing required value for field '#{key}'!"
+      raise Exceptions::ApplicationModel.new(self, "Missing required value for field '#{key}'!")
     end
   end
 

+ 9 - 0
lib/exceptions.rb

@@ -8,6 +8,15 @@ module Exceptions
 
   class UnprocessableEntity < StandardError; end
 
+  class ApplicationModel < UnprocessableEntity
+    attr_reader :record
+
+    def initialize(record, message)
+      super(message)
+      @record = record
+    end
+  end
+
   def self.policy_class
     ExceptionsPolicy
   end