From f7f6acee0b5beab61ea6d3e7996ce93fd0a4b22f Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> Date: Wed, 15 May 2013 15:22:34 +0300 Subject: [PATCH] Lets cache branch_names, tag_names for repo --- app/models/repository.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/models/repository.rb b/app/models/repository.rb index d45ec9bd575f5..daf176576adab 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -33,6 +33,18 @@ def commits_between(target, source) commits end + def branch_names + Rails.cache.fetch(cache_key(:branch_names)) do + raw_repository.branch_names + end + end + + def tag_names + Rails.cache.fetch(cache_key(:tag_names)) do + raw_repository.tag_names + end + end + def method_missing(m, *args, &block) raw_repository.send(m, *args, &block) end @@ -47,6 +59,8 @@ def size def expire_cache Rails.cache.delete(cache_key(:size)) + Rails.cache.delete(cache_key(:branch_names)) + Rails.cache.delete(cache_key(:tag_names)) end def cache_key(type) -- GitLab