On Mon, Dec 2, 2013 at 4:07 PM, Artem S. <lists / ruby-forum.com> wrote:
> It seems that Ruby lacks the diagram of a core object model. The only
> helpful article I found was
> http://jeromedalbert.com/a-diagram-of-the-ruby-core-object-model/, but
> it doesn't include some classes and some words are not so easy to read.
>
> So I tried to make good visualization and created this diagram:
>
> https://lh4.googleusercontent.com/e_Eml6aYg1udItOLjQCzUKF1L2K1JcjyZTnzYwcP7A=w1530-h800-no
>
> I hope it will be helpful. If you find any mistakes please inform me so
> I can update this diagram (I will post updated version at this page:
> http://rubylangfindings.blogspot.com/2013/12/ruby-core-object-model.html)

Nice !

I have a couple questions, though:

- I think there's a red arrow missing between the block that includes
IO, Dir and File::Stat to Object, if I understand correctly. I'm not
so sure about ARGF, it seems to be a special thing:

2.0.0-p195 :011 > ARGF.class
 => ARGF.class
2.0.0-p195 :010 > ARGF.superclass
NoMethodError: undefined method `superclass' for ARGF:ARGF.class

I guess I'll have to read a bit more about it.

- The same for the rounded classes that are outside boxes, such as
String, Symbol, Random, Date and Time.

- String and Time include Comparable.

- IO includes File::Constants

- I find it confusing that the only green arrows are between Module
and Class, and between Class and itself. I guess drawing an arrow
between all classes and Class is too cumbersome. If that's true and
that's the reason you drew the green background to represent that,
then you should remove the link from Class to itself, since Class sits
in the green background too, so it would be implied.

- Similar for the blue arrows.

Thanks for this work, it's great.

Jesus.