Sha256: ea472242379ef08024d12ad8e3be8b1c64ff714d045386fed7ba6b530b8bd4bc

Contents?: true

Size: 1.33 KB

Versions: 12

Compression:

Stored size: 1.33 KB

Contents

# -*- encoding: utf-8 -*-

module Webgen
  class Context

    # Provides quick access to special nodes of the node chain of a context object.
    module Nodes

      # Return the node which represents the file into which everything gets rendered.
      #
      # This is normally the same node as #content_node but can differ in special cases. For
      # example, when rendering the content of node called 'my.page' into the output of the node
      # 'this.page', 'this.page' would be the #dest_node and 'my.page' would be the #content_node.
      #
      # The #dest_node is not included in the chain but can be set via the option +:dest_node+!
      #
      # The returned node should be used as source node for calculating relative paths to other nodes.
      def dest_node
        @options[:dest_node] || content_node
      end

      # Return the reference node, ie. the node which provided the original content for this context
      # object.
      #
      # The returned node should be used, for example, for resolving relative paths.
      def ref_node
        @options[:chain][0]
      end

      # Return the node that is ultimately rendered.
      #
      # This node should be used, for example, for retrieving meta information.
      def content_node
        @options[:chain][-1]
      end
      alias :node :content_node

    end

  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
webgen-1.7.3 lib/webgen/context/nodes.rb
webgen-1.7.2 lib/webgen/context/nodes.rb
webgen-1.7.1 lib/webgen/context/nodes.rb
webgen-1.7.0 lib/webgen/context/nodes.rb
webgen-1.6.0 lib/webgen/context/nodes.rb
webgen-1.5.2 lib/webgen/context/nodes.rb
webgen-1.5.1 lib/webgen/context/nodes.rb
webgen-1.5.0 lib/webgen/context/nodes.rb
webgen-1.4.1 lib/webgen/context/nodes.rb
webgen-1.4.0 lib/webgen/context/nodes.rb
webgen-1.3.0 lib/webgen/context/nodes.rb
webgen-1.2.1 lib/webgen/context/nodes.rb