Compte tenu du fichier ruby suivant, foo.rb:obtenir des commentaires YARD pour les objets Ruby programme
# this is a module comment
module A
# this is a constant comment
B = 'hi'
# this is a class comment
class C
# this is a method comment
# @param [String] name Who to say hi to
# @return [String]
def self.hi(name)
"#{B}, #{name}"
end
end
end
Comment peut-on obtenir les commentaires programme associés à des objets particuliers (par exemple {A::C => 'this is a class comment'}
, {B => 'this is a constant comment'}
)?
Je m'attendrais à YARD.parse(File.read('/path/to/foo.rb'))
ou à YARD::Parser::SourceParser.parse(File.read('/path/to/foo.rb'))
de faire quelque chose, mais ils renvoient des tableaux vides. YARD::Parser::Ruby::RubyParser.parse(File.read('/path/to/foo.rb'))
renvoie une instance YARD::Parser::Ruby::RipperParser
qui semble être une AST, mais je préférerais éviter d'écrire un traversier AST (YARD doit avoir cette fonctionnalité pour structurer la documentation HTML, mais je n'ai pas réussi à la trouver).
(J'utilise YARD v0.9.9 dans le cas qui est utile.)