mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-29 15:15:19 -07:00
render_all should internally always return strings. This eases some 1.9 compatability issues.
This commit is contained in:
+1
-1
@@ -95,7 +95,7 @@ module Liquid
|
|||||||
rescue ::StandardError => e
|
rescue ::StandardError => e
|
||||||
context.handle_error(e)
|
context.handle_error(e)
|
||||||
end
|
end
|
||||||
end
|
end.join
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ module Liquid
|
|||||||
row = 1
|
row = 1
|
||||||
col = 0
|
col = 0
|
||||||
|
|
||||||
result = ["<tr class=\"row1\">\n"]
|
result = "<tr class=\"row1\">\n"
|
||||||
context.stack do
|
context.stack do
|
||||||
|
|
||||||
collection.each_with_index do |item, index|
|
collection.each_with_index do |item, index|
|
||||||
@@ -56,17 +56,18 @@ module Liquid
|
|||||||
|
|
||||||
col += 1
|
col += 1
|
||||||
|
|
||||||
result << ["<td class=\"col#{col}\">"] + render_all(@nodelist, context) + ['</td>']
|
result << "<td class=\"col#{col}\">" << render_all(@nodelist, context) << '</td>'
|
||||||
|
|
||||||
if col == cols and not (index == length - 1)
|
if col == cols and not (index == length - 1)
|
||||||
col = 0
|
col = 0
|
||||||
row += 1
|
row += 1
|
||||||
result << ["</tr>\n<tr class=\"row#{row}\">"]
|
result << "</tr>\n<tr class=\"row#{row}\">"
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
result + ["</tr>\n"]
|
result << "</tr>\n"
|
||||||
|
result
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ module Liquid
|
|||||||
|
|
||||||
def render(context)
|
def render(context)
|
||||||
output = super
|
output = super
|
||||||
context.scopes.last[@to] = output.join
|
context.scopes.last[@to] = output
|
||||||
''
|
''
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -31,22 +31,18 @@ module Liquid
|
|||||||
context.stack do
|
context.stack do
|
||||||
execute_else_block = true
|
execute_else_block = true
|
||||||
|
|
||||||
@blocks.inject([]) do |output, block|
|
output = ''
|
||||||
|
@blocks.each do |block|
|
||||||
if block.else?
|
if block.else?
|
||||||
|
|
||||||
return render_all(block.attachment, context) if execute_else_block
|
return render_all(block.attachment, context) if execute_else_block
|
||||||
|
|
||||||
elsif block.evaluate(context)
|
elsif block.evaluate(context)
|
||||||
|
|
||||||
execute_else_block = false
|
execute_else_block = false
|
||||||
output += render_all(block.attachment, context)
|
output << render_all(block.attachment, context)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
output
|
output
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ module Liquid
|
|||||||
|
|
||||||
segment.reverse! if @reversed
|
segment.reverse! if @reversed
|
||||||
|
|
||||||
result = []
|
result = ''
|
||||||
|
|
||||||
length = segment.length
|
length = segment.length
|
||||||
|
|
||||||
|
|||||||
@@ -34,17 +34,13 @@ module Liquid
|
|||||||
end
|
end
|
||||||
|
|
||||||
if variable.is_a?(Array)
|
if variable.is_a?(Array)
|
||||||
|
|
||||||
variable.collect do |variable|
|
variable.collect do |variable|
|
||||||
context[@template_name[1..-2]] = variable
|
context[@template_name[1..-2]] = variable
|
||||||
partial.render(context)
|
partial.render(context)
|
||||||
end
|
end
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
context[@template_name[1..-2]] = variable
|
context[@template_name[1..-2]] = variable
|
||||||
partial.render(context)
|
partial.render(context)
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -121,7 +121,8 @@ module Liquid
|
|||||||
begin
|
begin
|
||||||
# render the nodelist.
|
# render the nodelist.
|
||||||
# for performance reasons we get a array back here. join will make a string out of it
|
# for performance reasons we get a array back here. join will make a string out of it
|
||||||
@root.render(context).join
|
result = @root.render(context)
|
||||||
|
result.respond_to?(:join) ? result.join : result
|
||||||
ensure
|
ensure
|
||||||
@errors = context.errors
|
@errors = context.errors
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user