diff --git a/app/models/repository.rb b/app/models/repository.rb index 58130700571d7f38d1de3fca02c8ef98e3dff515..1255b8145339854d67fd112100925ba8648a0b32 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -133,6 +133,7 @@ class Repository Rails.cache.delete(cache_key(:tag_names)) Rails.cache.delete(cache_key(:commit_count)) Rails.cache.delete(cache_key(:graph_log)) + Rails.cache.delete(cache_key(:readme)) end def graph_log @@ -159,4 +160,10 @@ class Repository def blob_at(sha, path) Gitlab::Git::Blob.find(self, sha, path) end + + def readme + Rails.cache.fetch(cache_key(:readme)) do + Tree.new(self, self.root_ref).readme + end + end end diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml index 41035d9175627a2a4033b822260db93bf502534f..bfcd917d7f4bdb0d38da18203e3f4b4e8fca5629 100644 --- a/app/views/projects/show.html.haml +++ b/app/views/projects/show.html.haml @@ -31,6 +31,12 @@ %span Download = link_to project_compare_index_path(@project, from: @repository.root_ref, to: @ref || @repository.root_ref), class: 'btn btn-block' do Compare code + + - if @repository.readme + - readme = @repository.readme + = link_to project_blob_path(@project, tree_join(@repository.root_ref, readme.name)), class: 'btn btn-block' do + = readme.name + .prepend-top-10 %p %span.light Created on