def add(attribute_name_or_violation, message = nil)
      violation = 
        if attribute_name_or_violation.kind_of?(Violation)
          attribute_name_or_violation
        else
          Violation::Message.new(resource, message, :attribute_name => attribute_name_or_violation)
        end

      self << violation
    end
def add(attribute_name_or_violation, message = nil)
      violation = 
        if attribute_name_or_violation.kind_of?(Violation)
          attribute_name_or_violation
        else
          Violation::Message.new(resource, message, :attribute_name => attribute_name_or_violation)
        end

      self << violation
    end
Add a validation error. Use the attribute_name :general if the violations
 does not apply to a specific field of the Resource.

 @param [Symbol, Violation] attribute_name_or_violation
   The name of the field that caused the violation, or
   the Violation which describes the validation violation
 @param [NilClass, String, #call, Hash] message
   The message to add.

 @see Violation#initialize

 @api public