zapnap / rdocinfo

New development has moved to http://github.com/lsegal/rubydoc.info
http://rdoc.info
MIT License
18 stars 3 forks source link

Generator dies on certain classes #22

Closed epitron closed 14 years ago

epitron commented 15 years ago

I've seen this problem before, but I can't remember which gems had it. Here's the most recent one I've run across: http://rdoc.info/projects/jeremyevans/sequel

The classes are listed in the left column, but the documentation isn't getting generated. Try clicking on Sequel::ADO, Sequel::MSSQL, Sequel::MySQL, Sequel::DataObjects, Sequel::DataSet, etc.

I'm not sure what the cause is -- maybe it's that there are missing dependencies (eg: sequel/lib/sequel/dataset.rb contains no requires, but includes and extends a bunch of external classes, which are probably required by whatever's requiring it.)

zapnap commented 15 years ago

Yeah something seems to be amiss here. We'll look into it shortly. (does this happen when you generate YARD documentation with yardoc locally?)

epitron commented 15 years ago

Here's what happens when I manually YARDOC Sequel:

[error]: Unhandled exception in YARD::Handlers::Ruby::Legacy::AliasHandler:
[error]: NoMethodError: private method `gsub' called for nil:NilClass
[error]:   in `lib/sequel/adapters/ado.rb`:53:

    53:  alias do execute

[warn]: Unknown tag @primary_keys in file `lib/sequel/adapters/firebird.rb` near line 67
[warn]: in YARD::Handlers::Ruby::Legacy::ClassHandler: Undocumentable class 'conn'
[warn]:         in file 'lib/sequel/adapters/jdbc.rb':355:

    355:  class << conn

[warn]: in YARD::Handlers::Ruby::Legacy::ClassHandler: Undocumentable class 'conn'
[warn]:         in file 'lib/sequel/adapters/mysql.rb':119:

    119:  class << conn

[error]: Unhandled exception in YARD::Handlers::Ruby::Legacy::AliasHandler:
[error]: NoMethodError: private method `gsub' called for nil:NilClass
[error]:   in `lib/sequel/adapters/odbc.rb`:72:

    72:  alias do execute_dui

[warn]: in YARD::Handlers::Ruby::Legacy::MixinHandler: Undocumentable mixin (@overridable_methods_module = Module.new) unless @overridable_methods_module for class Sequel::Model::ClassMethods
[warn]:         in file 'lib/sequel/model/base.rb':445:

    445:  include(@overridable_methods_module = Module.new) unless @overridable_methods_module

...etc...

There seem to be some patterns, like "alias". I guess I should file a bug with YARD. :)

epitron commented 15 years ago

lsegal replied to the bug report:

http://github.com/lsegal/yard/issues/closed/#issue/31/comment/54117

zapnap commented 15 years ago

I believe Loren was indicating that it would document the errors in the warnings you saw above (which it does, you just don't see the output). The files are missing presumably because the can't finish generating? Maybe I'm confused. Let me know. The easiest way to discuss is in IRC, probably (you know where you can find both lsegal and me ;-).

zapnap commented 14 years ago

I'm closing this out as it's isolated to a specific project and/or outdated version of YARD. I should note, though, that Rdoc.info has been updated to YARD 0.4.0 and also logs any build failures via hoptoad so one of us can investigate and advise users as to any build failures.

epitron commented 14 years ago

Okay, thanks. :)

The sequel docs aren't as messed up anymore, so maybe something got fixed.