summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-09-12 22:58:16 -0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-09-16 10:56:48 -0300
commit5067d7e4a9c31dd531bcd5eb9cca6f25253f1ed1 (patch)
tree7063f2ec708132338890253424a2903ebbda6bfc
parent0777e4b3dd3bf86b83fd1e6c0ca937cd7d290e1c (diff)
downloadgitlab-ce-5067d7e4a9c31dd531bcd5eb9cca6f25253f1ed1.tar.gz
Extract base service class for labels related services
-rw-r--r--app/services/labels/base_service.rb11
-rw-r--r--app/services/labels/create_service.rb8
-rw-r--r--app/services/labels/generate_service.rb8
-rw-r--r--app/services/labels/replicate_service.rb8
-rw-r--r--app/services/labels/update_service.rb10
5 files changed, 15 insertions, 30 deletions
diff --git a/app/services/labels/base_service.rb b/app/services/labels/base_service.rb
new file mode 100644
index 00000000000..db1c5497aa8
--- /dev/null
+++ b/app/services/labels/base_service.rb
@@ -0,0 +1,11 @@
+module Labels
+ class BaseService
+ def initialize(subject, user, params = {})
+ @subject, @user, @params = subject, user, params.dup
+ end
+
+ private
+
+ attr_reader :subject, :user, :params
+ end
+end
diff --git a/app/services/labels/create_service.rb b/app/services/labels/create_service.rb
index 1462d07326e..ffc7851baab 100644
--- a/app/services/labels/create_service.rb
+++ b/app/services/labels/create_service.rb
@@ -1,9 +1,5 @@
module Labels
- class CreateService
- def initialize(subject, user, params = {})
- @subject, @user, @params = subject, user, params.dup
- end
-
+ class CreateService < Labels::BaseService
def execute
label = subject.labels.build(params)
@@ -25,8 +21,6 @@ module Labels
private
- attr_reader :subject, :user, :params
-
def title
params[:title]
end
diff --git a/app/services/labels/generate_service.rb b/app/services/labels/generate_service.rb
index 8f6a045f46d..01039b04c11 100644
--- a/app/services/labels/generate_service.rb
+++ b/app/services/labels/generate_service.rb
@@ -1,9 +1,5 @@
module Labels
- class GenerateService
- def initialize(subject, user)
- @subject, @user = subject, user
- end
-
+ class GenerateService < Labels::BaseService
def execute
label_params.each do |params|
Labels::CreateService.new(subject, user, params).execute
@@ -12,8 +8,6 @@ module Labels
private
- attr_reader :subject, :user
-
def label_params
red = '#d9534f'
yellow = '#f0ad4e'
diff --git a/app/services/labels/replicate_service.rb b/app/services/labels/replicate_service.rb
index f27e7888736..bf7db9469e8 100644
--- a/app/services/labels/replicate_service.rb
+++ b/app/services/labels/replicate_service.rb
@@ -1,17 +1,11 @@
module Labels
- class ReplicateService
- def initialize(subject, user)
- @subject, @user = subject, user
- end
-
+ class ReplicateService < Labels::BaseService
def execute
labels.each { |label| replicate(label) }
end
private
- attr_reader :subject, :user
-
def labels
global_labels = Label.templates
group_labels = subject.group.present? ? subject.group.labels : []
diff --git a/app/services/labels/update_service.rb b/app/services/labels/update_service.rb
index 8eebb0249ae..20246ad9a1b 100644
--- a/app/services/labels/update_service.rb
+++ b/app/services/labels/update_service.rb
@@ -1,9 +1,5 @@
module Labels
- class UpdateService
- def initialize(subject, user, params = {})
- @subject, @user, @params = subject, user, params.dup
- end
-
+ class UpdateService < Labels::BaseService
def execute(label)
Label.transaction do
if subject.is_a?(Group)
@@ -16,9 +12,5 @@ module Labels
label.update_attributes(params)
end
end
-
- private
-
- attr_reader :subject, :user, :params
end
end