Commit f7f6acee0b5beab61ea6d3e7996ce93fd0a4b22f

Authored by Dmitriy Zaporozhets
1 parent e36c0c14

Lets cache branch_names, tag_names for repo

Showing 1 changed file with 14 additions and 0 deletions   Show diff stats
app/models/repository.rb
... ... @@ -33,6 +33,18 @@ class Repository
33 33 commits
34 34 end
35 35  
  36 + def branch_names
  37 + Rails.cache.fetch(cache_key(:branch_names)) do
  38 + raw_repository.branch_names
  39 + end
  40 + end
  41 +
  42 + def tag_names
  43 + Rails.cache.fetch(cache_key(:tag_names)) do
  44 + raw_repository.tag_names
  45 + end
  46 + end
  47 +
36 48 def method_missing(m, *args, &block)
37 49 raw_repository.send(m, *args, &block)
38 50 end
... ... @@ -47,6 +59,8 @@ class Repository
47 59  
48 60 def expire_cache
49 61 Rails.cache.delete(cache_key(:size))
  62 + Rails.cache.delete(cache_key(:branch_names))
  63 + Rails.cache.delete(cache_key(:tag_names))
50 64 end
51 65  
52 66 def cache_key(type)
... ...