class Nanoc::Core::ViewContextForCompilation

Attributes

compilation_context[R]
compiled_content_store[R]
dependency_tracker[R]
items[R]
reps[R]

Public Class Methods

new(reps:, items:, dependency_tracker:, compilation_context:, compiled_content_store:) click to toggle source
# File lib/nanoc/core/view_context_for_compilation.rb, line 21
def initialize(reps:, items:, dependency_tracker:, compilation_context:, compiled_content_store:)
  @reps = reps
  @items = items
  @dependency_tracker = dependency_tracker
  @compilation_context = compilation_context
  @compiled_content_store = compiled_content_store
end

Public Instance Methods

assigns_for(rep, site:) click to toggle source
# File lib/nanoc/core/view_context_for_compilation.rb, line 30
def assigns_for(rep, site:)
  last_content = @compiled_content_store.get_current(rep)
  content_or_filename_assigns =
    if last_content.binary?
      { filename: last_content.filename }
    else
      { content: last_content.string }
    end

  content_or_filename_assigns.merge(
    item: Nanoc::Core::CompilationItemView.new(rep.item, self),
    rep: Nanoc::Core::CompilationItemRepView.new(rep, self),
    item_rep: Nanoc::Core::CompilationItemRepView.new(rep, self),
    items: Nanoc::Core::ItemCollectionWithRepsView.new(site.items, self),
    layouts: Nanoc::Core::LayoutCollectionView.new(site.layouts, self),
    config: Nanoc::Core::ConfigView.new(site.config, self),
  )
end