Module: ObjectJSONMapper::Errors

Included in:
Base
Defined in:
lib/object_json_mapper/errors.rb

Instance Method Summary collapse

Instance Method Details

#load_errors(messages) ⇒ Object

Examples:

load_errors(
  {
    "email": ["blank"]
  }
)

Parameters:

  • messages (Hash)


10
11
12
13
14
15
16
17
18
19
20
21
22
# 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) ⇒ TrueClass, FalseClass Also known as: validate

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

Returns:

  • (TrueClass, FalseClass)


28
29
30
31
32
33
34
# 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