Class: GemChecksum::Checker

Inherits:
Object
  • Object
show all
Defined in:
lib/gem_checksum/checker.rb

Instance Method Summary collapse

Constructor Details

#initialize(gem_path) ⇒ Checker

Returns a new instance of Checker.



5
6
7
# File 'lib/gem_checksum/checker.rb', line 5

def initialize(gem_path)
  @gem_path = gem_path
end

Instance Method Details

#generate_checksumObject

Generate SHA512 hexdigest



10
11
12
# File 'lib/gem_checksum/checker.rb', line 10

def generate_checksum
  @checksum ||= ::Digest::SHA512.new.hexdigest(read_gem)
end

#validate_checksum(checksum) ⇒ Object



21
22
23
# File 'lib/gem_checksum/checker.rb', line 21

def validate_checksum(checksum)
  generate_checksum == checksum
end

#write_checksum(checksum_folder) ⇒ Object



14
15
16
17
18
19
# File 'lib/gem_checksum/checker.rb', line 14

def write_checksum(checksum_folder)
  fails "No such directory #{checksum_folder.inspect}" unless ::File.directory?(checksum_folder)
  checksum_path = ::File.join(checksum_folder, "#{gem_file_name}.sha512")
  ::File.open(checksum_path, 'w' ) {|f| f.write(generate_checksum) }
  "Wrote checksum to #{checksum_path}"
end