Merge pull request #2359 from abroder/where-collection

This commit is contained in:
Parker Moore 2014-05-08 21:27:36 -04:00
commit e278997750
2 changed files with 14 additions and 2 deletions

View File

@ -94,3 +94,15 @@ Feature: Collections
When I run jekyll build
Then the _site directory should exist
And I should see "First document's output: <p>Use <code>Jekyll.configuration</code> to build a full configuration for use w/Jekyll.</p>\n\n<p>Whatever: foo.bar</p>" in "_site/index.html"
Scenario: Filter documents by where
Given I have an "index.html" page that contains "{% assign items = site.methods | where: 'whatever','foo.bar' %}Item count: {{ items.size }}"
And I have fixture collections
And I have a "_config.yml" file with content:
"""
collections:
- methods
"""
When I run jekyll build
Then the _site directory should exist
And I should see "Item count: 1" in "_site/index.html"

View File

@ -185,9 +185,9 @@ module Jekyll
# value - desired value
#
# Returns the filtered array of objects
def where(input, key, value)
def where(input, property, value)
return input unless input.is_a?(Array)
input.select { |object| object[key] == value }
input.select { |object| item_property(object, property) == value }
end
# Sort an array of objects