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