Module: IncludeModule

Defined in:
lib/include_module.rb

Instance Method Summary collapse

Instance Method Details

#include_module(new_module, instance_methods: [], class_methods: [], included: false) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
# File 'lib/include_module.rb', line 2

def include_module(new_module, instance_methods: [], class_methods: [], included: false)
  if is_a?(Class)
    __include_class_methods_in_class(new_module: new_module, method_names: class_methods)
    __include_included_blocks_in_class(new_module: new_module, included: included)
  else
    __include_class_methods_in_module(new_module: new_module, method_names: class_methods)
    __store_included_block_in_module(new_module: new_module, included: included)
  end

  __include_instance_methods(new_module: new_module, method_names: instance_methods)
end