Я хочу использовать git-хэш файлов в качестве идентификатора ресурса.
Для этого я создал инициализатор, как показано ниже.
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
Это работает нормально, но я хочу где-то кэшировать хеш для файлов. Я мог бы использовать переменную экземпляра, но я не уверен, очищены ли они по запросам. Куда я могу положить это, чтобы оно сохранялось после запроса?