From a556ae6c26909c9c98018784cdd0984b1aad8921 Mon Sep 17 00:00:00 2001 From: Jay Strybis Date: Thu, 7 Mar 2013 16:29:39 -0600 Subject: [PATCH] Add reverse filter --- lib/liquid/standardfilters.rb | 6 ++++++ test/liquid/standard_filter_test.rb | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/lib/liquid/standardfilters.rb b/lib/liquid/standardfilters.rb index 651216ac..68dee294 100644 --- a/lib/liquid/standardfilters.rb +++ b/lib/liquid/standardfilters.rb @@ -90,6 +90,12 @@ module Liquid end end + # Reverse the elements of an array + def reverse(input) + ary = [input].flatten + ary.reverse + end + # map/collect on a given property def map(input, property) ary = [input].flatten diff --git a/test/liquid/standard_filter_test.rb b/test/liquid/standard_filter_test.rb index 2ee7ae8d..de7f28ca 100644 --- a/test/liquid/standard_filter_test.rb +++ b/test/liquid/standard_filter_test.rb @@ -80,6 +80,10 @@ class StandardFiltersTest < Test::Unit::TestCase assert_equal [{"a" => 1}, {"a" => 2}, {"a" => 3}, {"a" => 4}], @filters.sort([{"a" => 4}, {"a" => 3}, {"a" => 1}, {"a" => 2}], "a") end + def test_reverse + assert_equal [4,3,2,1], @filters.reverse([1,2,3,4]) + end + def test_map assert_equal [1,2,3,4], @filters.map([{"a" => 1}, {"a" => 2}, {"a" => 3}, {"a" => 4}], 'a') assert_template_result 'abc', "{{ ary | map:'foo' | map:'bar' }}",