Tenho um plugin que utiliza a função TopicQuery.add_custom_filter.
Ele aplica meu filtro personalizado conforme o esperado apenas na visualização padrão dos tópicos exibidos na página inicial.
Percebi que isso ocorre porque, no arquivo topic_query.rb, dentro do método default_results, há uma chamada para aplicar meus filtros personalizados com:
result = apply_ordering(result, options)
Isso é ótimo, mas não é exatamente o que eu queria. Eu gostaria que esse filtro fosse aplicado a qualquer coisa que aparecesse na página /review. Não tenho certeza de como faria isso.
Alguém está familiarizado com essa parte do código?
Acho que errei ao começar a seguir esse caminho de consulta por tópico, pois parece que o reviewables nem usa essas funções de consulta por tópico, então não consigo aplicar um filtro personalizado dessa forma.
Também ainda estou um pouco confuso sobre quais são os parâmetros de apply_custom_filters. Será que results se refere a um hash Ruby de tópicos? E topic_query é apenas uma instância da classe?
Avançando, não tenho certeza se essa é a maneira correta de fazer isso, mas vou tentar descobrir como posso sobrescrever a função reviewables_controller#index para remover tópicos da lista de reviewables dependendo do usuário atual.