aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/core_ext/module/inclusion.rb
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2008-03-26 12:27:52 +0000
committerPratik Naik <pratiknaik@gmail.com>2008-03-26 12:27:52 +0000
commitca9413674ea70dc67ab517734af2e40dac21beef (patch)
tree86cbf305a2b1b4688a5b6f7cfbce8a9aa505c5f7 /activesupport/lib/active_support/core_ext/module/inclusion.rb
parent5c47ceb30b940a8cd8eb681a898895bce46f79dd (diff)
downloadrails-ca9413674ea70dc67ab517734af2e40dac21beef.tar.gz
rails-ca9413674ea70dc67ab517734af2e40dac21beef.tar.bz2
rails-ca9413674ea70dc67ab517734af2e40dac21beef.zip
Improve documentation.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9093 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activesupport/lib/active_support/core_ext/module/inclusion.rb')
-rw-r--r--activesupport/lib/active_support/core_ext/module/inclusion.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/core_ext/module/inclusion.rb b/activesupport/lib/active_support/core_ext/module/inclusion.rb
index efc00d6f28..4f23841645 100644
--- a/activesupport/lib/active_support/core_ext/module/inclusion.rb
+++ b/activesupport/lib/active_support/core_ext/module/inclusion.rb
@@ -1,4 +1,23 @@
class Module
+ # Returns the classes in the current ObjectSpace where this module has been
+ # mixed in according to Module#included_modules.
+ #
+ # module M
+ # end
+ #
+ # module N
+ # include M
+ # end
+ #
+ # class C
+ # include M
+ # end
+ #
+ # class D < C
+ # end
+ #
+ # p M.included_in_classes # => [C, D]
+ #
def included_in_classes
classes = []
ObjectSpace.each_object(Class) { |k| classes << k if k.included_modules.include?(self) }