Merge pull request #1811 from Shopify/marco-cycle-update

Add named? method to Cycle class for checking if the cycle is named
This commit is contained in:
Ian Ker-Seymer
2024-07-16 15:58:21 -04:00
committed by GitHub
3 changed files with 10 additions and 0 deletions
+2
View File
@@ -7,6 +7,8 @@ end
gemspec gemspec
gem "base64"
group :benchmark, :test do group :benchmark, :test do
gem 'benchmark-ips' gem 'benchmark-ips'
gem 'memory_profiler' gem 'memory_profiler'
+2
View File
@@ -15,6 +15,7 @@ GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
ast (2.4.2) ast (2.4.2)
base64 (0.2.0)
benchmark-ips (2.13.0) benchmark-ips (2.13.0)
json (2.7.2) json (2.7.2)
language_server-protocol (3.17.0.3) language_server-protocol (3.17.0.3)
@@ -57,6 +58,7 @@ PLATFORMS
ruby ruby
DEPENDENCIES DEPENDENCIES
base64
benchmark-ips benchmark-ips
liquid! liquid!
liquid-c! liquid-c!
+6
View File
@@ -26,14 +26,20 @@ module Liquid
when NamedSyntax when NamedSyntax
@variables = variables_from_string(Regexp.last_match(2)) @variables = variables_from_string(Regexp.last_match(2))
@name = parse_expression(Regexp.last_match(1)) @name = parse_expression(Regexp.last_match(1))
@is_named = true
when SimpleSyntax when SimpleSyntax
@variables = variables_from_string(markup) @variables = variables_from_string(markup)
@name = @variables.to_s @name = @variables.to_s
@is_named = !@name.match?(/\w+:0x\h{8}/)
else else
raise SyntaxError, options[:locale].t("errors.syntax.cycle") raise SyntaxError, options[:locale].t("errors.syntax.cycle")
end end
end end
def named?
@is_named
end
def render_to_output_buffer(context, output) def render_to_output_buffer(context, output)
context.registers[:cycle] ||= {} context.registers[:cycle] ||= {}