Git hash as RAILS_ASSET_ID. Где кешировать? - PullRequest
0 голосов
/ 12 января 2010

Я хочу использовать 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

Это работает нормально, но я хочу где-то кэшировать хеш для файлов. Я мог бы использовать переменную экземпляра, но я не уверен, очищены ли они по запросам. Куда я могу положить это, чтобы оно сохранялось после запроса?

1 Ответ

1 голос
/ 17 января 2010

Кажется, что переменная класса - лучший способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...