module ObjectJSONMapper::Errors

Public Instance Methods

load_errors(messages) click to toggle source

@param messages [Hash] @example

load_errors(
  {
    "email": ["blank"]
  }
)
# File lib/object_json_mapper/errors.rb, line 10
def load_errors(messages)
  errors.clear
  messages.each do |key, values|
    values.each do |value|
      case value
      when String
        errors.add(key, value)
      when Hash
        errors.add(key, value[:error].to_sym, value.except(:error))
      end
    end
  end
end
valid?(context = nil) click to toggle source

In comparison with `ActiveModel::Validations#valid?` we should not clear errors because it would clear remote errors as well, but we can remove duplicates in the error messages @return [TrueClass,FalseClass]

# File lib/object_json_mapper/errors.rb, line 28
def valid?(context = nil)
  current_context, self.validation_context = validation_context, context
  run_validations!
ensure
  errors.messages.each { |_, v| v.uniq! }
  self.validation_context = current_context
end
Also aliased as: validate
validate(context = nil)
Alias for: valid?