You can use filter_object to write classes whose instances encapsulate your filter logic, so you can have testable code and cleaner controllers
Cássio Marques
gem "filter_object", "~> 0.0.1"