Class: Suture::Surgeon::Remediator

Inherits:
Object
  • Object
show all
Defined in:
lib/suture/surgeon/remediator.rb

Instance Method Summary collapse

Constructor Details

#initializeRemediator

Returns a new instance of Remediator.



5
6
7
# File 'lib/suture/surgeon/remediator.rb', line 5

def initialize
  @scalpel = Suture::Util::Scalpel.new
end

Instance Method Details

#operate(plan) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/suture/surgeon/remediator.rb', line 9

def operate(plan)
  begin
    @scalpel.cut(plan ,:new)
  rescue StandardError => actual_error
    if plan.expected_error_types.any? { |e| actual_error.is_a?(e) }
      raise actual_error
    else
      @scalpel.cut(plan, :old)
    end
  end
end