Tengo un plugin que utiliza la función TopicQuery.add_custom_filter.
Aplica mi filtro personalizado como se esperaba, pero solo en la vista predeterminada de los temas mostrados en la página de inicio.
Noté que esto se debe a que, en el archivo topic_query.rb, dentro del método default_results, hay una llamada para aplicar mis filtros personalizados con:
result = apply_ordering(result, options)
Esto es genial, pero no es exactamente lo que quería. Deseaba que ese filtro se aplicara a todo lo que aparezca en la página /review. No estoy seguro de cómo hacerlo.
¿Alguien está familiarizado con esta parte del código?
Supongo que me equivoqué al empezar a seguir este camino de consulta de temas, porque parece que reviewables ni siquiera utiliza esas funciones de consulta de temas, por lo que no puedo aplicar un filtro personalizado de esta manera.
También sigo un poco confundido sobre cuáles son los parámetros de apply_custom_filters. ¿Se refieren los resultados a un hash de Ruby de temas? ¿Y es topic_query simplemente una instancia de la clase?
De cara al futuro, no estoy seguro de si esta es la forma correcta de hacerlo, pero intentaré averiguar cómo puedo sobrescribir la función reviewables_controller#index para eliminar temas de la lista de reviewables según el usuario actual.