From 5571dc766e2143e39762ff0b47c41d1c2e154f4c Mon Sep 17 00:00:00 2001 From: Benjamin Sanders Date: Sat, 11 Oct 2025 10:34:24 -0400 Subject: Vendor bundled gems for deployment --- .../gems/liquid-4.0.4/lib/liquid/expression.rb | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 vendor/bundle/ruby/3.4.0/gems/liquid-4.0.4/lib/liquid/expression.rb (limited to 'vendor/bundle/ruby/3.4.0/gems/liquid-4.0.4/lib/liquid/expression.rb') diff --git a/vendor/bundle/ruby/3.4.0/gems/liquid-4.0.4/lib/liquid/expression.rb b/vendor/bundle/ruby/3.4.0/gems/liquid-4.0.4/lib/liquid/expression.rb new file mode 100644 index 0000000..98be6db --- /dev/null +++ b/vendor/bundle/ruby/3.4.0/gems/liquid-4.0.4/lib/liquid/expression.rb @@ -0,0 +1,49 @@ +module Liquid + class Expression + class MethodLiteral + attr_reader :method_name, :to_s + + def initialize(method_name, to_s) + @method_name = method_name + @to_s = to_s + end + + def to_liquid + to_s + end + end + + LITERALS = { + nil => nil, 'nil'.freeze => nil, 'null'.freeze => nil, ''.freeze => nil, + 'true'.freeze => true, + 'false'.freeze => false, + 'blank'.freeze => MethodLiteral.new(:blank?, '').freeze, + 'empty'.freeze => MethodLiteral.new(:empty?, '').freeze + }.freeze + + SINGLE_QUOTED_STRING = /\A'(.*)'\z/m + DOUBLE_QUOTED_STRING = /\A"(.*)"\z/m + INTEGERS_REGEX = /\A(-?\d+)\z/ + FLOATS_REGEX = /\A(-?\d[\d\.]+)\z/ + RANGES_REGEX = /\A\((\S+)\.\.(\S+)\)\z/ + + def self.parse(markup) + if LITERALS.key?(markup) + LITERALS[markup] + else + case markup + when SINGLE_QUOTED_STRING, DOUBLE_QUOTED_STRING + $1 + when INTEGERS_REGEX + $1.to_i + when RANGES_REGEX + RangeLookup.parse($1, $2) + when FLOATS_REGEX + $1.to_f + else + VariableLookup.parse(markup) + end + end + end + end +end -- cgit v1.2.3