class RhetButler::IncludeProcessor

Constants

Collector

Attributes

root_group[RW]

Public Class Methods

new(loader) click to toggle source
Calls superclass method
# File lib/rhet-butler/include-processor.rb, line 7
def initialize(loader)
  @loader = loader
  super()
end

Public Instance Methods

ascend() click to toggle source
# File lib/rhet-butler/include-processor.rb, line 31
def ascend
  target = target_stack.pop
  unless target == target_stack.last
    target.group.slides = target.slides
  end
  iter_stack.pop
end
current_loader() click to toggle source
# File lib/rhet-butler/include-processor.rb, line 12
def current_loader
  if target_stack.empty?
    return @loader
  else
    return target_stack.last.loader
  end
end
descend(source, dest) click to toggle source
Calls superclass method
# File lib/rhet-butler/include-processor.rb, line 24
def descend(source, dest)
  unless Collector === dest
    dest = Collector.new(dest, [], current_loader)
  end
  super(source, dest)
end
on_group(group) click to toggle source
Calls superclass method
# File lib/rhet-butler/include-processor.rb, line 50
def on_group(group)
  target_stack.last.slides << group
  super
end
on_include(includer) click to toggle source
# File lib/rhet-butler/include-processor.rb, line 39
def on_include(includer)
  loader = includer.load(current_loader)
  collector = target_stack.last.dup
  collector.loader = loader
  descend(includer, collector)
end
on_slide(slide) click to toggle source
# File lib/rhet-butler/include-processor.rb, line 46
def on_slide(slide)
  target_stack.last.slides << slide
end
setup() click to toggle source
# File lib/rhet-butler/include-processor.rb, line 20
def setup
  descend(@root_group, @root_group)
end