class TP::Presenter
Attributes
markdown[R]
Public Class Methods
new(markdown)
click to toggle source
# File lib/tp/presenter.rb, line 5 def initialize(markdown) @markdown = markdown end
Public Instance Methods
clear_screen()
click to toggle source
# File lib/tp/presenter.rb, line 37 def clear_screen Screen.clear! end
present()
click to toggle source
# File lib/tp/presenter.rb, line 9 def present suggest_sizing render_slides clear_screen end
render_slides()
click to toggle source
# File lib/tp/presenter.rb, line 20 def render_slides loop do Renderer.new(slide_deck.current_frame).render case Keyboard.read when :right, :down, :space, :return, 'l', 'j', 'd', 's' slide_deck.next when :left, :up, :backspace, 'h', 'k', 'a', 'w' slide_deck.previous when 'q' break end break if slide_deck.ended? end end
slide_deck()
click to toggle source
# File lib/tp/presenter.rb, line 49 def slide_deck @slide_deck ||= SlideDeck.new slides end
slides()
click to toggle source
# File lib/tp/presenter.rb, line 41 def slides result = markdown.split /^#/ result.reject! &:empty? result.map! { |string| "##{string}" } result.map { |string| SlideFactory.from_markdown string } end
suggest_sizing()
click to toggle source
# File lib/tp/presenter.rb, line 15 def suggest_sizing Screen.suggest slide_deck.width, slide_deck.height Keyboard.wait_for_return end