Avete visto che figa la nuva fìciur che c’è in rails2? In pratica script/performance/request permette di eseguire uno scriptino che simula un’interazione dell’utente effettuandone il profiling.

Ora, vi invito a guardare il changelog, che mostra questo fantastico esempio;

    $ cat login_session.rb
    get_with_redirect '/'
    say \"GET / => #{path}\"
    post_with_redirect '/sessions', :username => 'john', :password => 'doe'
    say \"POST /sessions => #{path}\"
    $ ./script/performance/request -n 10 login_session.rb

Ora, cosa c’è che non va in questo eempio, diranno i miei piccoli lettori? Quello che non va in tutti gli esempi che ci sono in rails dalla versione 1.2 in poi, il fatto che non funziona.

Perché? Semplicemente perché post_with_redirect e get_with_redirect non esistono. say, d’altro canto, è un puts inutuile e non si capisce perché ci sia, forse perché a jeremy kemper piace molto perl6.

I dati, che verranno generati anonimamente nella directory tmp/ del vostro progetto, senza che ci sia modo di saperlo, sono d’altronde i normali dati di ruby-prof, il che significa che vi mostreranno come il 99% del tempo sia speso da rails per definire dei metodi. Sigh sob. Ah e ad ogni esecuzione request si lamenta di non trovare un file descriptor per la console (?) .

Mi chiedo che fine abbia fatto quella pulizia e precisione che c’era in rails pre 1.0 :/