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
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