Method: Inspec::Metadata#valid
- Defined in:
- lib/inspec/metadata.rb
#valid ⇒ Object
return all warn and errors
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/inspec/metadata.rb', line 70 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 |