Parent

Methods

Class/Module Index [+]

Quicksearch

Nanoc::RuleMemoryCalculator

Calculates rule memories for objects that can be run through a rule (item representations and layouts).

@api private

Public Class Methods

new(params={}) click to toggle source

@option params [Nanoc::RulesCollection] rules_collection The rules

collection
# File lib/nanoc/base/compilation/rule_memory_calculator.rb, line 14
def initialize(params={})
  @rules_collection = params[:rules_collection] or
    raise ArgumentError, "Required :rules_collection option is missing"
end

Public Instance Methods

[](obj) click to toggle source

@param [reference] obj The object to calculate the rule memory for

@return [Array] The caluclated rule memory for the given object

# File lib/nanoc/base/compilation/rule_memory_calculator.rb, line 22
def [](obj)
  result = case obj.type
    when :item_rep
      @rules_collection.new_rule_memory_for_rep(obj)
    when :layout
      @rules_collection.new_rule_memory_for_layout(obj)
    else
      raise RuntimeError,
        "Do not know how to calculate the rule memory for #{obj.inspect}"
  end

  result
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.