Strange ruby documentation ?!


#1

Hi,

I noticed soon something weird about Object documentation (in fact, one
of my colleagues saw it and he asked me what’s the catch):

irb(main):001:0> a = “abc”
=> “abc”
irb(main):002:0> a.to_yaml
NoMethodError: undefined method `to_yaml’ for “abc”:String
from (irb):2
from :0

but after require ‘yaml’ everything is ok.

Ok, I know that yaml is placing this method to Object class when
required, but why is it by default documented in Object class ? What may
be the reason ?

Thanks.


#2

Alin P. wrote:

Ok, I know that yaml is placing this method to Object class when
required, but why is it by default documented in Object class ? What may
be the reason ?

It’s the way rdoc currently works; it parses a set of files and rolls up
methods found for the various classes and modules it encounters. It is
not able to indicate from where a method originated or that certain
methods are provided on an object only when one or another module is
included.


James B.

www.happycamperstudios.com - Wicked Cool Coding
www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff


#3

James B. wrote:

Alin P. wrote:

Ok, I know that yaml is placing this method to Object class when
required, but why is it by default documented in Object class ? What may
be the reason ?

It’s the way rdoc currently works; it parses a set of files and rolls up
methods found for the various classes and modules it encounters. It is
not able to indicate from where a method originated or that certain
methods are provided on an object only when one or another module is
included.


James B.

www.happycamperstudios.com - Wicked Cool Coding
www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff

Thanks James,

It makes sense.