Class method call via the singleton or not

Hi--

Little bit of conundrum. I have a variables that tracks information
about methods. So it needs to work within the context of the class
hierarchy. At the same time I need to access that information from the
instance level. I worked it out with one exception --singleton, b/c I
do something like:

  class Foo

    def self.dolist( name )
      list = nil
      ancestors.each do |a|
        if d = a.instance_variable_get("@dolist")
          list = d[name.to_sym]
          break if list
        end
      end
      list
    end

    def foo
      self.class.dolist()
    end

  end

This works unless there is singleton in the hierarchy that has @dolist
defined. But I don't want to call directly on the singleton in foo in
case the singleton doesn't exist --I think that would be an exceedingly
inefficient. Is there another way?

Thanks,
T.