class Nanoc::Core::Checksummer::DocumentUpdateBehavior

Public Class Methods

update(obj, digest) { |content| ... } click to toggle source
# File lib/nanoc/core/checksummer.rb, line 218
def self.update(obj, digest)
  if obj.checksum_data
    digest.update('checksum_data=' + obj.checksum_data)
  else
    if obj.content_checksum_data
      digest.update('content_checksum_data=' + obj.content_checksum_data)
    else
      digest.update('content=')
      yield(obj.content)
    end

    if obj.attributes_checksum_data
      digest.update(',attributes_checksum_data=' + obj.attributes_checksum_data)
    else
      digest.update(',attributes=')
      yield(obj.attributes)
    end

    digest.update(',identifier=')
    yield(obj.identifier)
  end
end