From: Kip Cole Date: 2008-07-27T08:43:08+09:00 Subject: Invoke block in current binding? I have a design pattern (Rails app, using RestfulAuthentication plugin with modifications) that wants to have a method that will temporarily elevate user privileges like so: def sudo saved_current_user = current_user current_user = admin_user yield current_user = saved_current_user end And in a method, invoke it with sudo do puts "Something done as admin user" end However I know this doesn't work because at the time the block is passed, the binding is fixed to the defining context. So the question is: what is the right way to achieve the desired result. Where the desired result is to pass a block to a method to be executed in a different context, without the caller having to know any of the implementation details. Thanks for any help, --Kip -- Posted via http://www.ruby-forum.com/.