Module: Pry::Testable::Evalable

Defined in:
lib/pry/testable/evalable.rb

Instance Method Summary collapse

Instance Method Details

#pry_eval(*eval_strs) ⇒ Object


13
14
15
16
17
18
19
20
21
# File 'lib/pry/testable/evalable.rb', line 13

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

#pry_tester(*args, &block) ⇒ Object


6
7
8
9
10
11
# File 'lib/pry/testable/evalable.rb', line 6

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