module DinosaurCatalog::Filters

Public Instance Methods

filter_bipeds(biped_terms) click to toggle source
# File lib/dinosaur_catalog/filters.rb, line 3
def filter_bipeds(biped_terms)
  dinosaurs.select { |dinosaur| biped_terms.include?(dinosaur.walking.downcase) }
end
filter_carnivores(carnivore_terms) click to toggle source
# File lib/dinosaur_catalog/filters.rb, line 7
def filter_carnivores(carnivore_terms)
  dinosaurs.select { |dinosaur| carnivore_terms.include?(dinosaur.diet.downcase) }
end
filter_periods(period_terms) click to toggle source
# File lib/dinosaur_catalog/filters.rb, line 11
def filter_periods(period_terms)
  periods_in_regex_array = Regexp.union(period_terms)
  dinosaurs.select { |dinosaur| dinosaur.period.downcase.match(periods_in_regex_array) }
end
filter_sizes(size_terms) click to toggle source
# File lib/dinosaur_catalog/filters.rb, line 16
def filter_sizes(size_terms)
  case
    when size_terms.include?('big') then dinosaurs.select(&:big?)
    when size_terms.include?('small') then dinosaurs.select(&:small?)
  end
end