class Liquid::Expression
Constants
- DOUBLE_QUOTED_STRING
- FLOATS_REGEX
- INTEGERS_REGEX
- LITERALS
- RANGES_REGEX
Use an atomic group (?>…) to avoid pathological backtracing from malicious input as described in github.com/Shopify/liquid/issues/1357
- SINGLE_QUOTED_STRING
Public Class Methods
parse(markup)
click to toggle source
# File lib/liquid/expression.rb, line 22 def self.parse(markup) case markup when nil nil when SINGLE_QUOTED_STRING, DOUBLE_QUOTED_STRING Regexp.last_match(1) when INTEGERS_REGEX Regexp.last_match(1).to_i when RANGES_REGEX RangeLookup.parse(Regexp.last_match(1), Regexp.last_match(2)) when FLOATS_REGEX Regexp.last_match(1).to_f else markup = markup.strip if LITERALS.key?(markup) LITERALS[markup] else VariableLookup.parse(markup) end end end