Module M
Class C
end
end
Ce que je besoin est quelque chose comme:peut me dire si un rubis Wass de classe donnée définie dans un module donné
M.was_defined_here?(M::C)
M.classes.include?(M::C)
Est-ce que cela existe en quelque sorte?
Je sais que je pourrais analyser M :: C.name. Mais quelqu'un pourrait avoir l'idée de changer le nom du module, pour le rendre plus astucieux ou quelque chose comme ça. Je veux une solution propre.
Je pense Mc onstants.find {| c | M.const_get (c) == M :: C} fonctionne mieux. – johannes
Bon point. Je vais l'ajouter à la réponse. – sepp2k
Un bon début, mais ça ne marchera pas si M :: C n'existe pas du tout. –