NITRO_RUBY_BLOCK |
= |
/ <\?r (?> [^\?]* (?> \?(?!>) [^\?]* )* ) (?: \?> )? | <ruby> (?> [^<]* (?> <(?!\/ruby>) [^<]* )* ) (?: <\/ruby> )? | <% (?> [^%]* (?> %(?!>) [^%]* )* ) (?: %> )? /mx |
NITRO_VALUE_BLOCK |
= |
/ \# (?: \{ [^{}]* (?> \{ [^}]* \} (?> [^{}]* ) )* \}? | \| [^|]* \|? | \( [^)]* \)? | \[ [^\]]* \]? | \\ [^\\]* \\? ) /x |
NITRO_ENTITY |
= |
/ % (?: \#\d+ | \w+ ) ; / |
START_OF_RUBY |
= |
/ (?=[<\#%]) < (?: \?r | % | ruby> ) | \# [{(|] | % (?: \#\d+ | \w+ ) ; /x |
CLOSING_PAREN |
= |
Hash.new do |h, p| h[p] = p |