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, #has_key?, #initialize, item_class, #item_type, #number

Constructor Details

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

Class Method Details

.parse(src, *args) ⇒ Object



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

def ColumnIndex.parse(src, *args)
  items = []
  seq = 1
  src.each do |line|
    if m = COLUMN_PATTERN.match(line)
      _level = m[1] ## not use it yet
      id = m[2]
      caption = m[3].strip
      if !id || id == ""
        id = caption
      end

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