J'aimerai me lancer sur des projets en ruby (des programmes avec ou sans interface).
Y-a-t-il une architecture de dossier et fichier comme ruby on rails avec un gemfile etc ?
Car même après avoir vu les bases du ruby, je trouve très peu d'explication sur comment organiser les fichiers, un peu comme le mvc par exemple.

8 réponses


kubz
Réponse acceptée

C'est juste une bonne pratique pas de structure particulière, maintenant il est vrai qu'il y a toujours la même arborescence pour les gems, mais là c'est sûrement dû à la commande "bundle gem magem" qui te génère un dossier avec l'arborescence:

bundle gem toto                                                                                                                                                                                                        
Creating gem 'toto'...
      create  toto/Gemfile
      create  toto/.gitignore
      create  toto/lib/toto.rb
      create  toto/lib/toto/version.rb
      create  toto/toto.gemspec
      create  toto/Rakefile
      create  toto/README.md
      create  toto/bin/console
      create  toto/bin/setup

Après c'est aussi une structure que l'on retrouve dans les principaux "livres" notamment le plus connu : Learn Ruby the Hard Way
Pour la partie structure (mais c'est aussi la base d'une gem ;) )
[https://learnrubythehardway.org/book/ex46.html]()

kubz
Réponse acceptée

ayant besoin de refondre une app rails je suis tombé sur un article qui pourrait t'intéresser http://blog.makandra.com/2014/12/organizing-large-rails-projects-with-namespaces/
ca permet de penser differemment certaines choses (notamment les models).

Salut,

Non pas d'organisation magique, en dehors de rails c'est à toi de gérer ton arborescence.
pour les petits projets tu peux tout mettre dans le même dossier, sinon utilises une arborescence similaire à Rails, par exemple:
un dossier pour les models, un dossier pour une feature, une section de ton projet, un autre dossier pour une autre feature ou section etc, etc.

Je m'en doute bien, mais quand je regarde les divers projets ruby sur github je vois une architecture plus ou moins similère et j'aimerai savoir d'où ça vient pour l'utiliser comme il se dois.

Je te remercie beaucoup pour ton aide, je prend note sur se que tu m'a partager, encore merci :)

@kubz je crois que tu as mal publier ton lien, il pointe vers cette page meme, tu peux le republier stp :)
Sinon l'arborescence rails est sympa mais quand l'app grandi on se retrouve avec un dossier controlleur gigantesque!! (idem model et view) tu connais un moyen d'arranger l'arborescence rails?

On parle ici d'une arborescence ruby (sans rails) pour des projet purement en ruby.

@Raphael, j'ai update le lien et le revoici
c'est pour les projets rails assez gros : http://blog.makandra.com/2014/12/organizing-large-rails-projects-with-namespaces/