Method: Nanoc::Core::Document#initialize

Defined in:
lib/nanoc/core/document.rb

#initialize(content, attributes, identifier, checksum_data: nil, content_checksum_data: nil, attributes_checksum_data: nil) ⇒ Document

Returns a new instance of Document.

Parameters:



44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/nanoc/core/document.rb', line 44

def initialize(content, attributes, identifier, checksum_data: nil, content_checksum_data: nil, attributes_checksum_data: nil)
  @content = Nanoc::Core::Content.create(content)
  @attributes = Nanoc::Core::LazyValue.new(attributes).map(&:__nanoc_symbolize_keys_recursively)
  @identifier = Nanoc::Core::Identifier.from(identifier)

  @checksum_data = checksum_data
  @content_checksum_data = content_checksum_data
  @attributes_checksum_data = attributes_checksum_data

  # Precalculate for performance
  @hash = [self.class, identifier].hash
  reference
end