Quando è lanciato, Sinatra era 1% le dimensioni del suo principale concorrente. Ruby on Rails
Questo perché Sinatra è stato creato per essere una soluzione super-leggera per il mercato di Ruby, che era ed è ancora inondato con un sacco di quadri con enormi basi di codice.
Sinatra segue ancora questa filosofia oggi, fornendo un set base di caratteristiche che si trovano in quasi tutti i quadri in tutto, considerata la base indispensabile per qualsiasi progetto Web.
Questa dedizione alla sua base di codice luce ha reso Sinatra molto famoso nel mondo dello sviluppo Web, i suoi concetti di essere portata su varie altri linguaggi di programmazione come bene.
Cosa c'è di nuovo in questa versione:
- Remove duplicate richiede di Sinatra / base .
- Escape HTML nella pagina di errore 404.
- Refactor di chiamata di metodo in `flusso # close` e` # callback`.
- Dipende da ultima versione di Slim.
- Compatibilità Fix con inclinazione versione 2.
- problema di compatibilità con Fix Rack `pretty` metodo da ShowExceptions.
- Mostra data in base all'ora locale messaggi di eccezione.
- logo Fix sulle pagine di errore quando si utilizza Ruby 1.8.
- Aggiornamento suite di test per Minitest versione 5 e fissare Rubino 2.2 compatibilità.
Cosa c'è di nuovo nella versione 1.4.6:.
- Remove Duplicate richiede di Sinatra / base
- Escape HTML nella pagina di errore 404.
- Refactor di chiamata di metodo in `flusso # close` e` # callback`.
- Dipende da ultima versione di Slim.
- Compatibilità Fix con inclinazione versione 2.
- problema di compatibilità con Fix Rack `pretty` metodo da ShowExceptions.
- Mostra data in base all'ora locale messaggi di eccezione.
- logo Fix sulle pagine di errore quando si utilizza Ruby 1.8.
- Aggiornamento suite di test per Minitest versione 5 e fissare Rubino 2.2 compatibilità.
Cosa c'è di nuovo nella versione 1.4.3:.
- Migliorare la documentazione
- Esporre modello abbinato come ENV [& quot; sinatra.route & quot;] .
- avvertimento fisso su Ruby 2.0.
- Migliorata la corsa sottoinsieme di test in isolamento.
- Riordinare metodi privati / pubblici.
- Allentare versione dipendenza per rack, in modo che sia con Rails 3.2.
Cosa c'è di nuovo nella versione 1.4.2:
- mancante Accetta intestazione viene trattato come * / *.
- Migliorare la documentazione.
Cosa c'è di nuovo nella versione 1.4.0:.
- Aggiunto il supporto per collegare e scollegare le richieste
- Aggiunto il supporto per i modelli Yajl.
- Aggiunto il supporto per i modelli Rabl.
- Aggiunto il supporto per i modelli Wlang.
- Aggiunto il supporto per i modelli Stylus.
Cosa c'è di nuovo nella versione 1.3.3:.
- documentazione migliorata li>
- Non è più modificare il percorso di carico.
- Quando mantenendo un flusso aperto, istituito richiamata / errback correttamente per trattare con i clienti di chiudere la connessione.
- Corretto errore in cui avere un parametro di query e un param URL con lo stesso nome avrebbero concatenare i due valori.
- Prevenire duplicato uscita registro quando l'applicazione è già avvolto in un `Rack :: CommonLogger`.
- Risolto il problema per cui `Rack :: Link` e Rails impedivano di streaming a tempo indeterminato.
- non causano più avvertimenti durante l'esecuzione rubino con `-w`.
- le richieste di testa su file statici relazione non è più un Content-Length di 0, ma invece la lunghezza corretta.
- Quando la protezione contro attacchi CSRF, rilasciare la sessione anziché rifiutare la richiesta.
Cosa c'è di nuovo nella versione 1.3.2:
- Impostazione `a` logging` quelle negative eviterà la creazione di `Rack :: NullLogger`.
- params specifici del percorso sono ora disponibili nel blocco passato a #stream.
- bug fix in cui il rendering di un secondo modello nella stessa richiesta, dopo il primo ha sollevato un'eccezione, saltato il layout di default.
- Fix bug in cui il parametro escape ottenuto attivato quando disattivazione di una protezione diversa.
- Fix regressione:. Filtri, senza uno schema possono ora di nuovo manipolare il hash params
- Aggiunto directory esempi.
- documentazione migliorata.
- Supporto MagLev migliorata.
Cosa c'è di nuovo nella versione 1.3.1:
- Supporta l'aggiunta di più di un callback per l'oggetto corrente .
- Fix per ciclo infinito quando streaming su 1.9.2 con sottile da un'applicazione modulare.
Cosa c'è di nuovo nella versione 1.3.0.e:.
- Aggiunto il supporto per le richieste HTTP PATCH
Ciò che è nuovo nella versione 1.2.6:
- fissi delegazione rotto, i test backport delegazione Sinatra 1.3 .
Cosa c'è di nuovo nella versione 1.2.2 / 1.3.0.a:
- Il `: fornisce = & # X3e; : Condizione js` ora sia `application / javascript` e` text / javascript`. Il `: fornisce = & # X3e; : Condizione xml` ora sia `application / xml` e` text / xml`. L'intestazione `Content-Type` è impostato di conseguenza. Se il cliente accetta sia, la versione `application / *` è preferibile, dal momento che i / * `` versioni del testo sono obsoleti.
- La condizione `provides` ora gestisce i caratteri jolly in` Accept` intestazioni correttamente. Così `: fornisce = & # X3e; : Html` corrisponde `text / html`,` text / * `e` * / * ` .
- Durante l'analisi `intestazioni Accept`,` preferenze Content-type` sono onorati in base alla RFC 2616 sezione 14.1.
- URI passati al helper `url` o` redirect` può ora usare qualsiasi schema di essere identificato come assoluto URI, non solo `http` o` https`.
- Maniglie `stringhe Content-type` che contengono già i parametri correttamente in` content_type` (esempio: `content_type & quot; text / plain; charset = utf-16 & quot;`) .
- Se è definito un percorso con un pattern vuoto ( `get (& quot; & quot;) {...}`) le richieste con un info percorso vuoto corrisponde a questo percorso, invece di & quot; / & quot;.
- In ambiente di sviluppo, durante l'esecuzione in un percorso nidificato, gli URI di immagini sulle pagine di errore sono impostati correttamente.
Cosa c'è di nuovo nella versione 1.2.1:
- Utilizzare un segreto sessione generata quando si utilizza `consentire: sessions`.
- Risolto un bug per cui è stato utilizzato il tipo di contenuto sbagliato se nessun tipo di contenuto è stato impostato e un motore di template è stato utilizzato con un motore diverso per il layout con diversi tipi di contenuto predefinita, dire meno incorporato in Slim.
- traduzioni README migliorata.
Cosa c'è di nuovo nella versione 1.2.0.c:
- aggiunto `slim` metodo di rendering per il rendering modelli Slim.
- Il metodo di rendering markaby` `ora consente il superamento di un blocco, rendendo possibile l'utilizzo in linea. Richiede Tilt 1.2 o più recente.
- Tutti rendono metodi ora prendere un `opzione: layout_engine`, che permette di utilizzare un layout in una lingua modello diverso. Ancora più utile che direttamente usando questo ( `Erb: indice,: layout_engine = & # X3e;: haml`) è l'impostazione di questo mondo per un motore di template che altrimenti non supporta i layout, come Markdown o tessile (` set: Markdown,: layout_engine = & # X3e;:. erb`)
- Prima e dopo i filtri supportano ora le condizioni, sia con che senza i modelli ( `prima '/ api / *',: agente = & # X3e; / Songbird /`).
- Aggiunto un metodo `url` helper che costruisce URL assoluti. Affronta con proxy inversi e gestori Rack correttamente. Alias a `to`, in modo da poter scrivere` il reindirizzamento ( '/ foo') `.
- Se in esecuzione su 1.9, modelli per percorsi e filtri supportano ora cattura nome: `ottengono (% R {? / Hi / (& # x3c; nome & # X3e; [^ / #?] +)}) {& Quot; Hi # {params [ 'name']} & quot; } `.
- Tutti i metodi di rendering ora prendere un `opzione: scope`, che li rende in un altro contesto. Si noti che aiutanti e variabili di istanza non saranno disponibili se si utilizza questa funzione.
- Il comportamento di `redirect` può ora essere configurato con` `absolute_redirects` e prefixed_redirects`.
- `send_file` ora consente sovrascrivendo il Last-Modified, che per default è mtime del file, passando un`:. Opzione last_modified`
- È possibile utilizzare il proprio metodo di modello di ricerca attraverso la definizione di `find_template`. Questo consente, tra l'altro, utilizzando più di una cartella viste.
- In gran parte migliorato la documentazione.
- Migliorata la gestione degli errori.
- Vai mancante correttamente i motori di modello in test.
- Sinatra ora fornito con un Gemfile per le dipendenze di sviluppo, dal momento che facilita sostenere diverse piattaforme, come JRuby.
Cosa c'è di nuovo nella versione 1.0:
- i gestori del percorso, prima di filtri, i modelli, le mappature di errore, e middleware sono ora risolti dinamicamente la gerarchia di ereditarietà quando necessario invece di duplicare la versione della superclasse quando viene creata una nuova sottoclasse Sinatra :: Base.
- Applicazioni Sinatra possono ora essere eseguiti con un `-o & # x3c; indi & # X3e;.` Argomento per specificare l'indirizzo di legarsi a
- Nuovo request.secure? Metodo per il controllo di una connessione SSL.
- Nuove 'erubis' per il rendering modello ERB con Erubis.
- modelli di ERB, Erubis, e Haml sono ora compilate la prima volta che vengono resi invece di essere stringa eval'd ad ogni invocazione.
- Sinatra ora utilizza Tilt per il rendering dei modelli.
metodo di supporto
I commenti non trovato