Layout dei progetti ruby

Buongiorno a tutti
Esistono delle linee guida da seguire per impostare un progetto ruby
(in particolare sinatra)?
Quello che intendo ci sono convenzioni che invitano a mettere il
codice in una certa cartella (ad esempio java usa la convenzione
com.nomeazienda…)?

grazie.

non so se esistono convenzioni precise, di norma cerco di seguire un po’
di buon senso e guardo come sono organizzati gli altri progetti (es: la
struttura di default per rails)

puoi seguire una struttura tipo questa:

  • config/ # => tutti i config ed il codice per inizializzare l’app

  • views/* # => c’ poco da spiegare :stuck_out_tongue:

  • lib/ # => per i componenti aggiuntivi

  • app/ # => se proprio non sai dove mettere il codice relativo all’app
    (es: models e moduli con le azioni di sinatra

  • spec/test # => il solito :stuck_out_tongue:

  • Gemfile, config.ru, etc # => tutto quello che occorre per
    pacchettizzarla e/o farla partire con rack

sono comunque curioso di sapere altri pareri :wink:

A.

Il giorno 25/set/2012, alle ore 17:47, Emanuele DelBono
[email protected] ha scritto:

Ciao Ema,

no, niente come i progetti di VS in C# se quello che stai
cercando.Per sinatra ho visto usare le stesse cartelle di rails (cio
app/models, app/views), tutto in root (models/ , views/) ma c’ in giro
davvero un po’ di tutto (GitHub - sr/git-wiki: A quick & dirty git-powered Sinatra wiki per esempio ha
tutto in un unico file).

HTHAndrea

Da: [email protected]
A: “ruby-it” [email protected]
Cc:
Data: Tue, 25 Sep 2012 17:47:56 +0200
Oggetto: [ruby-it] Layout dei progetti ruby

Ciao Andrea (che fine hai fatto?).

Grazie a tutti, diciamo che si usa il buon senso.:slight_smile:

In molti casi ho visto usare una cartella lib per il codice e una test
per i test. Ma non mi torna perch lib…forse perch era una gemma?

2012/9/25 Andrea D. [email protected]:

Personalmente le convenzioni di Rails per me funzionano, non condivido
invece i file con pi classi.
Le rare volte che ci ho provato si sono rivelate pi lavoro dei file
singoli!

Inviato da iPhone

Il giorno 25/set/2012, alle ore 22:03, Emanuele DelBono
[email protected] ha scritto:

2012/9/25 Andrea P. [email protected]:

  • app/ # => se proprio non sai dove mettere il codice relativo all’app (es:
    models e moduli con le azioni di sinatra

  • spec/test # => il solito :stuck_out_tongue:

  • Gemfile, config.ru, etc… # => tutto quello che occorre per pacchettizzarla e/o
    farla partire con rack

sono comunque curioso di sapere altri pareri :wink:

personalmente:

views/
tests/
models.rb
controllers.rb
config.rb

finché un’app piccina i single file sono più comodi :slight_smile:


twitter: @riffraff
blog (en, it): www.riffraff.info riffraff.blogsome.com
work: circleme.com

2012/9/25 Luca P. [email protected]:

In molti casi ho visto usare una cartella lib per il codice e una test
per i test. Ma non mi torna perch lib…forse perch era una gemma?

non solo gem esterne, che certa roba non necessariamente
controller o model, e quindi la metti altrove.

Che ne so, magari hai un set di estensioni delle classi base (tipo
String#title_case?) o qualche classe che non strettamente parte del
modello o del controller anche se la usi in uno dei due (es: un
SortedSet probabilmente non una cosa specifica del tuo dominio come
potrebbe essere User), o semplicemente una mini libreria che ti porti
dietro che non specifica del progetto (tipo un
SyntaxHighlightingMarkdownProcessor).

Anche se alla fine si pu dire che sempre parte del “model”.
Non penso che la polizia del buon codice ti verr dietro se metti
qualcosa in model/ che potresti mettere in lib/ :slight_smile:


twitter: @riffraff
blog (en, it): www.riffraff.info riffraff.blogsome.com
work: circleme.com

2012/9/26 Mauro [email protected]:

views per i partials condivisi.
In rails non esistono i package come per java, questo potrebbe essere
un pro o un contro, io uso anche grails e quando le classi diventano
tante e’ comodo organizzarle in packages.

dipendentemente da quel che apprezzi nei package di java, possono
andare bene i moduli di ruby, o annidamento dentro una classe, rails
li gestisce ragionevolmente bene (e.g. usare modelli User,
User::Setting, User::Credentials )


twitter: @riffraff
blog (en, it): www.riffraff.info riffraff.blogsome.com
work: circleme.com

2012/9/25 Emanuele DelBono [email protected]:

Buongiorno a tutti
Esistono delle linee guida da seguire per impostare un progetto ruby
(in particolare sinatra)?
Quello che intendo ci sono convenzioni che invitano a mettere il
codice in una certa cartella (ad esempio java usa la convenzione
com.nomeazienda…)?

Io ho sempre usato le convenzioni di default di rails, non ho mai
cambiato nulla se non aggiungere una directory “application” sotto
views per i partials condivisi.
In rails non esistono i package come per java, questo potrebbe essere
un pro o un contro, io uso anche grails e quando le classi diventano
tante e’ comodo organizzarle in packages.