Sha256: 8f751f8a698230d3b1661f541109ab3296198272bb21b756c11d6896c9d4923f

Contents?: true

Size: 540 Bytes

Versions: 13

Compression:

Stored size: 540 Bytes

Contents

class PryMoves::Tools

  def initialize pry
    @pry = pry
  end

  def add_breakpoint var_name, line_number, binding
    file, line = binding.eval('[__FILE__, __LINE__]')
    line_number ||= line
    lines = IO.readlines(file)

    value = binding.eval(var_name)
    value = value.to_json if value.is_a? String
    lines.insert line_number-1, "debug if #{var_name} == #{value}"

    File.open(file, 'w') do |file|
      file.puts lines
    end
    @pry.output.puts "🔴 Breakpoint added to #{File.basename file}:#{line_number}"
  end

end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
pry-moves-1.0.15 lib/pry-moves/tools.rb
pry-moves-1.0.14 lib/pry-moves/tools.rb
pry-moves-1.0.13 lib/pry-moves/tools.rb
pry-moves-1.0.12 lib/pry-moves/tools.rb
pry-moves-1.0.11 lib/pry-moves/tools.rb
pry-moves-1.0.10 lib/pry-moves/tools.rb
pry-moves-1.0.9 lib/pry-moves/tools.rb
pry-moves-1.0.8 lib/pry-moves/tools.rb
pry-moves-1.0.7 lib/pry-moves/tools.rb
pry-moves-1.0.6 lib/pry-moves/tools.rb
pry-moves-1.0.5 lib/pry-moves/tools.rb
pry-moves-1.0.4 lib/pry-moves/tools.rb
pry-moves-1.0.3 lib/pry-moves/tools.rb