Module: ModuleCluster::Define::Block::Module

Extended by:
ExtendForCascade
Includes:
CascadeFeatures::ClusterStack, Suspend::WithoutHooks
Included in:
ClassOrModule, ModuleOrInstance, ModuleOrSubclass
Defined in:
lib/module-cluster.rb,
lib/module-cluster/ModuleCluster/Define/Block/Module.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ExtendForCascade

extended

Methods included from Suspend::WithoutHooks

#without_any_extend_hooks, #without_any_hooks, #without_any_include_hooks, #without_extend_hooks, #without_include_hooks, #without_prepend_extend_hooks, #without_prepend_include_hooks

Methods included from Suspend::Hooks

#all_extend_hooks_suspended?, #all_hooks_suspended?, #all_include_hooks_suspended?, #extend_hooks_suspended?, #hooks_suspended?, #include_hooks_suspended?, #prepend_extend_hooks_suspended?, #prepend_include_hooks_suspended?, #resume_any_extend_hooks, #resume_any_hooks, #resume_any_include_hooks, #resume_extend_hooks, #resume_include_hooks, #resume_prepend_extend_hooks, #resume_prepend_include_hooks, #suspend_any_extend_hooks, #suspend_any_hooks, #suspend_any_include_hooks, #suspend_extend_hooks, #suspend_include_hooks, #suspend_prepend_extend_hooks, #suspend_prepend_include_hooks

Methods included from CascadeFeatures::ClusterStack

#cluster_stack, cluster_stack, cluster_stacks

Class Method Details

.should_cascade?(class_or_module) ⇒ Boolean

self.should_cascade? #

Returns:

  • (Boolean)


13
14
15
# File 'lib/module-cluster/ModuleCluster/Define/Block/Module.rb', line 13

def self.should_cascade?( class_or_module )
  return false
end

.should_run_block?(hooked_instance) ⇒ Boolean

self.should_run_block? #

Returns:

  • (Boolean)


21
22
23
# File 'lib/module-cluster/ModuleCluster/Define/Block/Module.rb', line 21

def self.should_run_block?( hooked_instance )
  return hooked_instance.is_a?( Module ) && ! hooked_instance.is_a?( Class )
end

Instance Method Details

#module_extend(&runtime_block) ⇒ Object

module_extend #



37
38
39
# File 'lib/module-cluster/ModuleCluster/Define/Block/Module.rb', line 37

def module_extend( & runtime_block )
  return cluster_stack.module_extend( ::ModuleCluster::Define::Block::Module, __method__, runtime_block )
end

#module_include(&runtime_block) ⇒ Object

module_include #



29
30
31
# File 'lib/module-cluster/ModuleCluster/Define/Block/Module.rb', line 29

def module_include( & runtime_block )
  return cluster_stack.module_include( ::ModuleCluster::Define::Block::Module, __method__, runtime_block )
end

#module_include_or_extend(&runtime_block) ⇒ Object

module_include_or_extend #



45
46
47
48
49
# File 'lib/module-cluster/ModuleCluster/Define/Block/Module.rb', line 45

def module_include_or_extend( & runtime_block )
  include_set = module_include( & runtime_block )
  extend_set = module_extend( & runtime_block )
  return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
end

#prepend_module_extend(&runtime_block) ⇒ Object

prepend_module_extend #



63
64
65
# File 'lib/module-cluster/ModuleCluster/Define/Block/Module.rb', line 63

def prepend_module_extend( & runtime_block )
  return cluster_stack.prepend_module_extend( ::ModuleCluster::Define::Block::Module, __method__, runtime_block )
end

#prepend_module_include(&runtime_block) ⇒ Object

prepend_module_include #



55
56
57
# File 'lib/module-cluster/ModuleCluster/Define/Block/Module.rb', line 55

def prepend_module_include( & runtime_block )
  return cluster_stack.prepend_module_include( ::ModuleCluster::Define::Block::Module, __method__, runtime_block )
end

#prepend_module_include_or_extend(&runtime_block) ⇒ Object

prepend_module_include_or_extend #



71
72
73
74
75
# File 'lib/module-cluster/ModuleCluster/Define/Block/Module.rb', line 71

def prepend_module_include_or_extend( & runtime_block )
  include_set = prepend_module_include( & runtime_block )
  extend_set = prepend_module_extend( & runtime_block )
  return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
end