class Gem::Tasks::Sign::Checksum

The `sign:checksum` task.

Attributes

md5[W]

Enables or disables MD5 checksums.

sha1[W]

Enables or disables SHA1 checksums.

sha2[W]

Enables or disables SHA2 checksums.

sha512[W]

Enables or disables SHA512 checksums.

Public Class Methods

new(options={}) { |self| ... } click to toggle source

Initializes the `sign:checksum` task.

@param [Hash] options

Digest options.

@option options [Boolean] :md5 (true)

Specifies whether MD5 checksums are enabled.

@option options [Boolean] :sha1 (true)

Specifies whether SHA1 checksums are enabled.

@option options [Boolean] :sha2 (false)

Specifies whether SHA2 checksums are enabled.

@option options [Boolean] :sha512 (false)

Specifies whether SHA512 checksums are enabled.
Calls superclass method
# File lib/rubygems/tasks/sign/checksum.rb, line 43
def initialize(options={})
  super()

  @md5    = options.fetch(:md5,   true)
  @sha1   = options.fetch(:sha1,  true)
  @sha2   = options.fetch(:sha2,  false)
  @sha512 = options.fetch(:sha512,false)

  yield self if block_given?
  define
end

Public Instance Methods

define() click to toggle source

Defines the `sign:checksum` tasks.

Calls superclass method
# File lib/rubygems/tasks/sign/checksum.rb, line 86
def define
  super(:checksum)

  task :checksum => 'sign:checksum'
end
md5?() click to toggle source

Specifies whether MD5 checksums are enabled.

@return [Boolean]

# File lib/rubygems/tasks/sign/checksum.rb, line 60
def md5?; @md5; end
sha1?() click to toggle source

Specifies whether SHA1 checksums are enabled.

@return [Boolean]

# File lib/rubygems/tasks/sign/checksum.rb, line 67
def sha1?; @sha1; end
sha2?() click to toggle source

Specifies whether SHA2 checksums are enabled.

@return [Boolean]

# File lib/rubygems/tasks/sign/checksum.rb, line 74
def sha2?; @sha2; end
sha512?() click to toggle source

Specifies whether SHA512 checksums are enabled.

@return [Boolean]

# File lib/rubygems/tasks/sign/checksum.rb, line 81
def sha512?; @sha512; end
sign(path) click to toggle source

Prints the checksums of a package.

@param [String] path

The path to the package.

@api semipublic

# File lib/rubygems/tasks/sign/checksum.rb, line 100
def sign(path)
  status "Checksums for #{File.basename(path)}:"

  puts
  puts "  md5:    #{Digest::MD5.file(path)}"    if @md5
  puts "  sha1:   #{Digest::SHA1.file(path)}"   if @sha1
  puts "  sha2:   #{Digest::SHA2.file(path)}"   if @sha2
  puts "  sha512: #{Digest::SHA512.file(path)}" if @sha512
  puts
end