class Nanoc::Int::Site
@api private
Attributes
code_snippets[R]
config[R]
items[R]
layouts[R]
Public Class Methods
new(config:, code_snippets:, items:, layouts:)
click to toggle source
@param [Nanoc::Int::Configuration] config @param [Enumerable<Nanoc::Int::CodeSnippet>] #code_snippets @param [Enumerable<Nanoc::Int::Item>] items @param [Enumerable<Nanoc::Int::Layout>] layouts
# File lib/nanoc/base/entities/site.rb, line 8 def initialize(config,, code_snippets,, items,, layouts)) @config = config @code_snippets = code_snippets @items = items @layouts = layouts ensure_identifier_uniqueness(@items, 'item') ensure_identifier_uniqueness(@layouts, 'layout') end
Public Instance Methods
captures_store()
click to toggle source
@api private
# File lib/nanoc/helpers/capturing.rb, line 51 def captures_store @captures_store ||= CapturesStore.new end
captures_store_compiled_items()
click to toggle source
@api private
# File lib/nanoc/helpers/capturing.rb, line 56 def captures_store_compiled_items require 'set' @captures_store_compiled_items ||= Set.new end
compile()
click to toggle source
Compiles the site.
@return [void]
@since 3.2.0
# File lib/nanoc/base/entities/site.rb, line 23 def compile compiler.run_all end
compiler()
click to toggle source
Returns the compiler for this site. Will create a new compiler if none exists yet.
@return [Nanoc::Int::Compiler] The compiler for this site
# File lib/nanoc/base/entities/site.rb, line 31 def compiler @compiler ||= Nanoc::Int::CompilerLoader.new.load(self) end
ensure_identifier_uniqueness(objects, type)
click to toggle source
# File lib/nanoc/base/entities/site.rb, line 50 def ensure_identifier_uniqueness(objects, type) seen = Set.new objects.each do |obj| if seen.include?(obj.identifier) raise Nanoc::Int::Errors::DuplicateIdentifier.new(obj.identifier, type) end seen << obj.identifier end end
freeze()
click to toggle source
Prevents all further modifications to itself, its items, its layouts etc.
@return [void]
# File lib/nanoc/base/entities/site.rb, line 43 def freeze config.freeze items.freeze layouts.freeze code_snippets.__nanoc_freeze_recursively end