diff options
| author | tiagonbotelho <tiagonbotelho@hotmail.com> | 2016-03-01 11:42:47 +0000 |
|---|---|---|
| committer | Yorick Peterse <yorickpeterse@gmail.com> | 2016-03-07 21:59:39 +0100 |
| commit | c2c5572e22d8e03b111859f3cf143181edd8c20f (patch) | |
| tree | 6b0bf9a3f129c66983c6f720d6765d4a62fc3346 | |
| parent | dc31aff3da6a2d576e0bd99249911c9373e56d98 (diff) | |
| download | gitlab-ce-c2c5572e22d8e03b111859f3cf143181edd8c20f.tar.gz | |
adds swp and swo to gitignore and improves migration for project main_language
| -rw-r--r-- | app/models/.project.rb.swo | bin | 49152 -> 0 bytes | |||
| -rw-r--r-- | app/models/project.rb | 18 | ||||
| -rw-r--r-- | app/models/repository.rb | 6 | ||||
| -rw-r--r-- | db/migrate/20160229193553_add_main_language_to_repository.rb | 20 |
4 files changed, 20 insertions, 24 deletions
diff --git a/app/models/.project.rb.swo b/app/models/.project.rb.swo Binary files differdeleted file mode 100644 index 5d264ccfaaa..00000000000 --- a/app/models/.project.rb.swo +++ /dev/null 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 diff --git a/db/migrate/20160229193553_add_main_language_to_repository.rb b/db/migrate/20160229193553_add_main_language_to_repository.rb index da24abd2f04..b5446c6a447 100644 --- a/db/migrate/20160229193553_add_main_language_to_repository.rb +++ b/db/migrate/20160229193553_add_main_language_to_repository.rb @@ -1,21 +1,5 @@ class AddMainLanguageToRepository < ActiveRecord::Migration - require 'rugged' - require 'linguist' - - def up - add_column :projects, :main_language, :string, default: nil - - Project.all.each do |project| - unless project.repository.empty? - language = Linguist::Repository.new( - project.repository.rugged, - project.repository.rugged.head.target_id).language - project.update_attributes(main_language: language) - end - end - end - - def down - remove_column :projects, :main_language + def change + add_column :projects, :main_language, :string end end |
