diff --git a/app/models/repository.rb b/app/models/repository.rb index d45ec9bd575f500e2359045a92fe18cb6e9f93a0..daf176576adab1db315dbd5571969546cd2e6668 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)