class Tkn2::Deck

Public Class Methods

new() click to toggle source
# File lib/tkn2/deck.rb, line 3
def initialize
  @slides = []
  @current = 0
  @renderer = Screen.new
end

Private Class Methods

slide_method(name, klass) click to toggle source
# File lib/tkn2/deck.rb, line 39
def self.slide_method(name, klass)
  define_method name do |*args|
    add_slide klass.new(*args)
  end
end

Public Instance Methods

current() click to toggle source
# File lib/tkn2/deck.rb, line 13
def current
  @slides[@current]
end
first() click to toggle source
# File lib/tkn2/deck.rb, line 25
def first
  @current = 0
end
first?() click to toggle source
# File lib/tkn2/deck.rb, line 29
def first?
  @current == 0
end
last?() click to toggle source
# File lib/tkn2/deck.rb, line 33
def last?
  @current == @slides.size - 1
end
next() click to toggle source
# File lib/tkn2/deck.rb, line 17
def next
  @current += 1 unless last?
end
present!() click to toggle source
# File lib/tkn2/deck.rb, line 9
def present!
  @renderer.render(self)
end
prev() click to toggle source
# File lib/tkn2/deck.rb, line 21
def prev
  @current -= 1 unless first?
end

Private Instance Methods

add_slide(slide) click to toggle source
# File lib/tkn2/deck.rb, line 45
def add_slide(slide)
  @slides << slide
end
section(title) { || ... } click to toggle source
# File lib/tkn2/deck.rb, line 54
def section(title, &block)
  section_header title
  yield
end