Comment listeriez-vous les modules qui ont été inclus dans une classe spécifique dans une hiérarchie de classes dans Ruby? Quelque chose comme ceci:Comment lister les modules inclus dans une classe Ruby?
module SomeModule
end
class ParentModel < Object
include SomeModule
end
class ChildModel < ParentModel
end
p ChildModel.included_modules #=> [SomeModule]
p ChildModel.included_modules(false) #=> []
Liste des ancêtres fait plus apparaître le module dans l'arbre:
p ChildModel.ancestors #=> [ChildModel, ParentModel, SomeModule, Object, Kernel]
Je ne suis pas l'affiche originale, mais Je pense que je peux répondre à votre question re: l'argument booléen. Lance s'attend à ce que cette méthode '.included_modules' se comporte comme' # methods', '# public_methods' et d'autres méthodes similaires dans Ruby. Sur ceux-ci, une valeur 'true' signifie" montrez-moi les méthodes que cet objet a obtenu de sa classe EN PLUS DE celles qu'il a reçues de ses classes ancêtres et inclus des modules ". Une valeur false ne renvoie pas ces méthodes supplémentaires. – pablobm