Class: ReVIEW::Book::ColumnIndex

Inherits:
Index show all
Defined in:
lib/review/book/index.rb

Defined Under Namespace

Classes: Item

Constant Summary collapse

COLUMN_PATTERN =
/\A(=+)\[column\](?:\{(.+?)\})?(.*)/

Class Method Summary collapse

Methods inherited from Index

#[], #each, #initialize, item_class, #item_type, #key?, #number

Constructor Details

This class inherits a constructor from ReVIEW::Book::Index

Class Method Details

.parse(src, *_args) ⇒ Object



380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
# File 'lib/review/book/index.rb', line 380

def self.parse(src, *_args)
  items = []
  seq = 1
  src.each do |line|
    m = COLUMN_PATTERN.match(line)
    next unless m
    _level = m[1] ## not use it yet
    id = m[2]
    caption = m[3].strip
    id = caption if id.nil? || id.empty?

    items.push item_class.new(id, seq, caption)
    seq += 1
  end
  new(items)
end