Module: Bookify::Sections

Defined in:
lib/bookify/sections.rb

Constant Summary collapse

InvalidLevel =
Class.new(StandardError)
@@sections =
[]

Class Method Summary collapse

Class Method Details

.add(level, title, dest) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/bookify/sections.rb', line 7

def self.add(level, title, dest)
  case level
  when :h1
    @@sections << {title: title, dest: dest, subsections: []}
  when :h2
    return if @@sections.empty?
    @@sections.last[:subsections] << {title: title, dest: dest}
  else
    raise InvalidLevel, level
  end
end

.allObject



19
20
21
# File 'lib/bookify/sections.rb', line 19

def self.all
  @@sections
end

.current_h1_titleObject



23
24
25
# File 'lib/bookify/sections.rb', line 23

def self.current_h1_title
  @@sections.any? ? @@sections.last[:title] : nil
end

.resetObject



27
28
29
# File 'lib/bookify/sections.rb', line 27

def self.reset
  @@sections = []
end