summaryrefslogtreecommitdiff
path: root/app/services/git_tag_push_service.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-03-13 11:37:13 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-03-13 11:37:13 +0200
commit5be424565ebe71b6c4d93adfecea9d7b057ae086 (patch)
tree0c3629ced2ebcfcde20debc0c6bcd32d32de326a /app/services/git_tag_push_service.rb
parentb0a86cb3ba649ea959d05a972f6cd1d6798f86c9 (diff)
downloadgitlab-ce-5be424565ebe71b6c4d93adfecea9d7b057ae086.tar.gz
Create event and clear cache on new trag push
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app/services/git_tag_push_service.rb')
-rw-r--r--app/services/git_tag_push_service.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/services/git_tag_push_service.rb b/app/services/git_tag_push_service.rb
index 3504479f33a..62eaf9b4f51 100644
--- a/app/services/git_tag_push_service.rb
+++ b/app/services/git_tag_push_service.rb
@@ -1,8 +1,12 @@
class GitTagPushService
attr_accessor :project, :user, :push_data
+
def execute(project, user, oldrev, newrev, ref)
@project, @user = project, user
@push_data = create_push_data(oldrev, newrev, ref)
+
+ create_push_event
+ project.repository.expire_cache
project.execute_hooks(@push_data.dup, :tag_push_hooks)
end
@@ -24,4 +28,13 @@ class GitTagPushService
}
}
end
+
+ def create_push_event
+ Event.create!(
+ project: project,
+ action: Event::PUSHED,
+ data: push_data,
+ author_id: push_data[:user_id]
+ )
+ end
end