# frozen_string_literal: true
class Pry
module Testable
module Evalable
def pry_tester(*args, &block)
args.unshift(Pry.toplevel_binding) if args.empty? || args[0].is_a?(Hash)
Pry::Testable::PryTester.new(*args).tap do |t|
t.singleton_class.class_eval(&block) if block
end
end
def pry_eval(*eval_strs)
b =
if eval_strs.first.is_a?(String)
Pry.toplevel_binding
else
Pry.binding_for(eval_strs.shift)
end
pry_tester(b).eval(*eval_strs)
end
end
end
end