moves the main_language update logic to git push service

This commit is contained in:
tiagonbotelho 2016-03-03 10:51:48 +00:00 committed by Yorick Peterse
parent 8039bbf7f8
commit 96c0255107
2 changed files with 12 additions and 8 deletions

View File

@ -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

View File

@ -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)