# File lib/active_model/errors.rb, line 180
    def add(attribute, message = nil, options = {})
      message ||= :invalid

      if message.is_a?(Symbol)
        message = generate_message(attribute, message, options.except(*CALLBACKS_OPTIONS))
      elsif message.is_a?(Proc)
        message = message.call
      end

      self[attribute] << message
    end