class Infoboxer::Parser
Public Class Methods
document(text, traits = nil)
click to toggle source
# File lib/infoboxer/parser.rb, line 24 def document(text, traits = nil) Tree::Document.new(paragraphs(text, traits)) end
fragment(text, traits = nil)
click to toggle source
# File lib/infoboxer/parser.rb, line 28 def fragment(text, traits = nil) new(context(text, traits)).long_inline end
inline(text, traits = nil)
click to toggle source
# File lib/infoboxer/parser.rb, line 12 def inline(text, traits = nil) new(context(text, traits)).inline end
new(context)
click to toggle source
# File lib/infoboxer/parser.rb, line 54 def initialize(context) @context = context @re = OpenStruct.new(make_regexps) @logger = Logger.new($stdout).tap { |l| l.level = Logger::FATAL } end
paragraph(text, traits = nil)
click to toggle source
# File lib/infoboxer/parser.rb, line 20 def paragraph(text, traits = nil) paragraphs(text, traits).first end
paragraphs(text, traits = nil)
click to toggle source
# File lib/infoboxer/parser.rb, line 16 def paragraphs(text, traits = nil) new(context(text, traits)).paragraphs end
Private Class Methods
coerce_traits(traits)
click to toggle source
# File lib/infoboxer/parser.rb, line 38 def coerce_traits(traits) case traits when nil MediaWiki::Traits.default when Hash MediaWiki::Traits.new(traits) when MediaWiki::Traits traits else fail(ArgumentError, "Can't coerce site traits from #{traits.inspect}") end end
context(text, traits)
click to toggle source
# File lib/infoboxer/parser.rb, line 34 def context(text, traits) Context.new(text, coerce_traits(traits)) end
Private Instance Methods
log(msg)
click to toggle source
# File lib/infoboxer/parser.rb, line 71 def log(msg) @logger.info "#{msg} | #{@context.lineno}:#{@context.colno}: #{@context.current}" end