module Pry::Testable::Variables
Public Instance Methods
insert_variable(name, value, binding)
click to toggle source
@param [String] name
The name of a variable.
@param [String] value
Its value.
@param [Binding] binding
The binding object to insert a variable into.
@return [void]
# File lib/pry/testable/variables.rb, line 44 def insert_variable(name, value, binding) Pry.current[:pry_local] = value binding.eval("#{name} = ::Pry.current[:pry_local]") ensure Pry.current[:pry_local] = nil end
temporary_constants(*names) { || ... }
click to toggle source
@example
temporary_constants(:Foo, :Bar) do Foo = Class.new(RuntimeError) Bar = Class.new(RuntimeError) end Foo # => NameError Bar # => NameError
@param [Array<Symbol>] names
An array of constant names that be defined by a block, and removed by this method afterwards.
@return [void]
# File lib/pry/testable/variables.rb, line 21 def temporary_constants(*names) names.each do |name| Object.remove_const name if Object.const_defined?(name) end yield ensure names.each do |name| Object.remove_const name if Object.const_defined?(name) end end