Class: MakeBook::Book
- Inherits:
-
Object
- Object
- MakeBook::Book
- Defined in:
- lib/makebook/book.rb
Overview
A book
Instance Attribute Summary collapse
-
#source ⇒ Object
readonly
Returns the value of attribute source.
Instance Method Summary collapse
- #chapters ⇒ Object
- #dir ⇒ Object
- #formats ⇒ Object
-
#initialize(file) ⇒ Book
constructor
A new instance of Book.
- #name ⇒ Object
- #root ⇒ Object
- #styles ⇒ Object
- #title ⇒ Object
- #toc ⇒ Object
- #toc? ⇒ Boolean
Constructor Details
#initialize(file) ⇒ Book
Returns a new instance of Book.
7 8 9 |
# File 'lib/makebook/book.rb', line 7 def initialize(file) @source = Pathname.new(file) end |
Instance Attribute Details
#source ⇒ Object (readonly)
Returns the value of attribute source.
5 6 7 |
# File 'lib/makebook/book.rb', line 5 def source @source end |
Instance Method Details
#chapters ⇒ Object
35 36 37 38 39 |
# File 'lib/makebook/book.rb', line 35 def chapters (book['chapters'] || []).map do |c| MakeBook::Chapter.new(book: self, name: c) end end |
#dir ⇒ Object
23 24 25 |
# File 'lib/makebook/book.rb', line 23 def dir root + name end |
#formats ⇒ Object
27 28 29 |
# File 'lib/makebook/book.rb', line 27 def formats book['output']['formats'] || [] end |
#name ⇒ Object
19 20 21 |
# File 'lib/makebook/book.rb', line 19 def name book['name'] || source.basename(MakeBook::EXT) end |
#root ⇒ Object
15 16 17 |
# File 'lib/makebook/book.rb', line 15 def root source.dirname end |
#styles ⇒ Object
41 42 43 44 45 |
# File 'lib/makebook/book.rb', line 41 def styles (book['styles'] || []).map do |s| MakeBook::Formats::HTML::Stylesheet.new(root + s) end end |
#title ⇒ Object
31 32 33 |
# File 'lib/makebook/book.rb', line 31 def title book['title'] || name end |
#toc ⇒ Object
47 48 49 |
# File 'lib/makebook/book.rb', line 47 def toc book['toc'] && Integer(book['toc']) end |
#toc? ⇒ Boolean
51 52 53 |
# File 'lib/makebook/book.rb', line 51 def toc? !toc.nil? end |