class Lecture::Runner
Attributes
current_slide[RW]
deck[RW]
slides[RW]
Public Class Methods
new(deck)
click to toggle source
# File lib/lecture/runner.rb, line 18 def initialize(deck) @current_slide = 0 @slides = [] @deck = deck end
Public Instance Methods
configure() { |config| ... }
click to toggle source
# File lib/lecture/runner.rb, line 33 def configure yield(Config.new) end
execute()
click to toggle source
# File lib/lecture/runner.rb, line 24 def execute instance_eval(File.read(deck)) first_slide loop do command_handler end end
Private Instance Methods
command_handler()
click to toggle source
# File lib/lecture/runner.rb, line 39 def command_handler case getch when " ", "\e[C" then next_slide when "\e[D" then prev_slide when "a" then first_slide when "d" then last_slide when "j" then jump_to when "w" then wipe when "q", "\e" then clear_and_exit end end
display(slide_number)
click to toggle source
# File lib/lecture/runner.rb, line 51 def display(slide_number) clear self.current_slide = slide_number clear_and_exit if slides.length - 1 < current_slide slides.at(current_slide).display move_to(0, lines) end
first_slide()
click to toggle source
# File lib/lecture/runner.rb, line 77 def first_slide display(0) end
jump_to()
click to toggle source
# File lib/lecture/runner.rb, line 62 def jump_to move_to(0, lines) print "Jump to: " display(STDIN.gets.strip.to_i) end
last_slide()
click to toggle source
# File lib/lecture/runner.rb, line 81 def last_slide display(slides.size - 1) end
next_slide()
click to toggle source
# File lib/lecture/runner.rb, line 69 def next_slide display(current_slide + 1) end
prev_slide()
click to toggle source
# File lib/lecture/runner.rb, line 73 def prev_slide display(current_slide - 1) end
wipe()
click to toggle source
# File lib/lecture/runner.rb, line 85 def wipe display(current_slide) end