diff options
author | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2016-08-16 07:07:25 +0300 |
---|---|---|
committer | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2016-08-17 18:58:59 +0300 |
commit | f77c47a51c8fef379b2dc9473545e53a28ec3c7f (patch) | |
tree | b46dd6074bae6822ada612246b50101898c2f18e /app/services/boards/lists | |
parent | affed37065974991f4c578993d34ec1608560ad9 (diff) |
Remove lookup inside services to keep them consistent with other ones
Diffstat (limited to 'app/services/boards/lists')
-rw-r--r-- | app/services/boards/lists/destroy_service.rb | 14 | ||||
-rw-r--r-- | app/services/boards/lists/move_service.rb | 21 |
2 files changed, 12 insertions, 23 deletions
diff --git a/app/services/boards/lists/destroy_service.rb b/app/services/boards/lists/destroy_service.rb index 8d244fa3966..9edb596bf46 100644 --- a/app/services/boards/lists/destroy_service.rb +++ b/app/services/boards/lists/destroy_service.rb @@ -1,27 +1,23 @@ module Boards module Lists class DestroyService < Boards::BaseService - def execute + def execute(list) return false unless list.label? list.with_lock do - decrement_higher_lists - remove_list + decrement_higher_lists(list) + remove_list(list) end end private - def list - @list ||= board.lists.find(params[:id]) - end - - def decrement_higher_lists + def decrement_higher_lists(list) board.lists.label.where('position > ?', list.position) .update_all('position = position - 1') end - def remove_list + def remove_list(list) list.destroy end end diff --git a/app/services/boards/lists/move_service.rb b/app/services/boards/lists/move_service.rb index 1c91fed0ff4..2b2b5c3943a 100644 --- a/app/services/boards/lists/move_service.rb +++ b/app/services/boards/lists/move_service.rb @@ -1,35 +1,28 @@ module Boards module Lists class MoveService < Boards::BaseService - def execute + def execute(list) + @old_position = list.position + @new_position = params[:position] + return false unless list.label? return false unless valid_move? list.with_lock do reorder_intermediate_lists - update_list_position + update_list_position(list) end end private - def list - @list ||= board.lists.find(params[:id]) - end + attr_reader :old_position, :new_position def valid_move? new_position.present? && new_position != old_position && new_position >= 0 && new_position < board.lists.label.size end - def old_position - @old_position ||= list.position - end - - def new_position - @new_position ||= params[:position] - end - def reorder_intermediate_lists if old_position < new_position decrement_intermediate_lists @@ -50,7 +43,7 @@ module Boards .update_all('position = position + 1') end - def update_list_position + def update_list_position(list) list.update_attribute(:position, new_position) end end |