subclasses_of core method

class Account < ActiveRecord::Base   # Catch-all for methods like is_admin_or_operator.   def method_missing(method_name, *arguments)     return super unless method_name.to_s =~ /\Ais_/     subclasses_for_scan = Regexp.union(*Object.subclasses_of(Account).map { |c| c.name.downcase })     klasses = method_name.to_s.scan(subclasses_for_scan)     klasses.include?(self.class.to_s.downcase)   end

hello. I'm trying to use the above code but I have a problem with subclasses_of, returning random results, probably because of model load order.

is there a stable way to fetch every subclass of Account without including every subclass in the same file or by parsing model source files? also I would like to move subclasses_for_scan implementation outside this method, to make only one call.

thanks.