Module: BindingDumper

Defined in:
lib/binding_dumper/core_ext/binding_ext.rb,
lib/binding_dumper.rb,
lib/binding_dumper/version.rb,
lib/binding_dumper/universal_dumper.rb,
lib/binding_dumper/dumpers/hash_dumper.rb,
lib/binding_dumper/dumpers/proc_dumper.rb,
lib/binding_dumper/dumpers/array_dumper.rb,
lib/binding_dumper/dumpers/class_dumper.rb,
lib/binding_dumper/dumpers/magic_dumper.rb,
lib/binding_dumper/dumpers/object_dumper.rb,
lib/binding_dumper/dumpers/primitive_dumper.rb,
lib/binding_dumper/dumpers/existing_object_dumper.rb,
lib/binding_dumper/core_ext/magic_context_patch_builder.rb

Overview

Class for buliding patch that adds method ‘_local_binding’

to existing object

Examples:

data = {
  file: '/path/to/file.rb',
  line: 17,
  method: 'do_something',
  lvars: { a: 'b' }
}
patch = BindingDumper::CoreExt::MagicContextPatchBuilder.new(data).patch
context = Object.new.extend(patch)

context._local_binding
# => #<Binding>
context._local_binding.eval('a')
# => 'b'
context._local_binding.eval('__FILE__')
# => '/path/to/file.rb'
context._local_binding.eval('__LINE__')
# => 17
context._local_binding.eval('__method__')
# => 'do_something'

Defined Under Namespace

Modules: CoreExt, Dumpers, MagicObjects, Memories, UniversalDumper

Constant Summary collapse

VERSION =
"0.1.0"