lib/hyde/set.rb in hydeweb-0.2.2 vs lib/hyde/set.rb in hydeweb-0.2.3
- old
+ new
@@ -1,19 +1,28 @@
+# Class: Hyde::Set
+# A set of pages.
+
class Hyde
class Set < Array
+ # Method: find (Hyde::Set)
# Filters a set by given metadata criteria.
#
- # @example
- # Page['/'].children.find(layout: 'default')
+ # ## Example
+ # Page['/'].children.find(layout: 'default')
#
def find(by={})
self.class.new(select do |page|
by.inject(true) { |b, (field, value)| b &&= (page.meta.send(field) == value) }
end)
end
+ # Method: except (Hyde::Set)
# Filters a set by removing items matching the given metadata criteria.
- # This is the opposite of #find.
+ #
+ # This is the opposite of {Hyde::Set::find}.
+ #
+ # ## Example
+ # Page['/'].children.find(layout: 'default')
#
def except(by={})
self.class.new(reject do |page|
by.inject(true) { |b, (field, value)| b &&= (page.meta.send(field) == value) }
end)