diff options
author | tiagonbotelho <tiagonbotelho@hotmail.com> | 2016-03-03 10:51:48 +0000 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2016-03-07 21:59:39 +0100 |
commit | 96c02551070a5f2d90beea7068fc6fddbf1498e8 (patch) | |
tree | 1b2635f9add269a5675f612573e64f3e1eee262b /app | |
parent | 8039bbf7f8e686bdf1e8c00c44faa8a97a6c6fdb (diff) | |
download | gitlab-ce-96c02551070a5f2d90beea7068fc6fddbf1498e8.tar.gz |
moves the main_language update logic to git push service
Diffstat (limited to 'app')
-rw-r--r-- | app/models/project.rb | 8 | ||||
-rw-r--r-- | app/services/git_push_service.rb | 12 |
2 files changed, 12 insertions, 8 deletions
diff --git a/app/models/project.rb b/app/models/project.rb index 137fa42a9b9..3235a1cee50 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -86,14 +86,6 @@ class Project < ActiveRecord::Base end end - # checks if the language main language of the project changed - before_save :check_main_language - def check_main_language - if commit_count_changed? - main_language = repository.main_language - end - end - ActsAsTaggableOn.strict_case_match = true acts_as_taggable_on :tags diff --git a/app/services/git_push_service.rb b/app/services/git_push_service.rb index 9ba200f7bde..ab883b6ef2c 100644 --- a/app/services/git_push_service.rb +++ b/app/services/git_push_service.rb @@ -14,6 +14,7 @@ class GitPushService < BaseService # 3. Recognizes cross-references from commit messages # 4. Executes the project's web hooks # 5. Executes the project's services + # 6. Checks if the project's main language has changed # def execute @project.repository.after_push_commit(branch_name) @@ -42,6 +43,9 @@ class GitPushService < BaseService @push_commits = @project.repository.commits_between(params[:oldrev], params[:newrev]) process_commit_messages end + # Checks if the main language has changed in the project and if so + # it updates it accordingly + update_main_language # Update merge requests that may be affected by this push. A new branch # could cause the last commit of a merge request to change. update_merge_requests @@ -49,6 +53,14 @@ class GitPushService < BaseService protected + def update_main_language + current_language = @project.repository.main_language + + unless current_language == @project.main_language + @project.update_attributes(main_language: current_language) + end + end + def update_merge_requests @project.update_merge_requests(params[:oldrev], params[:newrev], params[:ref], current_user) |