class RhetButler::SlideRendering

Attributes

file_set[RW]
root_group[RW]

Public Instance Methods

filter_text(content, filters) click to toggle source
# File lib/rhet-butler/slide-rendering.rb, line 21
def filter_text(content, filters)
  case content
  when String
    filters.inject(content) do |text, filter|
      filter.process(text)
    end
  when Array
    content.map{|item| filter_text(item, filters)}.join("")
  when SlideContents
    filter_text(content.content(file_set), content.filters)
  else
    raise "Don't know how to filter slide content like #{content.inspect}"
  end
end
on_slide(slide) click to toggle source
# File lib/rhet-butler/slide-rendering.rb, line 11
def on_slide(slide)
  slide.content = filter_text(slide.raw_content, slide.content_filters)
  slide.notes = filter_text(slide.raw_notes, slide.note_filters)
  raise "Slide content needs to be a string, was: #{slide.content.inspect}" unless String === slide.content
  raise "Slide notes needs to be a string, was: #{slide.notes.inspect}" unless String === slide.notes
rescue
  puts "While processing #{slide}:"
  raise
end
setup() click to toggle source
# File lib/rhet-butler/slide-rendering.rb, line 7
def setup
  descend(@root_group, @root_group)
end