Class: Module
- Inherits:
-
Object
- Object
- Module
- Defined in:
- lib/rubernate/mixins.rb
Instance Method Summary collapse
-
#find_all(scaned = Set.new, &filter) ⇒ Object
Iterates over all classes.
-
#find_class(name, scaned = Set.new) ⇒ Object
Finds class defined in current module.
Instance Method Details
#find_all(scaned = Set.new, &filter) ⇒ Object
Iterates over all classes.
22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/rubernate/mixins.rb', line 22 def find_all scaned = Set.new, &filter # :yeild: class scaned << self result = [] for unit in module_units - scaned if unit.is_a? Class result << unit if yield unit end result.concat unit.find_all(scaned, &filter) end return result end |
#find_class(name, scaned = Set.new) ⇒ Object
Finds class defined in current module.
:call-seq: find_class(name, scaned = Set.new)
Module.find_class 'ClassName' # finds class 'ClassName' in global space
SomeModule.find_class 'ClassName' # finds class 'ClassName' in module SomeModule
11 12 13 14 15 16 17 18 19 |
# File 'lib/rubernate/mixins.rb', line 11 def find_class name, scaned = Set.new scaned << self for unit in module_units - scaned return unit if unit.name == name result = unit.find_class name, scaned return result if result end nil end |