mirror of
https://github.com/kemko/liquid.git
synced 2026-01-05 01:35:41 +03:00
Remove the redundant iterable check in the for tag.
Just do it in slice_collection for consistency with the tablerow tag.
This commit is contained in:
@@ -76,9 +76,6 @@ module Liquid
|
||||
collection = context.evaluate(@collection_name)
|
||||
collection = collection.to_a if collection.is_a?(Range)
|
||||
|
||||
# Maintains Ruby 1.8.7 String#each behaviour on 1.9
|
||||
return render_else(context) unless iterable?(collection)
|
||||
|
||||
from = if @from == :continue
|
||||
for_offsets[@name].to_i
|
||||
else
|
||||
@@ -189,10 +186,6 @@ module Liquid
|
||||
def render_else(context)
|
||||
@else_block ? @else_block.render(context) : ''.freeze
|
||||
end
|
||||
|
||||
def iterable?(collection)
|
||||
collection.respond_to?(:each) || Utils.non_blank_string?(collection)
|
||||
end
|
||||
end
|
||||
|
||||
Template.register_tag('for'.freeze, For)
|
||||
|
||||
@@ -8,10 +8,6 @@ module Liquid
|
||||
end
|
||||
end
|
||||
|
||||
def self.non_blank_string?(collection)
|
||||
collection.is_a?(String) && collection != ''.freeze
|
||||
end
|
||||
|
||||
def self.slice_collection_using_each(collection, from, to)
|
||||
segments = []
|
||||
index = 0
|
||||
@@ -20,6 +16,7 @@ module Liquid
|
||||
if collection.is_a?(String)
|
||||
return collection.empty? ? [] : [collection]
|
||||
end
|
||||
return [] unless collection.respond_to?(:each)
|
||||
|
||||
collection.each do |item|
|
||||
if to && to <= index
|
||||
|
||||
Reference in New Issue
Block a user