Sha256: e9ad4c5ab09c60373ad39e0b6a14e5f5155b6ed588fbc7c45673fbc2f7c11124

Contents?: true

Size: 1.56 KB

Versions: 12

Compression:

Stored size: 1.56 KB

Contents

# frozen_string_literal: true

module Nanoc
  class CompilationItemRepView < ::Nanoc::BasicItemRepView
    # @abstract
    def item_view_class
      Nanoc::CompilationItemView
    end

    # 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.
    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::Int::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 > 1.0
        raise Nanoc::Int::Errors::InternalInconsistency, "File did not apear in time: #{res}" unless File.file?(res)
      end

      res
    end

    # 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.
    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
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
nanoc-4.11.12 lib/nanoc/base/views/compilation_item_rep_view.rb
nanoc-4.11.11 lib/nanoc/base/views/compilation_item_rep_view.rb
nanoc-4.11.10 lib/nanoc/base/views/compilation_item_rep_view.rb
nanoc-4.11.9 lib/nanoc/base/views/compilation_item_rep_view.rb
nanoc-4.11.8 lib/nanoc/base/views/compilation_item_rep_view.rb
nanoc-4.11.7 lib/nanoc/base/views/compilation_item_rep_view.rb
nanoc-4.11.6 lib/nanoc/base/views/compilation_item_rep_view.rb
nanoc-4.11.5 lib/nanoc/base/views/compilation_item_rep_view.rb
nanoc-4.11.4 lib/nanoc/base/views/compilation_item_rep_view.rb
nanoc-4.11.3 lib/nanoc/base/views/compilation_item_rep_view.rb
nanoc-4.11.2 lib/nanoc/base/views/compilation_item_rep_view.rb
nanoc-4.11.1 lib/nanoc/base/views/compilation_item_rep_view.rb