On 19.06.2008, at 20:44, Benedikt Deicke wrote:

"Rubymässig" könntest du das so machen:

class Payment
  @@subclasses = Array.new
  class << self
     def inherited(klass)
        @@subclasses << klass
     end

     def subclasses
        @@subclasses
     end
  end
end

class PaymentA < Payment; end
class PaymentB < Payment; end
class PaymentC < Payment; end

Payment.subclasses -> [PaymentA, PaymentB, PaymentC]

Ich vermute mit Rails müsste das genauso gehen. Allerdings hab' ich's
noch nicht ausprobiert.

Undokumentiert, aber vorhanden, also Selbstbau absolut unnoetig:

subclasses_of(Payment)

Es gibt auch eine Methode subclasses ueber ActiveSupport, die allerdings in ActiveRecord ueberschrieben wird, und protected ist.

Cheers, Mathias
--
// Mathias Meyer
// PAPERPLANES SOFTWARE.ENTWICKLUNG
// www.paperplanes.de
// Gabriel-Max-Str. 3, 10245 Berlin
// meyer.at.paperplanes.de, 0163.765.27.47


_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an