class Inspec::Metadata

def valid # rubocop:disable Metrics/AbcSize

rubocop:disable Metrics/AbcSize
return all warn and errors
def valid # rubocop:disable Metrics/AbcSize
  errors = []
  warnings = []
  %w{name version}.each do |field|
    next unless params[field.to_sym].nil?
    errors.push("Missing profile #{field} in #{ref}")
  end
  if %r{[\/\\]} =~ params[:name]
    errors.push("The profile name (#{params[:name]}) contains a slash" \
                  ' which is not permitted. Please remove all slashes from `inspec.yml`.')
  end
  # if version is set, ensure it is correct
  if !params[:version].nil? && !valid_version?(params[:version])
    errors.push('Version needs to be in SemVer format')
  end
  %w{title summary maintainer copyright license}.each do |field|
    next unless params[field.to_sym].nil?
    warnings.push("Missing profile #{field} in #{ref}")
  end
  # if version is set, ensure it is in SPDX format
  if !params[:license].nil? && !Spdx.valid_license?(params[:license])
    warnings.push("License '#{params[:license]}' needs to be in SPDX format. See https://spdx.org/licenses/.")
  end
  [errors, warnings]
end