Sha256: dc3d7d1fc3774d3133aa1b5aaa924bbeac42c6571b253260687ff2232e63db50

Contents?: true

Size: 912 Bytes

Versions: 5

Compression:

Stored size: 912 Bytes

Contents

require 'puppet/util/checksums'

# Specify which checksum algorithm to use when checksumming
# files.
Puppet::Type.type(:file).newparam(:checksum) do
  include Puppet::Util::Checksums

  desc "The checksum type to use when checksumming a file.

    The default checksum parameter, if checksums are enabled, is md5."

  newvalues "md5", "md5lite", "timestamp", "mtime", "time", "none"

  defaultto :md5

  def sum(content)
    type = value || :md5 # because this might be called before defaults are set
    "{#{type}}" + send(type, content)
  end

  def sum_file(path)
    type = value || :md5 # because this might be called before defaults are set
    method = type.to_s + "_file"
    "{#{type}}" + send(method, path).to_s
  end

  def sum_stream(&block)
    type = value || :md5 # same comment as above
    method = type.to_s + "_stream"
    checksum = send(method, &block)
    "{#{type}}#{checksum}"
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
puppet-2.6.4 lib/puppet/type/file/checksum.rb
puppet-2.6.3 lib/puppet/type/file/checksum.rb
puppet-2.6.2 lib/puppet/type/file/checksum.rb
puppet-2.6.1 lib/puppet/type/file/checksum.rb
puppet-2.6.0 lib/puppet/type/file/checksum.rb