class ReVIEW::EPUBMaker::ReVIEWHeaderListener
Public Class Methods
new(headlines)
click to toggle source
# File lib/review/epubmaker/reviewheaderlistener.rb, line 12 def initialize(headlines) @level = nil @content = '' @headlines = headlines end
Public Instance Methods
tag_end(name)
click to toggle source
# File lib/review/epubmaker/reviewheaderlistener.rb, line 33 def tag_end(name) if name =~ /\Ah\d+/ if @id.present? @headlines.push({ 'level' => @level, 'id' => @id, 'title' => @content, 'notoc' => @notoc }) end @content = '' @level = nil @id = nil @notoc = nil end true end
tag_start(name, attrs)
click to toggle source
# File lib/review/epubmaker/reviewheaderlistener.rb, line 18 def tag_start(name, attrs) if name =~ /\Ah(\d+)/ raise "#{name}, #{attrs}" if @level.present? @level = $1.to_i @id = attrs['id'] if attrs['id'].present? @notoc = attrs['notoc'] if attrs['notoc'].present? elsif !@level.nil? if name == 'img' && attrs['alt'].present? @content << attrs['alt'] elsif name == 'a' && attrs['id'].present? @id = attrs['id'] end end end
text(text)
click to toggle source
# File lib/review/epubmaker/reviewheaderlistener.rb, line 50 def text(text) if @level.present? @content << text.gsub("\t", ' ') end end