Class: Lexicon::Common::Package::PackageIntegrityValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/lexicon/common/package/package_integrity_validator.rb

Instance Method Summary collapse

Constructor Details

#initialize(shell:) ⇒ PackageIntegrityValidator

Returns a new instance of PackageIntegrityValidator.

Parameters:



8
9
10
# File 'lib/lexicon/common/package/package_integrity_validator.rb', line 8

def initialize(shell:)
  @shell = shell
end

Instance Method Details

#integrity_states(package) ⇒ Hash{String => Boolean}

Parameters:

Returns:

  • (Hash{String => Boolean})


20
21
22
23
24
25
26
27
28
# File 'lib/lexicon/common/package/package_integrity_validator.rb', line 20

def integrity_states(package)
  sumstr = shell.execute "    (cd \"\#{package.dir}\" && sha256sum -c \#{package.checksum_file.basename} 2>/dev/null)\n  BASH\n\n  sumstr.scan(/(.*?): (.*?)\\n/)\n        .to_h\n        .transform_values { |value| value == 'OK' }\nend\n"

#valid?(package) ⇒ Boolean

Parameters:

Returns:

  • (Boolean)


14
15
16
# File 'lib/lexicon/common/package/package_integrity_validator.rb', line 14

def valid?(package)
  integrity_states(package).values.all? { |v| v == true }
end