Module: ModuleCluster::ExtendForCascade

Defined Under Namespace

Modules: Subclass

Instance Method Summary collapse

Instance Method Details

#extended(module_cluster_configuration_instance) ⇒ Object

extended #



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/module-cluster/_private_/ModuleCluster/ExtendForCascade.rb', line 8

def extended( module_cluster_configuration_instance )

 super

  if module_cluster_configuration_instance.is_a?( Class )

	  module_cluster_configuration_instance.module_eval do
	    # when a module-cluster definition module is used to extend a module,
	    # define self#extended, self#included, self#append_features, self#extend_object in
	    # module_cluster_module ( module extended with module-cluster definition module )
	    extend ::ModuleCluster::CascadeFeatures::Subclass
    end
    
  else
    
	  module_cluster_configuration_instance.instance_eval do
	    # when a module-cluster definition module is used to extend a module,
	    # define self#extended, self#included, self#append_features, self#extend_object in
	    # module_cluster_module ( module extended with module-cluster definition module )
	    extend ::ModuleCluster::CascadeFeatures
    end
  
  end
  
end