Sha256: 666e1a0d29ecd4a1b387f11a426896a10c09fe689b8ae21710ce362fcb73f037
Contents?: true
Size: 1.26 KB
Versions: 6796
Compression:
Stored size: 1.26 KB
Contents
# frozen_string_literal: true class Pry module Testable module Variables # # @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] # 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 # # @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] # 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 end end end
Version data entries
6,796 entries across 6,792 versions & 31 rubygems