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)