class SealinkParamValidation::Helper
Public Class Methods
generate_error_message(result)
click to toggle source
# File lib/sealink_param_validation/helper.rb, line 5 def self.generate_error_message(result) result.errors(full: true).to_h.values.map { |v| v.is_a?(Hash) ? v.values : v }.flatten.join(', ') end
generate_humanized_error_message(result)
click to toggle source
# File lib/sealink_param_validation/helper.rb, line 11 def self.generate_humanized_error_message(result) build_humanized_errors(result.errors.to_h).to_sentence end
Private Class Methods
build_humanized_errors(errors, parent = nil)
click to toggle source
# File lib/sealink_param_validation/helper.rb, line 15 def self.build_humanized_errors(errors, parent = nil) errors.to_h.flat_map { |field, messages| if messages.is_a?(Hash) build_humanized_errors(messages, field) else generate_humanized_error(parent, field, messages) end } end
generate_humanized_error(parent, field, messages)
click to toggle source
# File lib/sealink_param_validation/helper.rb, line 26 def self.generate_humanized_error(parent, field, messages) return "#{parent.to_s.humanize}.#{field.to_s.humanize} #{messages.join}" if parent.present? "#{field.to_s.humanize} #{messages.join}" end