diff options
author | Valery Sizov <vsv2711@gmail.com> | 2015-03-23 16:07:26 +0200 |
---|---|---|
committer | Valery Sizov <vsv2711@gmail.com> | 2015-03-26 13:43:29 +0200 |
commit | 2547c426ef9b659e14578f0561fb57180305f511 (patch) | |
tree | 460bc20a9aa847064a4f5c554d95ede1eac029e4 | |
parent | b048c069e1982137f89b478b39c738680770073e (diff) | |
download | gitlab-ci-2547c426ef9b659e14578f0561fb57180305f511.tar.gz |
added event service
-rw-r--r-- | app/controllers/projects_controller.rb | 12 | ||||
-rw-r--r-- | app/services/create_project_service.rb | 5 | ||||
-rw-r--r-- | app/services/event_service.rb | 30 |
3 files changed, 35 insertions, 12 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index fda1b87..06b01ca 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -63,10 +63,9 @@ class ProjectsController < ApplicationController def update if project.update_attributes(params[:project]) - project.events.create( - user_id: current_user.id, - description: "User #{current_user.username} updated projects settings" - ) + + EventService.new.change_project_settings(current_user, project) + redirect_to project, notice: 'Project was successfully updated.' else render action: "edit" @@ -77,10 +76,7 @@ class ProjectsController < ApplicationController project.destroy Network.new.disable_ci(current_user.url, project.gitlab_id, current_user.private_token) - Event.admin.create( - description: "Project '#{@project.name}' has been removed by #{current_user.username}", - user_id: current_user.id - ) + EventService.new.remove_project(current_user, project) redirect_to projects_url end diff --git a/app/services/create_project_service.rb b/app/services/create_project_service.rb index 6f1eb8e..1d99330 100644 --- a/app/services/create_project_service.rb +++ b/app/services/create_project_service.rb @@ -20,10 +20,7 @@ class CreateProjectService end end - Event.admin.create( - description: "Project '#{@project.name}' has been created by #{current_user.username}", - user_id: current_user.id - ) + EventService.new.create_project(current_user, @project) @project end diff --git a/app/services/event_service.rb b/app/services/event_service.rb new file mode 100644 index 0000000..f9b9c02 --- /dev/null +++ b/app/services/event_service.rb @@ -0,0 +1,30 @@ +class EventService + def remove_project(user, project) + create( + description: "Project \"#{project.name}\" has been removed by #{user.username}", + user_id: user.id, + is_admin: true + ) + end + + def create_project(user, project) + create( + description: "Project \"#{project.name}\" has been created by #{user.username}", + user_id: user.id, + is_admin: true + ) + end + + def change_project_settings(user, project) + binding.pry + create( + project_id: project.id, + user_id: user.id, + description: "User \"#{user.username}\" updated projects settings" + ) + end + + def create(*args) + Event.create!(*args) + end +end
\ No newline at end of file |