Carlos Brando

Nome do Jogo

Edge Rails: Cache e Prototype 1.6.0.1

375147944_49f541ad21.jpg

O time de desenvolvimento do Rails continua forte nas alterações para torná-lo compatível com o Ruby 1.9, mas isto não significa que o resto será deixado de lado. Como vocês verão nas alterações relacionadas abaixo muita coisa está sendo feita para melhorar o sistema de cache e também o código como um todo. Vamos as últimas alterações:

Code refactoring

Foi feito um refactoring no ActionController::Verification e aproveitaram para melhorar a documentação.

Cache

David também aproveitou para mudar algumas coisas nas classes de cache.

Todos os métodos fragment_cache_key agora retornam por padrão o namespace 'view/' na frente.

Todos os caching stores foram retirados de ActionController::Caching::Fragments:: e agora estão em ActiveSupport::Cache::. Neste caso se você faz referência a um store, como ActionController::Caching::Fragments::MemoryStore, por exemplo, será necessário alterar sua referência para ActiveSupport::Cache::MemoryStore.

ActionController::Base.fragment_cache_store deixa de existir e dá lugar à ActionController::Base.cache_store.

Foi incluído no ActiveRecord::Base o método cache_key para facilitar o armazenamento em cache de Active Records pelas novas bibliotecas ActiveSupport::Cache::*. Este método funciona assim:

>> Product.new.cache_key
=> "products/new"
>> Product.find(5).cache_key
=> "products/5"
>>Person.find(5).cache_key
=> "people/5-20071224150000"

Foi incluído o ActiveSupport::Gzip.decompress/compress para facilitar o wrapper para o Zlib.

Agora você pode usar entre as opções de environment o config.cache_store para informar o local padrão de armazenamento do cache. Vale lembrar que se o diretório tmp/cache existir o padrão é o FileStore, caso contrário o MemoryStore é usado. Você pode configurar das seguintes formas:

config.cache_store = :memory_store
config.cache_store = :file_store, "/path/to/cache/directory"
config.cache_store = :drb_store, "druby://localhost:9192"
config.cache_store = :mem_cache_store, "localhost"
config.cache_store = MyOwnStore.new("parameter")

Prototype e script.aculo.us

O Rails passa a usar a partir de agora a versão 1.6.0.1 do Prototype. Isto serve como um preparatório para a versão 1.8.1 do script.aculo.us.

Comments