Class: Przn::Presentation

Inherits:
Object
  • Object
show all
Defined in:
lib/przn/presentation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(slides) ⇒ Presentation

Returns a new instance of Presentation.



7
8
9
10
# File 'lib/przn/presentation.rb', line 7

def initialize(slides)
  @slides = slides.freeze
  @current = 0
end

Instance Attribute Details

#currentObject (readonly)

Returns the value of attribute current.



5
6
7
# File 'lib/przn/presentation.rb', line 5

def current
  @current
end

#slidesObject (readonly)

Returns the value of attribute slides.



5
6
7
# File 'lib/przn/presentation.rb', line 5

def slides
  @slides
end

Instance Method Details

#current_slideObject



12
# File 'lib/przn/presentation.rb', line 12

def current_slide = slides[current]

#first_slide!Object



29
30
31
# File 'lib/przn/presentation.rb', line 29

def first_slide!
  @current = 0
end

#first_slide?Boolean

Returns:

  • (Boolean)


14
# File 'lib/przn/presentation.rb', line 14

def first_slide?  = current == 0

#go_to(n) ⇒ Object



25
26
27
# File 'lib/przn/presentation.rb', line 25

def go_to(n)
  @current = n.clamp(0, total - 1)
end

#last_slide!Object



33
34
35
# File 'lib/przn/presentation.rb', line 33

def last_slide!
  @current = total - 1
end

#last_slide?Boolean

Returns:

  • (Boolean)


15
# File 'lib/przn/presentation.rb', line 15

def last_slide?   = current == total - 1

#next_slideObject



17
18
19
# File 'lib/przn/presentation.rb', line 17

def next_slide
  @current = [current + 1, total - 1].min
end

#prev_slideObject



21
22
23
# File 'lib/przn/presentation.rb', line 21

def prev_slide
  @current = [current - 1, 0].max
end

#totalObject



13
# File 'lib/przn/presentation.rb', line 13

def total         = slides.size