Class: Hyde::Set
- Inherits:
-
Array
- Object
- Array
- Hyde::Set
- Defined in:
- lib/hyde/set.rb
Instance Method Summary collapse
-
#except(by = {}) ⇒ Object
Filters a set by removing items matching the given metadata criteria.
-
#find(by = {}) ⇒ Object
Filters a set by given metadata criteria.
Instance Method Details
#except(by = {}) ⇒ Object
Filters a set by removing items matching the given metadata criteria. This is the opposite of #find.
17 18 19 20 21 |
# File 'lib/hyde/set.rb', line 17 def except(by={}) self.class.new(reject do |page| by.inject(true) { |b, (field, value)| b &&= (page..send(field) == value) } end) end |
#find(by = {}) ⇒ Object
Filters a set by given metadata criteria.
8 9 10 11 12 |
# File 'lib/hyde/set.rb', line 8 def find(by={}) self.class.new(select do |page| by.inject(true) { |b, (field, value)| b &&= (page..send(field) == value) } end) end |