Module: Konfig::ChildClassManager::ClassMethods
- Defined in:
- lib/konfig/child_class_manager.rb
Instance Method Summary collapse
-
#child_classes ⇒ Array
Get all child classes.
-
#child_instances ⇒ Array
Instanciates all child classes.
-
#clear_child_classes ⇒ Object
Remove child classes from registry.
-
#create_child_instances(*params) ⇒ Array
Instanciates all child classes.
-
#inherited(child_class) ⇒ Object
Should not be called directly.
-
#send_to_child_instances(*params) ⇒ Object
Invoke ‘send’ on all child instances.
Instance Method Details
#child_classes ⇒ Array
Get all child classes
20 21 22 |
# File 'lib/konfig/child_class_manager.rb', line 20 def child_classes @child_classes ||= [] end |
#child_instances ⇒ Array
Instanciates all child classes
43 44 45 |
# File 'lib/konfig/child_class_manager.rb', line 43 def child_instances @child_instances || [] end |
#clear_child_classes ⇒ Object
Remove child classes from registry
25 26 27 |
# File 'lib/konfig/child_class_manager.rb', line 25 def clear_child_classes @child_classes = [] end |
#create_child_instances(*params) ⇒ Array
Instanciates all child classes
31 32 33 |
# File 'lib/konfig/child_class_manager.rb', line 31 def create_child_instances(*params) @child_instances = child_classes.map { |c| c.new(*params) } end |
#inherited(child_class) ⇒ Object
Should not be called directly.
14 15 16 |
# File 'lib/konfig/child_class_manager.rb', line 14 def inherited(child_class) child_classes << child_class end |
#send_to_child_instances(*params) ⇒ Object
Invoke ‘send’ on all child instances
37 38 39 |
# File 'lib/konfig/child_class_manager.rb', line 37 def send_to_child_instances(*params) @child_instances.each { |c| c.send(*params) } end |