Module: Tzispa::Rig::Syntax

Included in:
ParserNext
Defined in:
lib/tzispa/rig/syntax.rb

Constant Summary collapse

RIG_EMPTY =
{
  :flags => /<flags:(\[(\w+=[^,\]]+(,\w+=[^,\]]+)*?)\])\/>/
}.freeze
RIG_EXPRESSIONS =
{
  :meta => /\{%([^%]+?)%\}/,
  :var  => /<var(\[%[A-Z]?[0-9]*[a-z]\])?:(\w+)\/>/
}.freeze
RIG_URL_BUILDER =
{
  :url  => /<(url|purl)(@\w+)?:([^\[\.\/]+(?:\.[^\[\/]+)?)(\[(\w+=[^,\]]+(,\w+=[^,\]]+)*?)\])?\/>/,
  :api  => /<(api|sapi)(@\w+)?:([^:\.]+(?:\.[^:]+)?):([^:\/]+)(?::([^:\/]+))?(?::([^\/]+))?\/>/
}.freeze
RIG_STATEMENTS =
/(<(loop):(\w+)>(.*?)<\/loop:\3>)|(<(ife):(\w+)>(.*?)(<else:\7\/>(.*?))?<\/ife:\7>)/m
RIG_TEMPLATES =
{
  :blk    => /<(blk):(\w+(?:\.\w+)?)(?:\[(\w+=[^,\]]+(?:,\w+=[^,\]]+)*)\])?\/>/,
  :iblk   => /<(iblk):(\w+):(\w+(?:\.\w+)?)(?:\[(\w+=[^,\]]+(?:,\w+=[^,\]]+)*)\])?:(\w+(?:\.\w+)?)(?:\[(\w+=[^,\]]+(?:,\w+=[^,\]]+)*)\])?\/>/,
  :static => /<(static):(\w+(?:\.\w+)?)(?:\[(\w+=[^,\]]+(?:,\w+=[^,\]]+)*)\])?\/>/
}.freeze