class Nanoc::Core::Site
@api private
Attributes
code_snippets[R]
config[R]
data_source[RW]
Public Class Methods
new(config:, code_snippets:, data_source:)
click to toggle source
# File lib/nanoc/core/site.rb, line 21 def initialize(config:, code_snippets:, data_source:) @config = config @code_snippets = code_snippets @data_source = data_source @preprocessed = false ensure_identifier_uniqueness(@data_source.items, 'item') ensure_identifier_uniqueness(@data_source.layouts, 'layout') end
Public Instance Methods
ensure_identifier_uniqueness(objects, type)
click to toggle source
# File lib/nanoc/core/site.rb, line 58 def ensure_identifier_uniqueness(objects, type) seen = Set.new objects.each do |obj| if seen.include?(obj.identifier) raise DuplicateIdentifierError.new(obj.identifier, type) end seen << obj.identifier end self end
freeze()
click to toggle source
# File lib/nanoc/core/site.rb, line 49 def freeze config.freeze items.freeze layouts.freeze code_snippets.__nanoc_freeze_recursively self end
items()
click to toggle source
# File lib/nanoc/core/site.rb, line 40 def items @data_source.items end
layouts()
click to toggle source
# File lib/nanoc/core/site.rb, line 44 def layouts @data_source.layouts end
mark_as_preprocessed()
click to toggle source
# File lib/nanoc/core/site.rb, line 32 def mark_as_preprocessed @preprocessed = true end
preprocessed?()
click to toggle source
# File lib/nanoc/core/site.rb, line 36 def preprocessed? @preprocessed end