Commit 4624c4a8ce86390069f32be70428ec431f9a9129
1 parent
76d3d2f8
Exists in
master
and in
1 other branch
little refactoring to move all action about ProblemDestroy in ProblemDestroy class fix #208
Showing
2 changed files
with
16 additions
and
4 deletions
Show diff stats
app/controllers/errs_controller.rb
... | ... | @@ -114,10 +114,8 @@ class ErrsController < ApplicationController |
114 | 114 | end |
115 | 115 | |
116 | 116 | def destroy_several |
117 | - @selected_problems.each{|problem| | |
118 | - ProblemDestroy.new(problem).execute | |
119 | - } | |
120 | - flash[:notice] = "#{pluralize(@selected_problems.count, 'err has', 'errs have')} been deleted." | |
117 | + nb_problem_destroy = ProblemDestroy.execute(@selected_problems) | |
118 | + flash[:notice] = "#{pluralize(nb_problem_destroy, 'err has', 'errs have')} been deleted." | |
121 | 119 | redirect_to :back |
122 | 120 | end |
123 | 121 | ... | ... |
app/interactors/problem_destroy.rb
... | ... | @@ -12,6 +12,20 @@ class ProblemDestroy |
12 | 12 | problem.delete |
13 | 13 | end |
14 | 14 | |
15 | + ## | |
16 | + # Destroy all problem pass in args | |
17 | + # | |
18 | + # @params [ Array[Problem] ] problems the list of problem need to be delete | |
19 | + # can be a single Problem | |
20 | + # @return [ Integer ] | |
21 | + # the number of problem destroy | |
22 | + # | |
23 | + def self.execute(problems) | |
24 | + Array(problems).each{ |problem| | |
25 | + ProblemDestroy.new(problem).execute | |
26 | + }.count | |
27 | + end | |
28 | + | |
15 | 29 | private |
16 | 30 | |
17 | 31 | def errs_id | ... | ... |