jankubr / slides.rb

Powerpoint or Keynote? Ruby! Slides.rb is the ultimate Ruby geek friendly presentation tool.

This URL has Read+Write access

slides.rb / slides.rb
100644 38 lines (34 sloc) 0.678 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
def format_slide_item(item)
  case item
    when String
      return "#{item}\n"
    when Hash
      formatted_item = ''
      item.each do |key, value|
        formatted_item << "#{key}: \n"
        formatted_item << "#{format_slide_item(value)}\n\n"
      end
      return formatted_item
    when Array
      return item.join("\n") + "\n"
  end
end
 
def s(num)
  slide = @slides[num-1]
  puts "\n" + "=="*50
  puts " "*20 + "#{num}. #{slide[0].upcase}"
  puts "=="*50
  puts format_slide_item(slide[1])
  @last = num
  nil
end
 
def n
  s((@last||0)+1)
end
 
def p
  s((@last||2)-1)
end
 
def slideshow(timeout = 5)
  1.upto(@slides.length) {|n| s(n); sleep(timeout)}
  nil
end