Class: Pry::Command::Edit::ExceptionPatcher

Inherits:
Object
  • Object
show all
Defined in:
lib/pry/commands/edit/exception_patcher.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(pry_instance, state, exception_file_and_line) ⇒ ExceptionPatcher

Returns a new instance of ExceptionPatcher


11
12
13
14
15
# File 'lib/pry/commands/edit/exception_patcher.rb', line 11

def initialize(pry_instance, state, exception_file_and_line)
  @pry_instance = pry_instance
  @state = state
  @file_and_line = exception_file_and_line
end

Instance Attribute Details

#file_and_lineObject

Returns the value of attribute file_and_line


9
10
11
# File 'lib/pry/commands/edit/exception_patcher.rb', line 9

def file_and_line
  @file_and_line
end

#pry_instanceObject

Returns the value of attribute pry_instance


7
8
9
# File 'lib/pry/commands/edit/exception_patcher.rb', line 7

def pry_instance
  @pry_instance
end

#stateObject

Returns the value of attribute state


8
9
10
# File 'lib/pry/commands/edit/exception_patcher.rb', line 8

def state
  @state
end

Instance Method Details

#perform_patchObject

perform the patch


18
19
20
21
22
23
24
25
# File 'lib/pry/commands/edit/exception_patcher.rb', line 18

def perform_patch
  file_name, = file_and_line
  lines = state.dynamical_ex_file || File.read(file_name)

  source = Pry::Editor.new(pry_instance).edit_tempfile_with_content(lines)
  pry_instance.evaluate_ruby source
  state.dynamical_ex_file = source.split("\n")
end