class Nanoc::Core::CompilationItemRepView
Constants
- FILE_APPEAR_TIMEOUT
How long to wait before the requested file appears.
This is a bit of a hack – ideally,
Nanoc
would know that the file is being generated, and wait the appropriate amount of time.
Public Instance Methods
compiled_content(snapshot: nil)
click to toggle source
Returns the compiled content.
@param [String] snapshot The name of the snapshot from which to
fetch the compiled content. By default, the returned compiled content will be the content compiled right before the first layout call (if any).
@return [String] The content at the given snapshot.
# File lib/nanoc/core/compilation_item_rep_view.rb, line 51 def compiled_content(snapshot: nil) @context.dependency_tracker.bounce(_unwrap.item, compiled_content: true) @context.compiled_content_store.compiled_content(rep: _unwrap, snapshot: snapshot) end
item_view_class()
click to toggle source
@abstract
# File lib/nanoc/core/compilation_item_rep_view.rb, line 13 def item_view_class Nanoc::Core::CompilationItemView end
raw_path(snapshot: :last)
click to toggle source
Returns the item rep’s raw path. It includes the path to the output directory and the full filename.
@param [Symbol] snapshot The snapshot for which the path should be
returned.
@return [String] The item rep’s raw path.
# File lib/nanoc/core/compilation_item_rep_view.rb, line 24 def raw_path(snapshot: :last) @context.dependency_tracker.bounce(_unwrap.item, compiled_content: true) res = @item_rep.raw_path(snapshot: snapshot) unless @item_rep.compiled? Fiber.yield(Nanoc::Core::Errors::UnmetDependency.new(@item_rep, snapshot)) end # Wait for file to exist if res start = Time.now sleep 0.05 until File.file?(res) || Time.now - start > FILE_APPEAR_TIMEOUT raise Nanoc::Core::Errors::InternalInconsistency, "File raw_path did not appear in time (#{FILE_APPEAR_TIMEOUT}s): #{res}" unless File.file?(res) end res end