Class: XanMarkup::Markupizer
- Inherits:
-
Object
- Object
- XanMarkup::Markupizer
- Defined in:
- lib/xan_markup/markupizer.rb
Constant Summary collapse
- MarkupSyntax =
/\{\{ ?(.*?) ?\}\}/
- BlockMarkupSyntax =
/\{\{ ?((\w+)(.*?)) ?\}\}(.*?)\{\{ ?\/(\2) ?\}\}/m
Instance Method Summary collapse
-
#initialize(content, syntax = MarkupSyntax, block_syntax = BlockMarkupSyntax) ⇒ Markupizer
constructor
A new instance of Markupizer.
- #markupize(content = @content, &block) ⇒ Object
- #markupize_syntax(syntax, content, &block) ⇒ Object
- #tags ⇒ Object
Constructor Details
#initialize(content, syntax = MarkupSyntax, block_syntax = BlockMarkupSyntax) ⇒ Markupizer
Returns a new instance of Markupizer.
9 10 11 12 13 |
# File 'lib/xan_markup/markupizer.rb', line 9 def initialize(content, syntax = MarkupSyntax, block_syntax = BlockMarkupSyntax) @content = content.to_s.dup.to_str @syntax = syntax @block_syntax = block_syntax end |
Instance Method Details
#markupize(content = @content, &block) ⇒ Object
21 22 23 24 |
# File 'lib/xan_markup/markupizer.rb', line 21 def markupize(content = @content, &block) content = markupize_syntax(@block_syntax, content, &block) markupize_syntax(@syntax, content, &block) end |
#markupize_syntax(syntax, content, &block) ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'lib/xan_markup/markupizer.rb', line 26 def markupize_syntax(syntax, content, &block) content.gsub(syntax) do |markup| if content = $4 yield ContentTag.new($1, markupize(content, &block)) else yield Tag.new($1) end end end |
#tags ⇒ Object
15 16 17 18 19 |
# File 'lib/xan_markup/markupizer.rb', line 15 def = [] markupize { |tag| << tag } end |