Provides a context in which compilation and routing rules can be executed. It provides access to the item representation that is being compiled or routed.
The following variables will be available in this rules context:
`rep` ({Nanoc::ItemRep}) - The current item rep
`item` ({Nanoc::Item}) - The current item
`site` ({Nanoc::Site}) - The site
`config` ({Hash}) - The site configuration
`items` ({Array}<{Nanoc::Item}>) - A list of all items
`layouts` ({Array}<{Nanoc::Layout}>) - A list of all layouts
@api private
@option params [Nanoc::ItemRep] :rep The item representation that will
be processed in this rule context
@option params [Nanoc::Compiler] :compiler The compiler that is being
used to compile the site
@raise [ArgumentError] if the `:rep` or the `:compiler` option is
missing
# File lib/nanoc/base/compilation/rule_context.rb, line 28 def initialize(params = {}) rep = params.fetch(:rep) do raise ArgumentError, 'Required :rep option is missing' end compiler = params.fetch(:compiler) do raise ArgumentError, 'Required :compiler option is missing' end super({ :rep => rep, :item_rep => rep, :item => rep.item, :site => compiler.site, :config => compiler.site.config, :items => compiler.site.items, :layouts => compiler.site.layouts }) end
Filters the current representation (calls {Nanoc::ItemRep#filter} with the given arguments on the rep).
@param [Symbol] filter_name The name of the filter to run the item
representations' content through
@param [Hash] filter_args The filter arguments that should be passed to
the filter's #run method
@return [void]
# File lib/nanoc/base/compilation/rule_context.rb, line 59 def filter(filter_name, filter_args = {}) rep.filter(filter_name, filter_args) end
Layouts the current representation (calls {Nanoc::ItemRep#layout} with the given arguments on the rep).
@param [String] layout_identifier The identifier of the layout the item
should be laid out with
@return [void]
# File lib/nanoc/base/compilation/rule_context.rb, line 72 def layout(layout_identifier) rep.layout(layout_identifier) end
Creates a snapshot of the current compiled item content. Calls {Nanoc::ItemRep#snapshot} with the given arguments on the rep.
@param [Symbol] snapshot_name The name of the snapshot to create
@return [void]
# File lib/nanoc/base/compilation/rule_context.rb, line 84 def snapshot(snapshot_name) rep.snapshot(snapshot_name) end
Generated with the Darkfish Rdoc Generator 2.