Question concernant la meilleure pratique de Rails: Où placer le code partagé et comment sera-t-il chargé?
-
08-07-2019 - |
Question
Les guides de navigation et les pages Web que j'ai suivis sont tous liés à des projets très simples dans le but de fournir des exemples complets. Je m'éloigne de la petite application de projet pour entrer dans un domaine de clients non-navigateurs et je dois décider où placer du code partagé par toutes les parties concernées.
Le client non-navigateur est un script qui s'exécute sur toute machine pouvant se connecter à la base de données. Les clients du navigateur écrivent des commandes dans la base de données, que le script examine et décide quoi faire. Une fois terminé, le script écrit ensuite son résultat. Le script n'est pas lancé par le serveur RoR, mais a accès à sa structure de répertoires.
Où serait le meilleur endroit pour habiter le code partagé et comment le chargeur RoR le gérerait-il? Le code en question n'appartient pas vraiment à un modèle, sinon je l'insérerais et en finirais avec.
La solution
Je mettrais le code partagé dans le répertoire / lib
du projet Rails et envisagerais d'en faire une tâche Rake personnalisée.
Autres conseils
Cela dépend vraiment de votre utilisation de ce code partagé. Si vous l'utilisez partout, jetez-le dans le dossier lib (comme cela a déjà été indiqué ici). Si vous ne l'utilisez que dans quelques emplacements, vous pouvez envisager d'en créer un plug-in et de le charger uniquement dans les emplacements qui l'utilisent. C'est bien de ne charger que ce dont vous avez besoin (une des raisons pour lesquelles j'aime Merb).