@jcoyne I couldn't think of a clean way to combine the current hash of where values with arbitrary query fragments like the gated discovery filters.  I think we could combine them if we make where_values into an array of query fragments and prebuild a fragment when a hash is passed in.  It looks like this is what ActiveRecord does: 
https://github.com/rails/rails/blob/master/activerecord/lib/active_record/relation/query_methods.rb#L558-L567
https://github.com/rails/rails/blob/master/activerecord/lib/active_record/relation/query_methods.rb#L917-L940