class RhetButler::SlideGroup

Attributes

html_classes[R]
metadata[R]
slides[RW]

Public Class Methods

optional_config() click to toggle source
# File lib/rhet-butler/slide-group.rb, line 10
def optional_config
  %w[type slide_type html_class html_classes html_id]
end
required_config() click to toggle source
# File lib/rhet-butler/slide-group.rb, line 14
def required_config
  %w[slides]
end

Public Instance Methods

configure() click to toggle source
# File lib/rhet-butler/slide-group.rb, line 37
def configure
  value_from_config("html_id") do |value|
    @html_id = value
  end

  value_from_config("html_classes") do |value|
    @html_classes += [*value]
  end

  value_from_config("html_class") do |value|
    @html_classes << value
  end

  @slides = @config_hash.delete('slides')
  @metadata = @config_hash
end
each() { |slide| ... } click to toggle source
# File lib/rhet-butler/slide-group.rb, line 57
def each
  if block_given?
    @slides.each{|slide| yield(slide)}
  else
    @slides.each
  end
end
each_slide() { |sl| ... } click to toggle source
# File lib/rhet-butler/slide-group.rb, line 65
def each_slide
  if block_given?
    @slides.each do |slide|
      if slide.is_a? SlideGroup
        slide.each_slide{|sl| yield sl}
      else
        yield slide
      end
    end
  else
    enum_for :each_slide
  end
end
id_attr() click to toggle source
# File lib/rhet-butler/slide-group.rb, line 83
def id_attr
  if @html_id.nil?
    return ""
  else
    "id='#@html_id'"
  end
end
normalize_config(coder) click to toggle source
# File lib/rhet-butler/slide-group.rb, line 26
def normalize_config(coder)
  case coder.type
  when :map
    coder.map
  when :scalar
    raise "A slide group needs to at least be a list of slides"
  when :seq
    { 'slides' => coder.seq}
  end
end
setup_defaults() click to toggle source
# File lib/rhet-butler/slide-group.rb, line 19
def setup_defaults
  @html_id = nil
  @html_classes = ["group"]
  @slides = []
  @metadata = {}
end
template_name() click to toggle source
# File lib/rhet-butler/slide-group.rb, line 79
def template_name
  "group.html"
end