Class: Nanoc::Core::Checksummer::DocumentUpdateBehavior

Inherits:
UpdateBehavior
  • Object
show all
Defined in:
lib/nanoc/core/checksummer.rb

Class Method Summary collapse

Class Method Details

.update(obj, digest) ⇒ Object



258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
# File 'lib/nanoc/core/checksummer.rb', line 258

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