Sha256: 97f8145b71968fb6f0d827e779a9e23d15115f044c778852fced9dbded053f77
Contents?: true
Size: 722 Bytes
Versions: 10
Compression:
Stored size: 722 Bytes
Contents
class Template class Parser class Template < Parslet::Parser rule(:code) { ::Code::Parser::Code.new } rule(:left_curly_bracket) { str("{") } rule(:right_curly_bracket) { str("}") } rule(:escape) { str("\\") } rule(:text_part) do ( (escape.ignore >> left_curly_bracket) | (left_curly_bracket.absent? >> any) ).repeat(1) end rule(:code_part) do left_curly_bracket.ignore >> code >> (right_curly_bracket.ignore | any.absent?) end rule(:template) do (text_part.as(:text) | code_part.as(:code)).repeat(1) | str("").as(:text).repeat(1, 1) end root(:template) end end end
Version data entries
10 entries across 10 versions & 2 rubygems