Commit 96c02551 authored by tiagonbotelho's avatar tiagonbotelho Committed by Yorick Peterse

moves the main_language update logic to git push service

parent 8039bbf7
......@@ -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
......
......@@ -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)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment