Ruby 1.8.7 e Rails 2.1

RailsConf 2008 passerà alla storia per i molti annunci importanti. Ad esempio, l’annuncio ufficiale circa il nuovo traguardo di IronRuby, che è finalmente in grado di servire semplici richieste con Rails. Un’altra star indiscussa che farà parlare di sé, è MagLev, un’implementazione da parte dell’azienda Gemstone, che ha stupito tutti con dei benchmark che dimostrano una velocità di esecuzione di gran lunga maggiore a quella di MRI (Matz Ruby Interpreter). Come se non bastasse, proprio oggi sono state rilasciate la nuova versione di Ruby (1.8.7) e quella di Rails (2.1).

Ruby 1.8.7 è una release importante perché, al di là dei soliti bugfix e miglioramenti in termini di prestazioni, include diverse feature della release 1.9. In particolare, le classi Array e Enumerable::Enumerator sembrano aver ricevuto alcune tra le più utili aggiunte. Una lista completa delle funzionalità incorporate, è disponibile per i più curiosi.

Rails 2.1 racchiude l’operato di 1400 contributor e 6 mesi di lavoro. Il risultato è un giusto mix di bugfix ed alcune novità. Tra le maggiori feature introdotte dalla release, abbiamo un migliorato supporto per le Time Zone ed il caching,  update parziali in ActiveRecord, la possibilità di specificare quali gemme e versioni sono richieste dalla nostra applicazione, e un sistema di migrazioni che si basa su timestamp piuttosto che su valori incrementali a partire da uno. Link a delle risorse utili per iniziare a lavorare con queste funzionalità, sono disponibili nell’annuncio ufficiale.

About Antonio Cangiano

Antonio lavora come Software Engineer & Technical Evangelist presso la IBM in Canada. È inoltre il direttore di Stacktrace.it, un internet marketing strategist, imprenditore del web, serial blogger, e autore di un paio di libri in inglese (recentemente Technical Blogging.) Puoi dare un'occhiata ai suoi progetti sulla sua homepage e seguendolo su Twitter.

Comments

  1. Bene, ci volevano proprio queste novità, ci stavamo proprio chiedendo cosa aspettassero per la nuova versione di rails!

  2. Ciao,

    sto studiando Rails grazie alla beta di questo manuale (che vi consiglio): http://pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition

    C’è una cosa che ancora non ho capito… che criterio utilizza ActiveRecord per decidere il nome da dare ad una classe relativa ad una tabella?

    Faccio l’esempio: ho una tabella che si chiama “products” ed il relativo model si chiama “product” (al singolare). Semplicemente viene troncata la “s” in fondo? E se la tabella la chiamavo “Articoli”, lui come avrebbe chiamato il model?

    Il controller per lo meno viene chiamato come la tabella, aggiungendo in fondo “_controller.rb”, e fin qui è abbastanza chiaro.

    Spero mi sappiate dare delucidazioni :)

    Grazie in anticipo!

  3. Ciao Andrea,

    ActiveRecord non usa degli strumenti per decidere il nome della classe partendo dalla tabella, ma, al contrario, sceglie il nome della tabella partendo da quello della classe.

    Es.

    class Friend -> table friends
    class Person -> table people
    .
    .

    Ovviamente questo metodo funziona correttamente solo per la lingua inglese, Rails infatti non implementa delle regole per determinare il plurare delle lingue italiane.

    Se hai esigenze diverse puoi utilizzare “set_table_name” per settare il nome della tabella:

    class Amico < ActiveRecord::Base
    set_table_name "amici"
    end

    Ovviamente è preferibile seguire la convenzione ed utilizzare nomi inglesi singolari per i modelli e inglesi plurali per le tabelle.

    Se hai altre domande ti consiglio di iscriverti alla mailing lista italiana di ruby, ruby-it (http://ruby-it.org/), che è sicuramente un posto più adeguato di stacktrace a domande di questo tipo.

  4. Ho un quesito che non m’è riuscito di trovare in rete.
    Ho dei valori predefiniti per un campo (ad esempio: “personal”, “work”)
    E’ possibile impostare questi valori di default in una select, non forzando i valori nella view ma nel model?

Policy per i commenti: Apprezzo moltissimo i vostri commenti, critiche incluse. Per evitare spam e troll, e far rimanere il discorso civile, i commenti sono moderati e prontamente approvati poco dopo il loro invio.