--27ZtN5FSuKKSZcBU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Thomas Adam (thomas_adam16 / yahoo.com) wrote:

> Hello All,
> 
> Has anyone got, or know of a diagram that shows how the ruby classes are
> ordered in terms of inheritence?

Using ObjectSpace.each_object(Class) and a bit of code (like in the
attached script), you can generate one for yourself.  Note that the
below does not mention any included modules (an exercise for the
reader).

Actually, the code I wrote could no doubt be compacted significantly,
any takers?

ruby 1.6.8 (2002-12-24) [i386-freebsd5]
Kernel
  Object
    Array
    Binding
    ClassNode
    Continuation
    Data
    Dir
    Exception
      Interrupt
      NoMemoryError
      ScriptError
        LoadError
        NameError
        NotImplementedError
        SyntaxError
      SignalException
      StandardError
        ArgumentError
        IOError
          EOFError
        IndexError
        LocalJumpError
        RangeError
          FloatDomainError
        RegexpError
        RuntimeError
        SecurityError
        SystemCallError
          Errno::E2BIG
          Errno::EACCES
          Errno::EADDRINUSE
          Errno::EADDRNOTAVAIL
          Errno::EAFNOSUPPORT
          Errno::EAGAIN
          Errno::EALREADY
          Errno::EBADF
          Errno::EBUSY
          Errno::ECHILD
          Errno::ECONNABORTED
          Errno::ECONNREFUSED
          Errno::ECONNRESET
          Errno::EDEADLK
          Errno::EDESTADDRREQ
          Errno::EDOM
          Errno::EDQUOT
          Errno::EEXIST
          Errno::EFAULT
          Errno::EFBIG
          Errno::EHOSTDOWN
          Errno::EHOSTUNREACH
          Errno::EIDRM
          Errno::EILSEQ
          Errno::EINPROGRESS
          Errno::EINTR
          Errno::EINVAL
          Errno::EIO
          Errno::EISCONN
          Errno::EISDIR
          Errno::ELOOP
          Errno::EMFILE
          Errno::EMLINK
          Errno::EMSGSIZE
          Errno::ENAMETOOLONG
          Errno::ENETDOWN
          Errno::ENETRESET
          Errno::ENETUNREACH
          Errno::ENFILE
          Errno::ENOBUFS
          Errno::ENODEV
          Errno::ENOENT
          Errno::ENOEXEC
          Errno::ENOLCK
          Errno::ENOMEM
          Errno::ENOMSG
          Errno::ENOPROTOOPT
          Errno::ENOSPC
          Errno::ENOSYS
          Errno::ENOTBLK
          Errno::ENOTCONN
          Errno::ENOTDIR
          Errno::ENOTEMPTY
          Errno::ENOTSOCK
          Errno::ENOTTY
          Errno::ENXIO
          Errno::EOPNOTSUPP
          Errno::EOVERFLOW
          Errno::EPERM
          Errno::EPFNOSUPPORT
          Errno::EPIPE
          Errno::EPROTONOSUPPORT
          Errno::EPROTOTYPE
          Errno::ERANGE
          Errno::EREMOTE
          Errno::EROFS
          Errno::ESHUTDOWN
          Errno::ESOCKTNOSUPPORT
          Errno::ESPIPE
          Errno::ESRCH
          Errno::ESTALE
          Errno::ETIMEDOUT
          Errno::ETOOMANYREFS
          Errno::ETXTBSY
          Errno::EUSERS
          Errno::EXDEV
        SystemStackError
        ThreadError
        TypeError
        ZeroDivisionError
      SystemExit
      fatal
    FalseClass
    File::Stat
    Hash
    IO
      File
    MatchData
    Method
      UnboundMethod
    Module
      Class
    NilClass
    Numeric
      Float
      Integer
        Bignum
        Fixnum
    Proc
    Range
    Regexp
    String
    Struct
      Struct::Tms
    Symbol
    Thread
    ThreadGroup
    Time
    TrueClass

-- 
Eric Hodel - drbrain / segment7.net - http://segment7.net
All messages signed with fingerprint:
FEC2 57F1 D465 EB15 5D6E  7C11 332A 551C 796C 9F04


--27ZtN5FSuKKSZcBU
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (FreeBSD)

iD8DBQE/qqWhMypVHHlsnwQRArniAKDbn00UJEiPcq0jICt2A1qlQFZZwwCdGKD3
HS0zRowIs75DSlY9gpY9Xy8+
-----END PGP SIGNATURE-----

--27ZtN5FSuKKSZcBU--