class ReVIEW::Book::Part
Attributes
chapters[R]
name[R]
number[R]
Public Class Methods
mkpart(chaps)
click to toggle source
# File lib/review/book/part.rb, line 30 def self.mkpart(chaps) chaps.empty? ? nil : Part.new(chaps[0].book, nil, chaps) end
mkpart_from_namelist(book, names)
click to toggle source
# File lib/review/book/part.rb, line 26 def self.mkpart_from_namelist(book, names) Part.mkpart(names.map { |name| Chapter.mkchap_ifexist(book, name) }.compact) end
mkpart_from_namelistfile(book, path)
click to toggle source
# File lib/review/book/part.rb, line 14 def self.mkpart_from_namelistfile(book, path) chaps = [] File.read(path, mode: 'rt:BOM|utf-8').split.each_with_index do |name, number| chaps << if /PREDEF/.match?(path) Chapter.mkchap(book, name) else Chapter.mkchap(book, name, number + 1) end end Part.mkpart(chaps) end
new(book, number, chapters, name = '', io = nil)
click to toggle source
if Part
is dummy, ‘number` is nil.
Calls superclass method
ReVIEW::Book::BookUnit::new
# File lib/review/book/part.rb, line 36 def initialize(book, number, chapters, name = '', io = nil) @book = book @number = number @name = name @chapters = chapters @path = name 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: 'rt:BOM|utf-8') @name = File.basename(name, '.re') else @content = '' end @title = if file? nil else name end @volume = nil super() end
Public Instance Methods
each_chapter(&block)
click to toggle source
# File lib/review/book/part.rb, line 75 def each_chapter(&block) @chapters.each(&block) end
file?()
click to toggle source
# File lib/review/book/part.rb, line 87 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 91 def format_number(heading = true) if heading I18n.t('part', @number) else @number.to_s end end
generate_indexes()
click to toggle source
Calls superclass method
ReVIEW::Book::BookUnit#generate_indexes
# File lib/review/book/part.rb, line 60 def generate_indexes super return unless content @numberless_image_index = @indexes.numberless_image_index @image_index = @indexes.image_index @icon_index = @indexes.icon_index @indepimage_index = @indexes.indepimage_index end
on_appendix?()
click to toggle source
# File lib/review/book/part.rb, line 99 def on_appendix? false end
Also aliased as: on_APPENDIX?
volume()
click to toggle source
# File lib/review/book/part.rb, line 79 def volume if @number && file? Volume.count_file(File.join(@book.config['contentdir'], @path)) else Volume.new(0, 0, 0) end end