Dino catalog2

FilteringEnumerable library: Wraps Enumerables with filters against reader methods, providing filtered views of enumerable contents
TokenSelectable: Mixin provides a class with factory method returning instances corresponding to input tokens
Dinodex library: Data domain of dinosaurs, including constrained sets of data items describing characteristics dinosaurs that can recognize input tokens corresponding to their value and print themselves for output
Dinodex::CSVLoader: CSV file processor constructing dinosaurs
Dinodex::CommandLineInterface: User input  processor that builds a filter to apply against dinosaur list

example:

dino_catalog.rb -f dinodex.csv -d continent=Africa -f african_dinosaurs.csv -l -j -p cretaceous

At minimum you should be purposely returning false instead of nil. Also the method should probably be named `carnivorous?` as it appears to be usable only as a boolean. Simply put, it should probably look more like this:


```ruby
def carnivorous?
  LIST_OF_CARNIVOROUS_DIETS.include? diet
end

def herbivorous?
  !carnivorous?
end
```
I don't know if a dinosaur's status as an omnivore matters, clearly that would break the mold here. regardless, it would be cleaner to follow this pattern than what you've implemented.