Dokumentation von def_delegators mit Yardoc

8

Ich habe eine Klasse, die die Methode def_delegators aus der verwendet Weiterleitbares -Modul. Ich habe keinen Weg gefunden, Yardoc zu erhalten, um Dokumentation dafür auszugeben. Ich habe versucht, ein Makro zu verwenden, aber für diese speziellen Methoden wird nichts ausgegeben (alles andere in der Datei ist in Ordnung, und es gibt keine Fehler), und ich habe mehrere def_delegators unterschiedlicher Länge.

z.B.

%Vor%

Wenn jemand von einem Juwel oder einer Möglichkeit weiß, dies zu tun, was bedeutet, dass ich es vermeiden kann, eine Yard-Erweiterung dafür zu schreiben, wäre ich sehr dankbar.

    
iain 15.02.2013, 09:09
quelle

3 Antworten

3

Nach mehr Experimenten habe ich festgestellt, dass das ganz gut funktioniert:

%Vor%

Es gibt wahrscheinlich eine Möglichkeit, dies in ein oder zwei Zeilen zu tun, aber verglichen mit dem Schreiben einer Erweiterung finde ich das sehr akzeptabel.

Aktualisierung:

Ich habe gerade festgestellt, dass dies besser mit der Dokumentation der delegierten Methoden verknüpft wird:

%Vor%

Dies würde den bereits dokumentierten Rückgabewert aus der Array # size-Methode nehmen. Ich erwarte, dass die anderen Tags das auch tun werden. Es ist immer noch ziemlich ausführlich, aber akzeptabel.

    
iain 15.02.2013, 09:35
quelle
1

Sie müssen die beiden Konzepte kombinieren. Verwenden Sie @! Macro, um eine @! -Methode zu erstellen.

Unten ist meine Version einer Lösung. Aber das Problem für mich ist OptParser ist nicht enthalten, also hat der See auch keinen Link. Der zweite Nachteil ist die Signatur der Methode, Parameter und der Rückgabewert wird nicht beschrieben. Und der dritte ick ist der String, OptParser ist zwar fest, muss aber wirklich angepasst (parametriert) werden können.

Wenn es an eine im Projekt enthaltene Methode weitergeleitet wurde, dann könnten Sie es verwenden (siehe Methode Foo #) (in diesem Fall kein @ -Zeichen) und alles, was in der Foo # -Methode ist, wird in die neue Quelle kopiert. Dies würde getan werden, indem Sie (siehe Foo # $ 2) innerhalb des Makros - mit den enthaltenen Paren. Siehe YARDs Referenztags

%Vor%     
pedz 21.12.2015 15:06
quelle
0

Das funktioniert für mich.

%Vor%

Andere:

  • gem yard-delegate funktioniert nicht für ein solches Konstrukt. Es ist ziemlich alt.
  • Das # @!method über dem einzelnen :method wird nicht verwendet (wird von YARD ignoriert).
  • Besser den Rückgabewert der tatsächlichen Methode angeben, es erzeugt eine Liste, die für den Leser angenehmer ist.
Alex Fortuna 03.11.2017 10:51
quelle

Tags und Links