Bug #10105


Mixed styles for class methods on Tempfile break RDocs.

Added by eloyesp (Eloy Esp) almost 8 years ago. Updated almost 8 years ago.

Target version:
ruby -v:


I've already made a little pull request here

The diff is here:

But to make the real changes clear is it better to ignore white-space (as there are many indentation changes).

Changes ignoring white-space:


Updated by nobu (Nobuyoshi Nakada) almost 8 years ago

  • Status changed from Open to Third Party's Issue
  • Assignee changed from zzak (Zachary Scott) to drbrain (Eric Hodel)
  • Priority changed from 3 to Normal

Rather I think it a bug of RDoc.

Updated by eloyesp (Eloy Esp) almost 8 years ago

I don't think that it is only a bug in RDoc.

There are at least 3 ways to define class methods in ruby, and I think that all are acceptable, but define two class methods in different ways in the standard library it's not a good example, nor a good practice and does not help in readability.

Ok, there is a lacking feature in RDoc, but I don't think that keeping it that way is the way to go.

Updated by nobu (Nobuyoshi Nakada) almost 8 years ago

It's valid code, at least.
Whether you consider it a good example or not is another story.

Updated by zzak (Zachary Scott) almost 8 years ago

  • Assignee changed from drbrain (Eric Hodel) to zzak (Zachary Scott)
  • Status changed from Third Party's Issue to Assigned

This may be a bug in RDoc, but we can fix it without redefining the methods by using the document method directive:


Could you send a patch for this instead?

Updated by eloyesp (Eloy Esp) almost 8 years ago

I've tried to fix it only touching documentation, and it seems to be
impossible, rdoc does not understand the class << self syntax (I
understand rdoc in this point, ruby is not easy to parse). I've added an
issue in Rdoc for it ( ).

So the method needs to be redefined to be understand by rdoc.

I've updated the pull request with the minimal change that will fix the
issue I don't like it as it define class methods outside of the class
itself (so the source is harder to read), and it hardcode the class name
two times (that I think is ugly).

I quite not understand why there is so much resistance to refactor the code
for readability.

--- Eloy

Updated by nobu (Nobuyoshi Nakada) almost 8 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

Applied in changeset r47133.

lib/tempfile.rb: include doc of

  • lib/tempfile.rb: start rdoc parsing inside singleton class
    definition to include the document there.
    [ruby-core:64157] [Bug #10105]

Also available in: Atom PDF