summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValery Sizov <vsv2711@gmail.com>2015-03-23 16:07:26 +0200
committerValery Sizov <vsv2711@gmail.com>2015-03-26 13:43:29 +0200
commit2547c426ef9b659e14578f0561fb57180305f511 (patch)
tree460bc20a9aa847064a4f5c554d95ede1eac029e4
parentb048c069e1982137f89b478b39c738680770073e (diff)
downloadgitlab-ci-2547c426ef9b659e14578f0561fb57180305f511.tar.gz
added event service
-rw-r--r--app/controllers/projects_controller.rb12
-rw-r--r--app/services/create_project_service.rb5
-rw-r--r--app/services/event_service.rb30
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