class PryTester - pry-0.10.1 Documentation

# class PryTester

### Attributes

out[R]
pry[R]

### Public Class Methods

new(target = TOPLEVEL_BINDING, options = {}) click to toggle source

    # File lib/pry/test/helper.rb, line 105
    def initialize(target = TOPLEVEL_BINDING, options = {})
      @pry = Pry.new(options.merge(:target => target))
      @history = options[:history]

      @pry.inject_sticky_locals!
      reset_output
    end

### Public Instance Methods

eval(*strs) click to toggle source

    # File lib/pry/test/helper.rb, line 113
    def eval(*strs)
      reset_output
      result = nil

      strs.flatten.each do |str|
        str = "#{str.strip}\n"
        @history.push str if @history

        if @pry.process_command(str)
          result = last_command_result_or_output
        else
          result = @pry.evaluate_ruby(str)
        end
      end

      result
    end

last_command_result() click to toggle source

    # File lib/pry/test/helper.rb, line 150
    def last_command_result
      result = Pry.current[:pry_cmd_result]
      result.retval if result
    end

last_output() click to toggle source

    # File lib/pry/test/helper.rb, line 141
    def last_output
      @out.string if @out
    end

process_command(command_str) click to toggle source

    # File lib/pry/test/helper.rb, line 145
    def process_command(command_str)
      @pry.process_command(command_str) or raise "Not a valid command"
      last_command_result_or_output
    end

push(*lines) click to toggle source

    # File lib/pry/test/helper.rb, line 131
    def push(*lines)
      Array(lines).flatten.each do |line|
        @pry.eval(line)
      end
    end

push_binding(context) click to toggle source

    # File lib/pry/test/helper.rb, line 137
    def push_binding(context)
      @pry.push_binding context
    end

### Protected Instance Methods

last_command_result_or_output() click to toggle source

    # File lib/pry/test/helper.rb, line 157
    def last_command_result_or_output
      result = last_command_result
      if result != Pry::Command::VOID_VALUE
        result
      else
        last_output
      end
    end

reset_output() click to toggle source

    # File lib/pry/test/helper.rb, line 166
    def reset_output
      @out = StringIO.new
      @pry.output = @out
    end