Parent

Class/Module Index [+]

Quicksearch

Nanoc3::Rule

Contains the processing information for a item.

Attributes

identifier_regex[R]

@return [Regexp] The regex that determines which items this rule can be applied to. This rule can be applied to items with a identifier matching this regex.

rep_name[R]

@return [Symbol] The name of the representation that will be compiled using this rule

Public Class Methods

new(identifier_regex, rep_name, block) click to toggle source

Creates a new item compilation rule with the given identifier regex, compiler and block. The block will be called during compilation with the item rep as its argument.

@param [Regexp] identifier_regex A regular expression that will be used to determine whether this rule is applicable to certain items.

@param [String, Symbol] rep_name The name of the item representation where this rule can be applied to

@param [Proc] block A block that will be called when matching items are compiled

# File lib/nanoc3/base/rule.rb, line 28
def initialize(identifier_regex, rep_name, block)
  @identifier_regex = identifier_regex
  @rep_name         = rep_name.to_sym

  @block = block
end

Public Instance Methods

applicable_to?(item) click to toggle source

@param [Nanoc3::Item] item The item to check

@return [Boolean] true if this rule can be applied to the given item rep, false otherwise

# File lib/nanoc3/base/rule.rb, line 39
def applicable_to?(item)
  item.identifier =~ @identifier_regex
end
apply_to(rep) click to toggle source

Applies this rule to the given item rep.

@param [Nanoc3::ItemRep] rep The item representation where this rule should be applied to

@return [void]

# File lib/nanoc3/base/rule.rb, line 49
def apply_to(rep)
  Nanoc3::RuleContext.new(rep).instance_eval &@block
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.