class Puppet::ModuleTool::Checksums

Checksums

This class proides methods for generating checksums for data and adding them to Metadata.

Public Class Methods

new(path) click to toggle source

Instantiate object with string path to create checksums from.

# File lib/puppet/module_tool/checksums.rb, line 13
def initialize(path)
  @path = Pathname.new(path)
end

Public Instance Methods

annotate(metadata) click to toggle source

Update Metadata‘s checksums with this object’s.

# File lib/puppet/module_tool/checksums.rb, line 45
def annotate(metadata)
  metadata.checksums.replace(data)
end
checksum(pathname) click to toggle source

Return checksum for the Pathname.

# File lib/puppet/module_tool/checksums.rb, line 18
def checksum(pathname)
  return Digest::MD5.hexdigest(pathname.read)
end
data() click to toggle source

Return checksums for object’s Pathname, generate if it’s needed. Result is a hash of path strings to checksum strings.

# File lib/puppet/module_tool/checksums.rb, line 24
def data
  unless @data
    @data = {}
    @path.find do |descendant|
      if Puppet::ModuleTool.artifact?(descendant)
        Find.prune
      elsif descendant.file?
        path = descendant.relative_path_from(@path)
        @data[path.to_s] = checksum(descendant)
      end
    end
  end
  return @data
end
each(&block) click to toggle source

TODO: Why?

# File lib/puppet/module_tool/checksums.rb, line 40
def each(&block)
  data.each(&block)
end