class Nanoc::Int::RuleMemory

Public Class Methods

new(item_rep) click to toggle source
# File lib/nanoc/base/entities/rule_memory.rb, line 5
def initialize(item_rep)
  @item_rep = item_rep
  @actions = []
end

Public Instance Methods

[](idx) click to toggle source
# File lib/nanoc/base/entities/rule_memory.rb, line 14
def [](idx)
  @actions[idx]
end
add_filter(filter_name, params) click to toggle source
# File lib/nanoc/base/entities/rule_memory.rb, line 18
def add_filter(filter_name, params)
  @actions << Nanoc::Int::RuleMemoryActions::Filter.new(filter_name, params)
end
add_layout(layout_identifier, params) click to toggle source
# File lib/nanoc/base/entities/rule_memory.rb, line 22
def add_layout(layout_identifier, params)
  @actions << Nanoc::Int::RuleMemoryActions::Layout.new(layout_identifier, params)
end
add_snapshot(snapshot_name, final, path) click to toggle source
# File lib/nanoc/base/entities/rule_memory.rb, line 26
def add_snapshot(snapshot_name, final, path)
  will_add_snapshot(snapshot_name) if final
  @actions << Nanoc::Int::RuleMemoryActions::Snapshot.new(snapshot_name, final, path)
end
any_layouts?() click to toggle source
# File lib/nanoc/base/entities/rule_memory.rb, line 35
def any_layouts?
  @actions.any? { |a| a.is_a?(Nanoc::Int::RuleMemoryActions::Layout) }
end
each() { |a| ... } click to toggle source
# File lib/nanoc/base/entities/rule_memory.rb, line 43
def each
  @actions.each { |a| yield(a) }
end
serialize() click to toggle source
# File lib/nanoc/base/entities/rule_memory.rb, line 39
def serialize
  map(&:serialize)
end
size() click to toggle source
# File lib/nanoc/base/entities/rule_memory.rb, line 10
def size
  @actions.size
end
snapshot_actions() click to toggle source
# File lib/nanoc/base/entities/rule_memory.rb, line 31
def snapshot_actions
  @actions.select { |a| a.is_a?(Nanoc::Int::RuleMemoryActions::Snapshot) }
end

Private Instance Methods

will_add_snapshot(name) click to toggle source
# File lib/nanoc/base/entities/rule_memory.rb, line 49
def will_add_snapshot(name)
  @_snapshot_names ||= Set.new
  if @_snapshot_names.include?(name)
    raise Nanoc::Int::Errors::CannotCreateMultipleSnapshotsWithSameName.new(@item_rep, name)
  else
    @_snapshot_names << name
  end
end