mirror of
https://github.com/Shopify/liquid.git
synced 2025-09-21 00:00:32 -04:00
Add find_own_variable method to look up internal context variables
This commit is contained in:
parent
239cfa5a44
commit
4c9d2009f9
@ -177,7 +177,18 @@ module Liquid
|
||||
variable = variable.to_liquid
|
||||
variable.context = self if variable.respond_to?(:context=)
|
||||
|
||||
return variable
|
||||
variable
|
||||
end
|
||||
|
||||
def find_own_variable(key)
|
||||
index = @scopes.find_index { |s| s.has_key?(key) }
|
||||
return unless index
|
||||
|
||||
scope = @scopes[index]
|
||||
variable = lookup_and_evaluate(@scopes[index], key).to_liquid
|
||||
variable.context = self if variable.respond_to?(:context=)
|
||||
|
||||
variable
|
||||
end
|
||||
|
||||
def lookup_and_evaluate(obj, key)
|
||||
|
@ -99,7 +99,7 @@ module Liquid
|
||||
# Store our progress through the collection for the continue flag
|
||||
context.registers[:for][@name] = from + segment.length
|
||||
|
||||
parent_loop = context.find_variable('forloop'.freeze)
|
||||
parent_loop = context.find_own_variable('forloop'.freeze)
|
||||
|
||||
context.stack do
|
||||
segment.each_with_index do |item, index|
|
||||
|
Loading…
x
Reference in New Issue
Block a user