class Pry

Public Class Methods

hack_line(eval_string) click to toggle source
# File lib/pry-syntax-hacks.rb, line 9
def self.hack_line(eval_string)
  eval_string.gsub!(/\.(@[a-z0-9_]+)/, '.instance_variable_get("\1")')
  eval_string.gsub!(/\.:([a-z0-9_]+[?!]?)/, '.method(:\1)')
  eval_string.gsub!(/\.!([a-z0-9_]+[?!]?)([ \(])(?=(.*))/) { ".send#{$2}:#{$1}#{$3 == ""?"":","}" }
  eval_string.gsub!(/(^|[\s\[{>(<=])((\.\.\/)+)([a-z0-9_@]+)/) { "#{$1}_pry_.binding_or_raise(#{-1 - $2.size / 3}).eval('#{$4}')" }
  eval_string
end

Public Instance Methods

binding_or_raise(n) click to toggle source
# File lib/pry-syntax-hacks.rb, line 17
def binding_or_raise(n)
  binding_stack[n] or raise "no parent binding"
end
old_retrieve_line(eval_string, *args)
Alias for: retrieve_line
retrieve_line(eval_string, *args) click to toggle source
# File lib/pry-syntax-hacks.rb, line 4
def retrieve_line(eval_string, *args)
  old_retrieve_line(eval_string, *args)
  Pry.hack_line(eval_string)
end
Also aliased as: old_retrieve_line