Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-08-03 03:49:26 +0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-08-17 18:58:58 +0300
commitaff7a2ef55b317b3e5c8d83f4e9ae9fc64f4fa8f (patch)
tree14f770901b7206e3d07849e902845086505753a8 /app/services/boards
parent296bcbd6640ddeb06093c2505ed749be07362975 (diff)
Extract base service class for boards related services
Diffstat (limited to 'app/services/boards')
-rw-r--r--app/services/boards/base_service.rb14
-rw-r--r--app/services/boards/create_service.rb8
-rw-r--r--app/services/boards/issues/list_service.rb12
-rw-r--r--app/services/boards/issues/move_service.rb12
-rw-r--r--app/services/boards/lists/create_service.rb9
-rw-r--r--app/services/boards/lists/destroy_service.rb9
-rw-r--r--app/services/boards/lists/move_service.rb9
7 files changed, 20 insertions, 53 deletions
diff --git a/app/services/boards/base_service.rb b/app/services/boards/base_service.rb
new file mode 100644
index 00000000000..e2d2bdfe3d7
--- /dev/null
+++ b/app/services/boards/base_service.rb
@@ -0,0 +1,14 @@
+module Boards
+ class BaseService
+ def initialize(project, user, params = {})
+ @project = project
+ @board = project.board
+ @user = user
+ @params = params.dup
+ end
+
+ private
+
+ attr_reader :project, :board, :user, :params
+ end
+end
diff --git a/app/services/boards/create_service.rb b/app/services/boards/create_service.rb
index f1eef870925..5881752dabd 100644
--- a/app/services/boards/create_service.rb
+++ b/app/services/boards/create_service.rb
@@ -1,9 +1,5 @@
module Boards
- class CreateService
- def initialize(project)
- @project = project
- end
-
+ class CreateService < BaseService
def execute
create_board! unless project.board.present?
project.board
@@ -11,8 +7,6 @@ module Boards
private
- attr_reader :project
-
def create_board!
project.create_board
project.board.lists.create(list_type: :backlog)
diff --git a/app/services/boards/issues/list_service.rb b/app/services/boards/issues/list_service.rb
index 4948ab3a140..221fea716f7 100644
--- a/app/services/boards/issues/list_service.rb
+++ b/app/services/boards/issues/list_service.rb
@@ -1,12 +1,6 @@
module Boards
module Issues
- class ListService
- def initialize(project, user, params = {})
- @project = project
- @user = user
- @params = params.dup
- end
-
+ class ListService < Boards::BaseService
def execute
issues = IssuesFinder.new(user, filter_params).execute
issues = without_board_labels(issues) if list.backlog?
@@ -15,10 +9,6 @@ module Boards
private
- attr_reader :project, :user, :params
-
- delegate :board, to: :project
-
def list
@list ||= board.lists.find(params[:list_id])
end
diff --git a/app/services/boards/issues/move_service.rb b/app/services/boards/issues/move_service.rb
index 7daa4d31efd..7d08ef5b6c7 100644
--- a/app/services/boards/issues/move_service.rb
+++ b/app/services/boards/issues/move_service.rb
@@ -1,12 +1,6 @@
module Boards
module Issues
- class MoveService
- def initialize(project, user, params = {})
- @project = project
- @user = user
- @params = params.dup
- end
-
+ class MoveService < Boards::BaseService
def execute
return false unless issue.present?
return false unless user.can?(:update_issue, issue)
@@ -20,10 +14,6 @@ module Boards
private
- attr_reader :project, :user, :params
-
- delegate :board, to: :project
-
def issue
@issue ||= project.issues.visible_to_user(user).find_by!(iid: params[:id])
end
diff --git a/app/services/boards/lists/create_service.rb b/app/services/boards/lists/create_service.rb
index 151bb67bea1..59e8b51e37f 100644
--- a/app/services/boards/lists/create_service.rb
+++ b/app/services/boards/lists/create_service.rb
@@ -1,11 +1,6 @@
module Boards
module Lists
- class CreateService
- def initialize(project, params = {})
- @board = project.board
- @params = params.dup
- end
-
+ class CreateService < Boards::BaseService
def execute
List.transaction do
position = find_next_position
@@ -16,8 +11,6 @@ module Boards
private
- attr_reader :board, :params
-
def find_next_position
board.lists.label.maximum(:position).to_i + 1
end
diff --git a/app/services/boards/lists/destroy_service.rb b/app/services/boards/lists/destroy_service.rb
index 5402d009c08..8d244fa3966 100644
--- a/app/services/boards/lists/destroy_service.rb
+++ b/app/services/boards/lists/destroy_service.rb
@@ -1,11 +1,6 @@
module Boards
module Lists
- class DestroyService
- def initialize(project, params = {})
- @board = project.board
- @params = params.dup
- end
-
+ class DestroyService < Boards::BaseService
def execute
return false unless list.label?
@@ -17,8 +12,6 @@ module Boards
private
- attr_reader :board, :params
-
def list
@list ||= board.lists.find(params[:id])
end
diff --git a/app/services/boards/lists/move_service.rb b/app/services/boards/lists/move_service.rb
index f5735b6bab1..9bd07f43a36 100644
--- a/app/services/boards/lists/move_service.rb
+++ b/app/services/boards/lists/move_service.rb
@@ -1,11 +1,6 @@
module Boards
module Lists
- class MoveService
- def initialize(project, params = {})
- @board = project.board
- @params = params.dup
- end
-
+ class MoveService < Boards::BaseService
def execute
return false unless list.label?
return false unless valid_move?
@@ -18,8 +13,6 @@ module Boards
private
- attr_reader :board, :params
-
def list
@list ||= board.lists.find(params[:id])
end