esta lógica não ficava melhor no proprio model, como um scope por exemplo? (ou class méthod, visto que os scopes são quase proibidos vá)

e o mesmo para as experiences mais abaixo