Class: Nanoc3::RuleContext

### Home Classes Methods

### In Files

- lib/nanoc3/base/rule_context.rb

### Parent

Context

### Methods

- ::new
- #filter
- #layout
- #snapshot

### Files

- ChangeLog
- LICENSE

### Class/Module Index

Quicksearch

- Nanoc3
- Nanoc3::ArrayExtensions
- Nanoc3::CLI
- Nanoc3::CLI::Base
- Nanoc3::CLI::Commands
- Nanoc3::CLI::Commands::Autocompile
- Nanoc3::CLI::Commands::Compile
- Nanoc3::CLI::Commands::CreateItem
- Nanoc3::CLI::Commands::CreateLayout
- Nanoc3::CLI::Commands::CreateSite
- Nanoc3::CLI::Commands::Debug
- Nanoc3::CLI::Commands::Help
- Nanoc3::CLI::Commands::Info
- Nanoc3::CLI::Commands::Update
- Nanoc3::CLI::Commands::View
- Nanoc3::CLI::Logger
- Nanoc3::CodeSnippet
- Nanoc3::Compiler
- Nanoc3::CompilerDSL
- Nanoc3::Context
- Nanoc3::DataSource
- Nanoc3::DataSources
- Nanoc3::DataSources::Delicious
- Nanoc3::DataSources::Filesystem
- Nanoc3::DataSources::FilesystemUnified
- Nanoc3::DataSources::FilesystemVerbose
- Nanoc3::DataSources::LastFM
- Nanoc3::DataSources::Twitter
- Nanoc3::DependencyTracker
- Nanoc3::DirectedGraph
- Nanoc3::Errors
- Nanoc3::Errors::CannotDetermineFilter
- Nanoc3::Errors::CannotLayoutBinaryItem
- Nanoc3::Errors::CannotUseBinaryFilter
- Nanoc3::Errors::CannotUseTextualFilter
- Nanoc3::Errors::DataNotYetAvailable
- Nanoc3::Errors::Generic
- Nanoc3::Errors::NoMatchingCompilationRuleFound
- Nanoc3::Errors::NoMatchingRoutingRuleFound
- Nanoc3::Errors::NoRulesFileFound
- Nanoc3::Errors::RecursiveCompilation
- Nanoc3::Errors::UnknownDataSource
- Nanoc3::Errors::UnknownFilter
- Nanoc3::Errors::UnknownLayout
- Nanoc3::Errors::UnmetDependency
- Nanoc3::Extra
- Nanoc3::Extra::AutoCompiler
- Nanoc3::Extra::CHiCk
- Nanoc3::Extra::CHiCk::CacheController
- Nanoc3::Extra::CHiCk::Client
- Nanoc3::Extra::CHiCk::RackClient
- Nanoc3::Extra::Deployers
- Nanoc3::Extra::Deployers::Rsync
- Nanoc3::Extra::FileProxy
- Nanoc3::Extra::TimeExtensions
- Nanoc3::Extra::VCS
- Nanoc3::Extra::VCSes
- Nanoc3::Extra::VCSes::Bazaar
- Nanoc3::Extra::VCSes::Dummy
- Nanoc3::Extra::VCSes::Git
- Nanoc3::Extra::VCSes::Mercurial
- Nanoc3::Extra::VCSes::Subversion
- Nanoc3::Extra::Validators
- Nanoc3::Extra::Validators::Links
- Nanoc3::Extra::Validators::Links::EachPairEnumerator
- Nanoc3::Extra::Validators::W3C
- Nanoc3::Filter
- Nanoc3::Filters
- Nanoc3::Filters::BlueCloth
- Nanoc3::Filters::CodeRay
- Nanoc3::Filters::ColorizeSyntax
- Nanoc3::Filters::ERB
- Nanoc3::Filters::Erubis
- Nanoc3::Filters::Haml
- Nanoc3::Filters::Kramdown
- Nanoc3::Filters::Less
- Nanoc3::Filters::Markaby
- Nanoc3::Filters::Maruku
- Nanoc3::Filters::RDiscount
- Nanoc3::Filters::RDoc
- Nanoc3::Filters::Rainpress
- Nanoc3::Filters::RedCloth
- Nanoc3::Filters::RelativizePaths
- Nanoc3::Filters::RubyPants
- Nanoc3::Filters::Sass
- Nanoc3::HashExtensions
- Nanoc3::Helpers
- Nanoc3::Helpers::Blogging
- Nanoc3::Helpers::Breadcrumbs
- Nanoc3::Helpers::Capturing
- Nanoc3::Helpers::Filtering
- Nanoc3::Helpers::HTMLEscape
- Nanoc3::Helpers::LinkTo
- Nanoc3::Helpers::Rendering
- Nanoc3::Helpers::Tagging
- Nanoc3::Helpers::Text
- Nanoc3::Helpers::XMLSitemap
- Nanoc3::Item
- Nanoc3::ItemRep
- Nanoc3::Layout
- Nanoc3::NotificationCenter
- Nanoc3::PluginRegistry
- Nanoc3::PluginRegistry::PluginMethods
- Nanoc3::Rule
- Nanoc3::RuleContext
- Nanoc3::Site
- Nanoc3::StringExtensions
- Nanoc3::Tasks
- Nanoc3::Tasks::Clean
- Array
- Enumerable
- Hash
- Object
- OrderedHash
- String
- Time

No matching classes.

# Nanoc3::RuleContext

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` ({Nanoc3::ItemRep}) - The current item rep

- `item` ({Nanoc3::Item}) - The current item

- `site` ({Nanoc3::Site}) - The site

- `config` ({Hash}) - The site configuration

- `items` ({Array}<{Nanoc3::Item}>) - A list of all items

- `layouts` ({Array}<{Nanoc3::Layout}>) - A list of all layouts

### Public Class Methods

new(rep) click to toggle source

Creates a new rule context for the given iterm representation.

@param [Nanoc3::ItemRep] rep The item representation for which to create a new rule context.

    # File lib/nanoc3/base/rule_context.rb, line 21
    def initialize(rep)
      item    = rep.item
      site    = item.site
      config  = site.config
      items   = site.items
      layouts = site.layouts

      super({
        :rep     => rep,
        :item    => item,
        :site    => site,
        :config  => config,
        :items   => items,
        :layouts => layouts
      })
    end

### Public Instance Methods

filter(filter_name, filter_args={}) click to toggle source

Filters the current representation (calls {Nanoc3::ItemRep#filter} with the given arguments on the rep).

@see Nanoc3::ItemRep#filter

@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/nanoc3/base/rule_context.rb, line 50
    def filter(filter_name, filter_args={})
      rep.filter(filter_name, filter_args)
    end

layout(layout_identifier) click to toggle source

Layouts the current representation (calls {Nanoc3::ItemRep#layout} with the given arguments on the rep).

@see Nanoc3::ItemRep#layout

@param [String] layout_identifier The identifier of the layout the item should be laid out with

@return [void]

    # File lib/nanoc3/base/rule_context.rb, line 63
    def layout(layout_identifier)
      rep.layout(layout_identifier)
    end

snapshot(snapshot_name) click to toggle source

Creates a snapshot of the current compiled item content. Calls {Nanoc3::ItemRep#snapshot} with the given arguments on the rep.

@see Nanoc3::ItemRep#snapshot

@param [Symbol] snapshot_name The name of the snapshot to create

@return [void]

    # File lib/nanoc3/base/rule_context.rb, line 75
    def snapshot(snapshot_name)
      rep.snapshot(snapshot_name)
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.