From: ara.t.howard@... Date: 2007-03-22T01:33:47+09:00 Subject: Re: Given an object, how to find public methods in included modules and the parent module? On Thu, 22 Mar 2007 danielbuus@gmail.com wrote: > Hey :) > > I'm trying to extend a method for creating a site map for a Ruby on > Rails app. This question, I believe, is pretty much just Ruby though, > that's why I'm asking here. > > Basically, what it does ATM is find all classes that end in > '_controller.rb' and require them, > > require 'find' > > # Require all controllers > Find.find(File.join(RAILS_ROOT, "app/controllers")) { |path| > require_dependency path if path =~ /_controller\.rb$/ } > > Okay. So I have two issues, and therefore two questions for this: > > a) The "app/controllers" path does not just contain files, it also > contains directories, each of which present a module, like "Manage::" > for the backend, and "Store::" for the frontend. Inside are class > files that share names, e.g. 'Store::Items' and 'Manage::Items'. Only > difference is the module they belong to. > > b) In the backend classes, I include a module, 'include Backend::Crud' > which defines some shared methods on the backend classes. > > My question for a) is, how can I distinguish between the different > classes, given that they belong to different modules. How can I ask an > object what module it belongs to? > > And, b), how can I look up these included methods? Right now, I can > only find public methods that are in the class files themselves, not > those defined in included modules... > > I'm a bit confused with all this, it's pretty low-level for me ;) So I > apologize if I'm asking very stupidly. If you have any ideas of how I > could do this, please let me know. > > Thanks in advance, > Daniel can you start out by telling us __what__ you are trying to accomplish? -a -- be kind whenever possible... it is always possible. - the dalai lama