class ViewModel::DeserializationError::Validation
Attributes
attribute[R]
details[R]
reason[R]
Public Class Methods
from_active_model(errors, node)
click to toggle source
Return Validation
errors for each error in the the provided ActiveModel::Errors, wrapped in a Collection
if necessary.
# File lib/view_model/deserialization_error.rb, line 461 def self.from_active_model(errors, node) causes = errors.messages.each_key.flat_map do |attr| errors.messages[attr].zip(errors.details[attr]).map do |message, details| self.new(attr.to_s, message, details, node) end end Collection.for_errors(causes) end
new(attribute, reason, details, node)
click to toggle source
Calls superclass method
ViewModel::AbstractErrorWithBlame::new
# File lib/view_model/deserialization_error.rb, line 444 def initialize(attribute, reason, details, node) @attribute = attribute @reason = reason @details = details super([node]) end
Public Instance Methods
detail()
click to toggle source
# File lib/view_model/deserialization_error.rb, line 451 def detail "Validation failed: '#{attribute}' #{reason}" end
meta()
click to toggle source
Calls superclass method
ViewModel::AbstractErrorWithBlame#meta
# File lib/view_model/deserialization_error.rb, line 455 def meta super.merge(attribute: attribute, message: reason, details: details) end