Ri missing some system libraries


(Charles Comstock) #1

What exactly should / shouldn’t Ri be missing? I assumed stuff like TCPSocket
would be listed, but in my stable snapshot of 1.8.1 from earlier this week, I
get no Ri reference to those classes, despite if I remember correctly, some
documentation from them existing in the Programming Ruby book.
Charles Comstock


(Gavin Sinclair) #2

What exactly should / shouldn’t Ri be missing? I assumed stuff like
TCPSocket would be listed, but in my stable snapshot of 1.8.1 from
earlier this week, I get no Ri reference to those classes, despite if I
remember correctly, some documentation from them existing in the
Programming Ruby book.
Charles Comstock

TCPSocket is not “core API”; it’s “standard library”. ‘ri’ attempts to
document both categories using the source code. The code for TCPSocket is
in ext/socket/socket.c, which has no documentation at all in it.

RDoc uses certain heuristics to understand C files. If classes and
methods are not defined in a certain (common) way, then RDoc won’t pick
them up unless you give explicit comments like

/*

  • Document-class: TCPSocket
···
    • TCPSocket is a …
      */

I think the whole core API has been documented. The standard library,
however, is large and progress is slow. I just finished strscan, which
has excellent (but incomplete) documentation in RD form. All up, it took
me about 10 hours to properly document the source code.

Could you please visit OnlineDocumentationIssues on the Wiki to report
TCPSocket and other classes you notice to be missing?

Cheers,
Gavin