Merge pull request #312 from Shopify/uniq_filter

uniq filter
This commit is contained in:
Florian Weingarten
2014-08-05 16:22:48 +02:00
3 changed files with 20 additions and 1 deletions

View File

@@ -101,13 +101,24 @@ module Liquid
ary = InputIterator.new(input)
if property.nil?
ary.sort
elsif ary.first.respond_to?('[]'.freeze) && !ary.first[property].nil?
elsif ary.first.respond_to?(:[]) && !ary.first[property].nil?
ary.sort {|a,b| a[property] <=> b[property] }
elsif ary.first.respond_to?(property)
ary.sort {|a,b| a.send(property) <=> b.send(property) }
end
end
# Remove duplicate elements from an array
# provide optional property with which to determine uniqueness
def uniq(input, property = nil)
ary = InputIterator.new(input)
if property.nil?
input.uniq
elsif input.first.respond_to?(:[])
input.uniq{ |a| a[property] }
end
end
# Reverse the elements of an array
def reverse(input)
ary = InputIterator.new(input)