README.md in binding_of_caller-0.3.0 vs README.md in binding_of_caller-0.3.1
- old
+ new
@@ -1,39 +1,64 @@
binding_of_caller
===========
(C) John Mair (banisterfiend) 2011
-FIXME: _tagline_
+_Retrieve the binding of a method's caller in MRI 1.9.2_
-FIXME: _description goes here_
+The `binding_of_caller` gem provides the `Binding#of_caller` method.
+Using `binding_of_caller` we can grab bindings from higher up the call
+stack and evaluate code in that context. Allows access to bindings arbitrarily far up the
+call stack, not limited to just the immediate caller.
+
+**Recommended for use only in debugging situations. Do not use this in production apps.**
+
+**Only works in MRI Ruby 1.9.2**
+
* Install the [gem](https://rubygems.org/gems/binding_of_caller): `gem install binding_of_caller`
-* Read the [documentation](http://rdoc.info/github/banister/binding_of_caller/master/file/README.markdown)
* See the [source code](http://github.com/banister/binding_of_caller)
-Example: Example description
+Example: Modifying a local inside the caller of a caller
--------
-Example preamble
+ def a
+ var = 10
+ b
+ puts var
+ end
- puts "example code"
+ def b
+ c
+ end
+ def c
+ binding.of_caller(2).eval('var = :hello')
+ end
+
+ a()
+
+ # OUTPUT
+ # => hello
+
Features and limitations
-------------------------
-Feature List Preamble
+* Only works with MRI 1.9.2
+* Broken in 1.9.3, support will hopefully be provided in the near
+* future.
+* Does not work in 1.8.7, but there is a well known (continuation-based) hack to get a `Binding#of_caller` there.
Contact
-------
Problems or questions contact me at [github](http://github.com/banister)
License
-------
-(The MIT License)
+(The MIT License)
Copyright (c) 2011 (John Mair)
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the