From 2e91d094e5852ccb760010ede2e1062e6aff74a1 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Fri, 4 Dec 2015 10:25:13 -0800 Subject: [PATCH] filters#sample: n == 1, return item; n > 1, return array --- lib/jekyll/filters.rb | 7 ++++++- test/test_filters.rb | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/jekyll/filters.rb b/lib/jekyll/filters.rb index 70e93b90e..6efc2e940 100644 --- a/lib/jekyll/filters.rb +++ b/lib/jekyll/filters.rb @@ -283,7 +283,12 @@ module Jekyll def sample(input, num = 1) return input unless input.respond_to?(:sample) - input.sample(num) + sampling = input.sample(num) + if num == 1 + sampling.first + else + sampling + end end # Convert an object into its String representation for debugging diff --git a/test/test_filters.rb b/test/test_filters.rb index 5fd9facb8..dc51252e6 100644 --- a/test/test_filters.rb +++ b/test/test_filters.rb @@ -397,7 +397,7 @@ class TestFilters < JekyllUnitTest should "allow sampling of multiple values (n > 1)" do input = %w(hey there bernie) @filter.sample(input, 2).each do |val| - assert_includes val, input + assert_includes input, val end end end