Skip to content

Commit

Permalink
AS guide: documents Object#subclasses_of
Browse files Browse the repository at this point in the history
  • Loading branch information
fxn committed Jan 16, 2010
1 parent 844b8e7 commit 0ec7609
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions railties/guides/source/active_support_core_extensions.textile
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -329,6 +329,40 @@ h5. +remove_subclasses_of+


The method +remove_subclasses_of+ receives an arbitrary number of class objects and removes their subclasses. It is a wrapper of +Class#remove_class+ explained with more details in "Class Removal FIX THIS LINK":FIXME. The method +remove_subclasses_of+ receives an arbitrary number of class objects and removes their subclasses. It is a wrapper of +Class#remove_class+ explained with more details in "Class Removal FIX THIS LINK":FIXME.


h5. +subclasses_of+

The method +subclasses_of+ receives an arbitrary number of class objects and returns all their reachable descendants as a single array:

<ruby>
class C; end
subclasses_of(C) # => []

subclasses_of(Integer) # => [Bignum, Fixnum]

module M
class A; end
class B1 < A; end
class B2 < A; end
end

module N
class C < M::B1; end
end

subclasses_of(M::A) # => [N::C, M::B2, M::B1]
</ruby>

The order in which these classes are returned is unspecified. The returned collection may have duplicates:

<ruby>
subclasses_of(Numeric, Integer)
# => [Bignum, Float, Fixnum, Integer, Date::Infinity, Rational, BigDecimal, Bignum, Fixnum]
</ruby>

See also +Class#subclasses+ in "Extensions to +Class+ FIXME THIS LINK":FIXME.

NOTE: Defined in +active_support/core_ext/object/extending.rb+.

h4. Instance Variables h4. Instance Variables


Active Support provides several methods to ease access to instance variables. Active Support provides several methods to ease access to instance variables.
Expand Down

0 comments on commit 0ec7609

Please sign in to comment.