summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
authortiagonbotelho <tiagonbotelho@hotmail.com>2016-03-01 11:42:47 +0000
committerYorick Peterse <yorickpeterse@gmail.com>2016-03-07 21:59:39 +0100
commitc2c5572e22d8e03b111859f3cf143181edd8c20f (patch)
tree6b0bf9a3f129c66983c6f720d6765d4a62fc3346 /app/models
parentdc31aff3da6a2d576e0bd99249911c9373e56d98 (diff)
downloadgitlab-ce-c2c5572e22d8e03b111859f3cf143181edd8c20f.tar.gz
adds swp and swo to gitignore and improves migration for project main_language
Diffstat (limited to 'app/models')
-rw-r--r--app/models/.project.rb.swobin49152 -> 0 bytes
-rw-r--r--app/models/project.rb18
-rw-r--r--app/models/repository.rb6
3 files changed, 18 insertions, 6 deletions
diff --git a/app/models/.project.rb.swo b/app/models/.project.rb.swo
deleted file mode 100644
index 5d264ccfaaa..00000000000
--- a/app/models/.project.rb.swo
+++ /dev/null
Binary files differ
diff --git a/app/models/project.rb b/app/models/project.rb
index 3d3fd6f76a2..9400d8a17af 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -89,12 +89,8 @@ class Project < ActiveRecord::Base
# checks if the language main language of the project changed
before_save :check_main_language
def check_main_language
- if !repository.empty? && self.changed?
- language = Linguist::Repository.new(
- repository.rugged,
- repository.rugged.head.target_id).language
-
- self.main_language = language
+ if commit_count.changed?
+ self.main_language = repository.main_language
end
end
@@ -957,4 +953,14 @@ class Project < ActiveRecord::Base
def wiki
@wiki ||= ProjectWiki.new(self, self.owner)
end
+
+ def main_language
+ language = read_attributes(:main_language)
+
+ return language if language
+
+ update_attributes(main_language: repository.main_language)
+
+ read_attributes(:main_language)
+ end
end
diff --git a/app/models/repository.rb b/app/models/repository.rb
index c135ab61f6a..ff48f993d42 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -812,6 +812,12 @@ class Repository
raw_repository.ls_files(actual_ref)
end
+ def main_language
+ unless empty?
+ Linguist::Repository.new(rugged, rugged.head.target_id).language
+ end
+ end
+
private
def cache