class ReVIEW::Book::Part
Attributes
chapters[R]
name[R]
number[R]
Public Class Methods
new(book, number, chapters, name = '', io = nil)
click to toggle source
if Part
is dummy, `number` is nil.
# File lib/review/book/part.rb, line 18 def initialize(book, number, chapters, name = '', io = nil) @book = book @number = number @chapters = chapters @name = name @path = name @content = nil if io @content = io.read elsif @path.present? && File.exist?(File.join(@book.config['contentdir'], @path)) @content = File.read(File.join(@book.config['contentdir'], @path), mode: 'r:BOM|utf-8') @name = File.basename(@name, '.re') end if file? @title = nil else @title = name end @volume = nil end
Public Instance Methods
each_chapter(&block)
click to toggle source
# File lib/review/book/part.rb, line 43 def each_chapter(&block) @chapters.each(&block) end
file?()
click to toggle source
# File lib/review/book/part.rb, line 53 def file? name.present? and path.end_with?('.re') end
format_number(heading = true)
click to toggle source
# File lib/review/book/part.rb, line 57 def format_number(heading = true) if heading I18n.t('part', @number) else @number.to_s end end
on_appendix?()
click to toggle source
# File lib/review/book/part.rb, line 65 def on_appendix? false end
Also aliased as: on_APPENDIX?
volume()
click to toggle source
# File lib/review/book/part.rb, line 47 def volume vol = Volume.sum(@chapters.map(&:volume)) vol.page_per_kbyte = @book.page_metric.page_per_kbyte vol end