From: dblack@... Date: 2007-07-08T20:32:49+09:00 Subject: Re: get modules that are in a class? Hi -- On Sun, 8 Jul 2007, Travis D Warlick Jr wrote: > Aaron Smith wrote: >> Wayne E. Seguin wrote: >>> On Jul 07, 2007, at 22:00 , Aaron Smith wrote: >>>> is it possible to find out what modules have been included inside of a >>>> class? >>> >>> Yes Aaron it is, via the method "included_modules" >>> >>> http://www.ruby-doc.org/core/classes/Module.html#M001697 >> >> What about within a class? >> >> module TestModule >> def say_something >> puts "SOMETHING" >> end >> end >> >> class Test >> include TestModule >> end >> >> t = Test.new >> puts t.included_modules >> > > Remember that when you include the module, you're including _all_ the > module's methods (including Module#included_modules) It's not exactly an inclusion thing. Class objects already respond to #included_modules, because Class inherits from Module. > So, use self.class to get the Class object of the current instance (this > will work from the included modules also), so you should be able to do: > > self.class.included_modules That will work with any object: "".class.included_modules etc. It's not dependent on your having included a module. David -- * Books: RAILS ROUTING (new! http://www.awprofessional.com/title/0321509242) RUBY FOR RAILS (http://www.manning.com/black) * Ruby/Rails training & consulting: Ruby Power and Light, LLC (http://www.rubypal.com)