Project

General

Profile

Actions

Bug #10105

closed

Mixed styles for class methods on Tempfile break RDocs.

Added by eloyesp (Eloy Esp) over 10 years ago. Updated over 10 years ago.

Status:
Closed
Assignee:
Target version:
-
ruby -v:
2.1.1
[ruby-core:64157]

Description

I've already made a little pull request here https://github.com/ruby/ruby/pull/691.

The diff is here: https://github.com/ruby/ruby/pull/691.diff

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

Changes ignoring white-space: https://github.com/ruby/ruby/pull/691/files?w=1

Regards.

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

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

Rather I think it a bug of RDoc.

Updated by eloyesp (Eloy Esp) over 10 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) over 10 years ago

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

Updated by zzak (zzak _) over 10 years ago

  • Assignee changed from drbrain (Eric Hodel) to zzak (zzak _)
  • 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:

See http://docs.seattlerb.org/rdoc/RDoc/Parser/Ruby.html#class-RDoc::Parser::Ruby-label-Metaprogrammed+Methods

Could you send a patch for this instead?

Updated by eloyesp (Eloy Esp) over 10 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 ( https://github.com/rdoc/rdoc/issues/317 ).

So the Tempfile.open 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) over 10 years ago

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

Applied in changeset r47133.


lib/tempfile.rb: include doc of Tempfile.open

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

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0