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,10 +114,8 @@ class ErrsController < ApplicationController | ||
| 114 | end | 114 | end |
| 115 | 115 | ||
| 116 | def destroy_several | 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 | redirect_to :back | 119 | redirect_to :back |
| 122 | end | 120 | end |
| 123 | 121 |
app/interactors/problem_destroy.rb
| @@ -12,6 +12,20 @@ class ProblemDestroy | @@ -12,6 +12,20 @@ class ProblemDestroy | ||
| 12 | problem.delete | 12 | problem.delete |
| 13 | end | 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 | private | 29 | private |
| 16 | 30 | ||
| 17 | def errs_id | 31 | def errs_id |