Example #1
0
        private Placeholder(string raw)
        {
            ConcreteForm = "${" + RegExHelper.ClearStringFormatting(raw) + "}";
            var parts = raw.Split('?');

            parameterPath = parts[0];
            if (parts.Length > 1)
            {
                modifier = parts[1];
            }

            SetupTrimCommand();
        }
Example #2
0
        /// <summary>
        /// Creates a new instance of a template entity.
        /// </summary>
        /// <param name="raw">Raw source string.</param>
        public TemplateModel(string raw)
        {
            concreteForm = RegExHelper.ClearStringFormatting(raw);
            raw          = RegExHelper.FormatLines(raw);

            using (var ms = new MemoryStream())
            {
                using (var sw = new StreamWriter(ms))
                {
                    sw.Write(raw);
                    sw.Flush();
                    ExtractFromStream(ms);
                }
            }
        }
Example #3
0
        /// <summary>
        /// Creates a new instance of the IfBlock class.
        /// </summary>
        /// <param name="raw">Raw string.</param>
        public IfBlock(string raw)
        {
            ConcreteForm = RegExHelper.TrimUntilChar(RegExHelper.ClearStringFormatting(raw), '$') + "}";
            var subBlocks  = RegExHelper.GetContainedString(raw, ">", "<");
            var innerBlock = RegExHelper.GetContainedString(raw, "<#if", ">")[0].Value;


            var rawAction = subBlocks[0].Value;

            if (subBlocks.Count > 1)
            {
                elseAction = new TemplateModel(subBlocks[1].Value);
            }

            action = new TemplateModel(rawAction);

            innerBlock = innerBlock.Replace(" ", string.Empty);

            if (innerBlock.Contains("&&"))
            {
                optr = "&&";
            }
            else if (innerBlock.Contains("||"))
            {
                optr = "||";
            }

            if (string.IsNullOrEmpty(optr))
            {
                conditions = new[] { new IfCondition(innerBlock) };
            }
            else
            {
                var rawConditions = innerBlock.Split(new[] { "||" }, StringSplitOptions.RemoveEmptyEntries);
                var condList      = new List <IfCondition>();

                foreach (var c in rawConditions)
                {
                    condList.Add(new IfCondition(c));
                }

                conditions = condList.ToArray();
            }
        }