Class: Gem::Guardian::Verifier

Inherits:
Object
  • Object
show all
Defined in:
lib/gem/guardian/verifier.rb

Overview

Verifies gem artifacts against an expected checksum source.

Instance Method Summary collapse

Constructor Details

#initialize(client: RubygemsClient.new, artifact_store: nil, expected_checksums: {}) ⇒ Verifier

Returns a new instance of Verifier.



16
17
18
19
20
# File 'lib/gem/guardian/verifier.rb', line 16

def initialize(client: RubygemsClient.new, artifact_store: nil, expected_checksums: {})
  @client = client
  @artifact_store = artifact_store || ArtifactStore.new(client: @client)
  @expected_checksums = expected_checksums
end

Instance Method Details

#verify(dependency) ⇒ Object

Verifies one dependency and returns a VerificationResult.



23
24
25
26
27
28
# File 'lib/gem/guardian/verifier.rb', line 23

def verify(dependency)
  expected, checksum_source = expected_sha256_for(dependency)
  build_verification_result(dependency, expected, checksum_source)
rescue StandardError => e
  build_error_result(dependency, e)
end

#verify_all(dependencies) ⇒ Object

Verifies each dependency in +dependencies+.



31
32
33
# File 'lib/gem/guardian/verifier.rb', line 31

def verify_all(dependencies)
  dependencies.map { |dependency| verify(dependency) }
end