# File lib/active_record/validations.rb, line 160
    def add(error_or_attr, message = nil, options = {})
      error, attribute = error_or_attr.is_a?(Error) ? [error_or_attr, error_or_attr.attribute] : [nil, error_or_attr]
      options[:message] = options.delete(:default) if options.has_key?(:default)

      @errors[attribute.to_s] ||= []
      @errors[attribute.to_s] << (error || Error.new(@base, attribute, message, options))
    end