Je voudrais exposer une fonction globale à tous les aspects de mon projet Ruby on Rails (modèles, vues et contrôleurs). Au départ, je pensais que je pouvais simplement ajouter :
def self.my_function
# Code here...
end
dans /config/application.rb et ensuite appeler :
Application::my_function
n'importe où dans mon application. Mais cela n'a pas fonctionné. J'ai donc fait quelques recherches sur Internet et il semble que je puisse exposer des fonctions globales :
- Pour mes contrôleurs dans /app/controllers/application_controller.rb
- Pour mes vues dans /app/helpers/application_helper.rb
- Pour mes modèles dans /lib/
Mais pas pour tous en même temps.
Quelqu'un peut-il me dire si ce que je veux est possible ?
J'aimerais également éviter autant que possible d'inclure des instructions, car le système est censé être accessible de n'importe où. Mais à ce stade, même l'utilisation d'instructions include serait acceptable si je pouvais définir la logique de cette fonction à un endroit central.