Class: Repub::Epub::Toc
Defined Under Namespace
Classes: DocTitle, Head, NavMap
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(uid) ⇒ Toc
Returns a new instance of Toc.
9
10
11
12
13
|
# File 'lib/repub/epub/toc.rb', line 9
def initialize(uid)
@head = Head.new(uid)
@doc_title = DocTitle.new('Untitled')
@nav_map = NavMap.new
end
|
Instance Attribute Details
Returns the value of attribute nav_map.
23
24
25
|
# File 'lib/repub/epub/toc.rb', line 23
def nav_map
@nav_map
end
|
Instance Method Details
#save(path = 'toc.ncx') ⇒ Object
40
41
42
43
44
|
# File 'lib/repub/epub/toc.rb', line 40
def save(path = 'toc.ncx')
File.open(path, 'w') do |f|
f << to_xml
end
end
|
15
16
17
|
# File 'lib/repub/epub/toc.rb', line 15
def title
@doc_title.text
end
|
#title=(text) ⇒ Object
19
20
21
|
# File 'lib/repub/epub/toc.rb', line 19
def title=(text)
@doc_title = DocTitle.new(text)
end
|
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/repub/epub/toc.rb', line 25
def to_xml
out = ''
builder = Builder::XmlMarkup.new(:target => out)
builder.instruct!
builder.declare! :DOCTYPE, :ncx, :PUBLIC, "-//NISO//DTD ncx 2005-1//EN", "http://www.daisy.org/z3986/2005/ncx-2005-1.dtd"
builder.ncx :xmlns => "http://www.daisy.org/z3986/2005/ncx/", :version => "2005-1" do
@nav_map.calc_depth_and_play_order
@head.depth = @nav_map.depth
@head.to_xml(builder)
@doc_title.to_xml(builder)
@nav_map.to_xml(builder)
end
out
end
|