Class: Nanoc::RuleDSL::RecordingExecutor

Inherits:
Object
  • Object
show all
Defined in:
lib/nanoc/rule_dsl/recording_executor.rb

Constant Summary

Pathlike =
C::Maybe[C::Or[String, Nanoc::Identifier]

Instance Method Summary collapse

Constructor Details

#initialize(rule_memory) ⇒ RecordingExecutor

Returns a new instance of RecordingExecutor



6
7
8
# File 'lib/nanoc/rule_dsl/recording_executor.rb', line 6

def initialize(rule_memory)
  @rule_memory = rule_memory
end

Instance Method Details

#filter(filter_name, filter_args = {}) ⇒ Object



10
11
12
# File 'lib/nanoc/rule_dsl/recording_executor.rb', line 10

def filter(filter_name, filter_args = {})
  @rule_memory.add_filter(filter_name, filter_args)
end

#layout(layout_identifier, extra_filter_args = {}) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/nanoc/rule_dsl/recording_executor.rb', line 14

def layout(layout_identifier, extra_filter_args = {})
  unless layout_identifier.is_a?(String)
    raise ArgumentError.new('The layout passed to #layout must be a string')
  end

  unless @rule_memory.any_layouts?
    @rule_memory.add_snapshot(:pre, nil)
  end

  @rule_memory.add_layout(layout_identifier, extra_filter_args)
end

#snapshot(snapshot_name, path: nil) ⇒ Object



28
29
30
31
# File 'lib/nanoc/rule_dsl/recording_executor.rb', line 28

def snapshot(snapshot_name, path: nil)
  @rule_memory.add_snapshot(snapshot_name, path && path.to_s)
  nil
end