Commit 5baac66992a1a4e3df4f9873632a9a083e52b92c

Authored by Dmitriy Zaporozhets
1 parent 63e532ef

More info (like 10 branches, 5 tags) at project show page

app/models/repository.rb
... ... @@ -33,6 +33,18 @@ class Repository
33 33 commits
34 34 end
35 35  
  36 + def round_commit_count
  37 + if commit_count > 10000
  38 + '10000+'
  39 + elsif commit_count > 5000
  40 + '5000+'
  41 + elsif commit_count > 1000
  42 + '1000+'
  43 + else
  44 + commit_count
  45 + end
  46 + end
  47 +
36 48 def branch_names
37 49 Rails.cache.fetch(cache_key(:branch_names)) do
38 50 raw_repository.branch_names
... ... @@ -45,8 +57,10 @@ class Repository
45 57 end
46 58 end
47 59  
48   - def method_missing(m, *args, &block)
49   - raw_repository.send(m, *args, &block)
  60 + def commit_count
  61 + Rails.cache.fetch(cache_key(:commit_count)) do
  62 + raw_repository.raw.commit_count
  63 + end
50 64 end
51 65  
52 66 # Return repo size in megabytes
... ... @@ -61,6 +75,7 @@ class Repository
61 75 Rails.cache.delete(cache_key(:size))
62 76 Rails.cache.delete(cache_key(:branch_names))
63 77 Rails.cache.delete(cache_key(:tag_names))
  78 + Rails.cache.delete(cache_key(:commit_count))
64 79 Rails.cache.delete(cache_key(:graph_log))
65 80 end
66 81  
... ... @@ -75,6 +90,10 @@ class Repository
75 90 "#{type}:#{path_with_namespace}"
76 91 end
77 92  
  93 + def method_missing(m, *args, &block)
  94 + raw_repository.send(m, *args, &block)
  95 + end
  96 +
78 97 def respond_to?(method)
79 98 return true if raw_repository.respond_to?(method)
80 99  
... ...
app/views/projects/show.html.haml
... ... @@ -37,9 +37,18 @@
37 37  
38 38 %hr
39 39 %p
40   - %p Repo Size: #{@project.repository.size} MB
41   - %p Created on: #{@project.created_at.stamp('Aug 22, 2013')}
42   - %p Owner: #{link_to @project.owner_name, @project.owner}
  40 + %p
  41 + %span.light Repo size is
  42 + #{@project.repository.size} MB
  43 + %p
  44 + %span.light Created at
  45 + #{@project.created_at.stamp('Aug 22, 2013')}
  46 + %p
  47 + %span.light Owned by
  48 + - if @project.group
  49 + #{link_to @project.group.name, @project.group} Group
  50 + - else
  51 + #{link_to @project.owner_name, @project.owner}
43 52 - if @project.forked_from_project
44 53 %p
45 54 %i.icon-code-fork
... ... @@ -50,3 +59,11 @@
50 59 %hr
51 60 = link_to @project.gitlab_ci_service.builds_path do
52 61 = image_tag @project.gitlab_ci_service.status_img_path, alt: "build status"
  62 +
  63 + %hr
  64 + %p
  65 + = link_to pluralize(@repository.round_commit_count, 'commit'), project_commits_path(@project)
  66 + %p
  67 + = link_to pluralize(@repository.branch_names.count, 'branch'), project_repository_path(@project)
  68 + %p
  69 + = link_to pluralize(@repository.tag_names.count, 'tag'), tags_project_repository_path(@project)
... ...