Je souhaite utiliser le hachage git de fichiers en tant qu'identique. Pour cela j'ai créé un initialiseur comme ci-dessous.Le hachage Git comme RAILS_ASSET_ID. Où mettre en cache?
require 'grit'
module ActionView
module Helpers
module AssetTagHelper
def rewrite_asset_path(source)
asset_id = rails_asset_id(source)
if asset_id.blank?
source
else
"/s/#{asset_id}" + source
end
end
def rails_asset_id(source)
repo = Grit::Repo.new('.')
ENV["RAILS_ASSET_ID"] ||
repo.log('master', "#{RAILS_ROOT}/public/#{source}", :max_count => 1).first.id_abbrev rescue ""
end
end
end
end
Cela fonctionne très bien, mais je veux mettre en cache le hachage des fichiers quelque part. Je pourrais utiliser une variable d'instance mais je ne suis pas sûr si ceux-ci sont nettoyés par requête. Où puis-je mettre cela afin qu'il persiste après la demande?