def add_precompiled_error( code, message, reference, http_status = 500 )
      @http_status_code = http_status.to_i if @errors.empty?

      error = {
        'code'    => code,
        'message' => message
      }

      error[ 'reference' ] = reference unless reference.nil? || reference.empty?

      @errors << error
    end
def add_precompiled_error( code, message, reference, http_status = 500 )
      @http_status_code = http_status.to_i if @errors.empty?

      error = {
        'code'    => code,
        'message' => message
      }

      error[ 'reference' ] = reference unless reference.nil? || reference.empty?

      @errors << error
    end
Add a precompiled error to the error collection. Pass error code,
 error message and reference data directly.

 In most cases you should be calling #add_error instead, *NOT* here.

 *No* *validation* is performed. You should only really call here if
 storing an error / errors from another, trusted source with assumed
 validity (e.g. another service called remotely with errors in the JSON
 response). It's possible to store invalid error data using this call,
 which means counter-to-documentation results could be returned to API
 clients. That is Very Bad.

 Pass optionally the HTTP status code to use if this happens to be the
 first stored error. If this is omitted, 500 is kept as the default.