Module: ArrayCollection::ArrayComponents::Filtering
- Included in:
- CollectionArray
- Defined in:
- lib/array_collection/array_components/filtering.rb
Overview
rubocop:disable Style/Documentation
Instance Method Summary collapse
Instance Method Details
#filter(array, &block) ⇒ Object
6 7 8 |
# File 'lib/array_collection/array_components/filtering.rb', line 6 def filter(array, &block) array.select(&block) end |
#where(array, *args) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/array_collection/array_components/filtering.rb', line 10 def where(array, *args) if args.size == 2 key, value = args array.select { |item| item[key] == value } elsif args.size == 3 key, operator, value = args array.select { |item| ArrayCollection::CollectionFilter.apply_operator(operator, item[key], value) } else raise ArgumentError, "Invalid number of arguments" end end |
#where_not_nil(array) ⇒ Object
22 23 24 |
# File 'lib/array_collection/array_components/filtering.rb', line 22 def where_not_nil(array) array.compact end |