summaryrefslogtreecommitdiff
path: root/app/models/repository.rb
diff options
context:
space:
mode:
authorZeger-Jan van de Weg <zegerjan@gitlab.com>2016-04-29 16:25:03 +0200
committerAlfredo Sumaran <alfredo@gitlab.com>2016-05-20 15:58:36 -0500
commite166a8022a3f239938a1449a0a8ce3485f309766 (patch)
treeaf9f612f599b01f5736e7b439f9579d77658f156 /app/models/repository.rb
parent56eb42007ae8c3c390b35bf336884b3bad3591c5 (diff)
downloadgitlab-ce-e166a8022a3f239938a1449a0a8ce3485f309766.tar.gz
Backend for a gitignores dropdown
Diffstat (limited to 'app/models/repository.rb')
-rw-r--r--app/models/repository.rb20
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