Class: Gem::Guardian::ProvenanceVerifier
- Inherits:
-
Object
- Object
- Gem::Guardian::ProvenanceVerifier
- Defined in:
- lib/gem/guardian/provenance_verifier.rb
Overview
Verifies RubyGems Trusted Publishing provenance metadata.
Instance Method Summary collapse
-
#initialize(client: RubygemsClient.new) ⇒ ProvenanceVerifier
constructor
A new instance of ProvenanceVerifier.
-
#verify(dependency, artifact_sha256: nil) ⇒ Object
Verifies Trusted Publishing provenance for +dependency+.
-
#verify_all(results) ⇒ Object
Verifies provenance for each dependency-result pair.
Constructor Details
#initialize(client: RubygemsClient.new) ⇒ ProvenanceVerifier
Returns a new instance of ProvenanceVerifier.
18 19 20 |
# File 'lib/gem/guardian/provenance_verifier.rb', line 18 def initialize(client: RubygemsClient.new) @client = client end |
Instance Method Details
#verify(dependency, artifact_sha256: nil) ⇒ Object
Verifies Trusted Publishing provenance for +dependency+.
23 24 25 26 27 28 29 30 |
# File 'lib/gem/guardian/provenance_verifier.rb', line 23 def verify(dependency, artifact_sha256: nil) provenance = @client.trusted_publishing_provenance(dependency) return unsupported_result(dependency) unless provenance build_result(dependency, provenance, artifact_sha256) rescue StandardError => e error_result(dependency, artifact_sha256, e) end |
#verify_all(results) ⇒ Object
Verifies provenance for each dependency-result pair.
33 34 35 |
# File 'lib/gem/guardian/provenance_verifier.rb', line 33 def verify_all(results) results.map { |result| verify(result.dependency, artifact_sha256: result.actual_sha256) } end |