redmine 1.2 / rails 2.3.11では、リポジトリのマークダウンファイルをhtmlとしてレンダリングしています(redmine_markdown_extra_viewerのように)。現在、結果をキャッシュしようとしています。これは、コミットごとに更新する必要があります。
だから私はリポジトリの変更をフェッチするgitフックを持っています、そして私はそれが対応するキャッシュエントリもクリアすることを望みます。
キャッシュの生成(RepositoriesController :: entryオーバーライド内):
cache_key =['repositories_md', @project.id.to_s, @path.to_s].join('/')
puts cache_key
@content = cache_store.fetch cache_key do
Kramdown::Document.new(@repository.cat(@path, @rev)).to_html
end
render :action => "entry_markdown"
キャッシュをクリアする必要があるが、効果がないフック:
# This is ok
ruby script/runner "Repository.fetch_changesets"
# This not
ruby script/runner "Rails.cache.delete_matched(/repositories_md\/.*/)"
だからそれはうまくいかず、それを実装するために正しい方向に進んだかどうかさえわかりません。どんな入力でも大歓迎です!