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.fetch(:rules_collection) do
    raise ArgumentError, 'Required :rules_collection option is missing'
  end
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 23
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 "Do not know how to calculate the rule memory for #{obj.inspect}"
    end

  result
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.