diff options
author | Zeger-Jan van de Weg <zegerjan@gitlab.com> | 2016-04-29 16:25:03 +0200 |
---|---|---|
committer | Alfredo Sumaran <alfredo@gitlab.com> | 2016-05-20 15:58:36 -0500 |
commit | e166a8022a3f239938a1449a0a8ce3485f309766 (patch) | |
tree | af9f612f599b01f5736e7b439f9579d77658f156 /app/models/repository.rb | |
parent | 56eb42007ae8c3c390b35bf336884b3bad3591c5 (diff) | |
download | gitlab-ce-e166a8022a3f239938a1449a0a8ce3485f309766.tar.gz |
Backend for a gitignores dropdown
Diffstat (limited to 'app/models/repository.rb')
-rw-r--r-- | app/models/repository.rb | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb index 47a7223c723..f26278cc3af 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -472,9 +472,7 @@ class Repository def changelog cache.fetch(:changelog) do - tree(:head).blobs.find do |file| - file.name =~ /\A(changelog|history|changes|news)/i - end + file_on_head(/\A(changelog|history|changes|news)/i) end end @@ -482,9 +480,7 @@ class Repository return nil unless head_exists? cache.fetch(:license_blob) do - tree(:head).blobs.find do |file| - file.name =~ /\A(licen[sc]e|copying)(\..+|\z)/i - end + file_on_head(/\A(licen[sc]e|copying)(\..+|\z)/i) end end @@ -496,6 +492,14 @@ class Repository end end + def gitignore + return nil if !exists? || empty? + + cache.fetch(:gitignore) do + file_on_head(/\A\.gitignore\z/) + end + end + def gitlab_ci_yml return nil unless head_exists? @@ -989,4 +993,8 @@ class Repository def head_exists? exists? && !empty? && !rugged.head_unborn? end + + def file_on_head(regex) + tree(:head).blobs.find { |file| file.name =~ regex } + end end |