module ReVIEW::Book::Compilable

Attributes

book[R]
content[W]
path[R]

Public Instance Methods

basename() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 29
def basename
  return nil unless @path
  File.basename(@path)
end
bibpaper(id) click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 148
def bibpaper(id)
  bibpaper_index()[id]
end
bibpaper_index() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 152
def bibpaper_index
  raise FileNotFound, "no such bib file: #{@book.bib_file}" unless @book.bib_exist?
  @bibpaper_index ||= BibpaperIndex.parse(@book.read_bib.lines.to_a)
  @bibpaper_index
end
column(id) click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 166
def column(id)
  column_index()[id]
end
column_index() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 170
def column_index
  @column_index ||= ColumnIndex.parse(lines())
end
content() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 75
def content
  @content = File.read(path())
rescue
  @content
end
dirname() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 24
def dirname
  return nil unless @path
  File.dirname(@path)
end
env() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 20
def env
  @book
end
footnote(id) click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 104
def footnote(id)
  footnote_index()[id]
end
footnote_index() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 108
def footnote_index
  @footnote_index ||= FootnoteIndex.parse(lines())
  @footnote_index
end
headline(caption) click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 158
def headline(caption)
  headline_index()[caption]
end
headline_index() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 162
def headline_index
  @headline_index ||= HeadlineIndex.parse(lines(), self)
end
icon_index() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 134
def icon_index
  @icon_index ||= IconIndex.parse(lines(), id(),
    "#{book.basedir}/#{@book.image_dir}",
    @book.image_types, @book.config['builder'])
  @icon_index
end
id()
Alias for: name
image(id) click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 113
def image(id)
  return image_index()[id] if image_index().has_key?(id)
  return icon_index()[id] if icon_index().has_key?(id)
  return numberless_image_index()[id] if numberless_image_index().has_key?(id)
  indepimage_index()[id]
end
image_index() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 127
def image_index
  @image_index ||= ImageIndex.parse(lines(), id(),
    "#{book.basedir}/#{@book.image_dir}",
    @book.image_types, @book.config['builder'])
  @image_index
end
indepimage_index() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 141
def indepimage_index
  @indepimage_index ||=
    IndepImageIndex.parse(lines(), id(),
    "#{book.basedir}/#{@book.image_dir}",
    @book.image_types, @book.config['builder'])
end
lines() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 81
def lines
  # FIXME: we cannot duplicate Enumerator on ruby 1.9 HEAD
  (@lines ||= content().lines.to_a).dup
end
list(id) click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 86
def list(id)
  list_index()[id]
end
list_index() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 90
def list_index
  @list_index ||= ListIndex.parse(lines())
  @list_index
end
name() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 34
def name
  return nil unless @name
  File.basename(@name, '.*')
end
Also aliased as: id, id
next_chapter() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 174
def next_chapter
  book.next_chapter(self)
end
numberless_image_index() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 120
def numberless_image_index
  @numberless_image_index ||=
    NumberlessImageIndex.parse(lines(), id(),
    "#{book.basedir}/#{@book.image_dir}",
    @book.image_types, @book.config['builder'])
end
open() { |io| ... } click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 68
def open(&block)
  return (block_given?() ? yield(@io) : @io) if @io
  File.open(path(), &block)
end
prev_chapter() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 178
def prev_chapter
  book.prev_chapter(self)
end
size() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 56
def size
  File.size(path())
end
table(id) click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 95
def table(id)
  table_index()[id]
end
table_index() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 99
def table_index
  @table_index ||= TableIndex.parse(lines())
  @table_index
end
title() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 41
def title
  return @title if @title

  @title = ''
  open {|f|
    f.each_line {|l|
      if l =~ /\A=+/
        @title = l.sub(/\A=+(\[.+?\])?(\{.+?\})?/, '').strip
        break
      end
    }
  }
  @title
end
volume() click to toggle source
# File ../../../../../lib/review/book/compilable.rb, line 60
def volume
  if !@volume
    @volume = Volume.count_file(path())
    @volume.page_per_kbyte = @book.page_metric.page_per_kbyte
  end
  @volume
end