diff options
author | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2016-09-12 22:58:16 -0300 |
---|---|---|
committer | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2016-09-16 10:56:48 -0300 |
commit | 5067d7e4a9c31dd531bcd5eb9cca6f25253f1ed1 (patch) | |
tree | 7063f2ec708132338890253424a2903ebbda6bfc | |
parent | 0777e4b3dd3bf86b83fd1e6c0ca937cd7d290e1c (diff) | |
download | gitlab-ce-5067d7e4a9c31dd531bcd5eb9cca6f25253f1ed1.tar.gz |
Extract base service class for labels related services
-rw-r--r-- | app/services/labels/base_service.rb | 11 | ||||
-rw-r--r-- | app/services/labels/create_service.rb | 8 | ||||
-rw-r--r-- | app/services/labels/generate_service.rb | 8 | ||||
-rw-r--r-- | app/services/labels/replicate_service.rb | 8 | ||||
-rw-r--r-- | app/services/labels/update_service.rb | 10 |
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 |