Sha256: 7349b3eef4c4c5cbae43d663c6d4f22b79c170d533561486123e59bb784a6cc7
Contents?: true
Size: 1.42 KB
Versions: 12
Compression:
Stored size: 1.42 KB
Contents
# encoding: utf-8 require 'ostruct' require 'procme' module Infoboxer class Parser class ParsingError < RuntimeError end class << self def inline(text, traits = nil) new(context(text, traits)).inline end def paragraphs(text, traits = nil) new(context(text, traits)).paragraphs end def paragraph(text, traits = nil) paragraphs(text, traits).first end def document(text, traits = nil) Tree::Document.new(paragraphs(text, traits)) end def fragment(text, traits = nil) new(context(text, traits)).long_inline end private def context(text, traits) Context.new(text, coerce_traits(traits)) end 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 end include Tree def initialize(context) @context = context @re = OpenStruct.new(make_regexps) end require_relative 'parser/inline' include Parser::Inline require_relative 'parser/paragraphs' include Parser::Paragraphs private require_relative 'parser/util' include Parser::Util end end require_relative 'parser/context'
Version data entries
12 entries across 12 versions & 1 rubygems