Binding class allows you to access classes, variables, and methods outside of the current scope.
class Foo def bar my_var = 20 binding() end end
Normally, if you made reference to
my_var outside of that method, you’d get an error.
Binding objects allow you to do this:
my_foo = Foo.new foo_bar = my_foo.bar puts foo_bar.eval('my_var') # 20