Rails utilizza in modo esteso Rack; a testimonianza di ciò per la versione 2.3.x esiste un file denominato middlewares.rb all’interno della gemma actionpack che elenca i middleware implementati da Rails:
use "Rack::Lock", :if => lambda { !ActionController::Base.allow_concurrency } use "ActionController::Failsafe" use lambda { ActionController::Base.session_store }, lambda { ActionController::Base.session_options } use "ActionController::ParamsParser" use "Rack::MethodOverride" use "Rack::Head" use "ActionController::StringCoercion"
Rails fornisce inoltre un set di API con le quali è possibile aggiungere e rimuovere anelli a questa catena; ad esempio se si volesse agganciare la classe Reverse si potrebbe inserire all’interno del file environment.rb
dell’applicazione (nel blocco Rails::Initializer.run do |config|
):
config.middleware.use Reverse
Implementando questa piccola modifica nel file di configurazione di un applicazione Rails già esistente ogni pagina HTML prodotta da tale progetto verrebbe presentata al browser con ogni contenuto testuale invertito.
inserisci la tua e-mail nel box qui sotto: