From: Mauricio Fernandez Date: 2007-02-14T08:37:10+09:00 Subject: Re: Dynamically determining a class' namespace On Wed, Feb 14, 2007 at 06:39:26AM +0900, ara.t.howard@noaa.gov wrote: > On Wed, 14 Feb 2007, Tim Pease wrote: > >He wants to know the nesting where the Foo object was created not the > >nesting of the Foo class itself. i.e. whenever Foo.new is called, > >what is the namespace where it was called. > > > harp:~ > cat a.rb > require 'binding_of_caller' > > class Foo > def self.new > Binding.of_caller{|b| p eval('Module.nesting', b).shift } > end > end > > Foo.new # 'Object'? 'Kernel'? nil? > > module Bar > Foo.new # 'Bar' > end > > module Baz > module Bar > Foo.new # 'Baz::Bar' > end > end > > harp:~ > ruby a.rb > nil > Bar > Baz::Bar $ ruby -v a.rb ruby 1.8.5 (2006-08-25) [i686-linux] nil nil nil (Foo with 1.8.5-p12) 1.8.5 killed Binding.of_caller, take a look at ruby-debug http://rubyforge.org/projects/ruby-debug/. -- Mauricio Fernandez - http://eigenclass.org - singular Ruby ** Latest postings ** Ruby, SEX and STDs: infectious practices http://eigenclass.org/hiki.rb?ruby-warnings-SEX-and-stds What's new in Ruby 1.9, Feb. 07 update http://eigenclass.org/hiki.rb?Changes-in-Ruby-1.9-update-6