J'ai un module Foo
, que c'est l'espace de noms pour de nombreuses classes comme Foo::Bar
, Foo::Baz
et ainsi de suite.Comment obtenir tous les noms de classe dans un espace de noms dans Ruby?
Existe-t-il un moyen de renvoyer tous les noms de classe avec le nom Foo
?
Ceci est une excellente réponse. On oublie parfois que les constantes dans ruby sont quelque chose qui commence par une majuscule, donc les noms de classe sont des instances constantes de type classe. +1 –
@jcaudle Ruby ne * * pas * paresser les classes de chargement. Tu penses à Rails. – sepp2k
Assurez-vous de charger toutes les classes avant: 'Dir [" app/models/foo/*. Rb "]. Chaque {| fichier | charger le fichier} ' – espinchi