class Warden::Proxy::Errors

@since DM 0.9
@author Guy van den Berg
Lifted from DataMapper’s dm-validations plugin :)

def add(field_name, message)

Parameters:
  • message (String) -- the message to add
  • field_name (Symbol) -- the name of the field that caused the error
def add(field_name, message)
  (errors[field_name] ||= []) << message
end

def blank?(thing)

def blank?(thing)
  thing.nil? || thing == "" || (thing.respond_to?(:empty?) && thing.empty?)
end

def clear!

Clear existing authentication errors.
def clear!
  errors.clear
end

def each

def each
  errors.map.each do |_k,v|
    next if blank?(v)
    yield(v)
  end
end

def empty?

def empty?
  entries.empty?
end

def errors

def errors
  @errors ||= {}
end

def full_messages

Collect all errors into a single list.
def full_messages
  errors.inject([]) do |list,pair|
    list += pair.last
  end
end

def method_missing(meth, *args, &block)

def method_missing(meth, *args, &block)
  errors.send(meth, *args, &block)
end

def on(field_name)

Parameters:
  • field_name (Symbol) -- the name of the field you want an error for
def on(field_name)
  errors_for_field = errors[field_name]
  blank?(errors_for_field) ? nil : errors_for_field
end