Method: Inspec::Profile#sha256
- Defined in:
- lib/inspec/profile.rb
#sha256 ⇒ Type
Calculate this profile’s SHA256 checksum. Includes metadata, dependencies, libraries, data files, and controls.
405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 |
# File 'lib/inspec/profile.rb', line 405 def sha256 # get all dependency checksums deps = Hash[locked_dependencies.list.map { |k, v| [k, v.profile.sha256] }] res = OpenSSL::Digest::SHA256.new files = source_reader.tests.to_a + source_reader.libraries.to_a + source_reader.data_files.to_a + [['inspec.yml', source_reader..content]] + [['inspec.lock.deps', YAML.dump(deps)]] files.sort { |a, b| a[0] <=> b[0] } .map { |f| res << f[0] << "\0" << f[1] << "\0" } res.digest.unpack('H*')[0] end |