Module: Showcase::Helpers::ModuleMethodBuilder

Included in:
Presenter
Defined in:
lib/showcase/helpers/module_method_builder.rb

Instance Method Summary collapse

Instance Method Details

#define_module_method(name_chunks, &block) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/showcase/helpers/module_method_builder.rb', line 4

def define_module_method(name_chunks, &block)
  method_name = Array(name_chunks).map(&:to_s).map(&:presence).compact.join("_")
  if method_defined?(method_name)
    false
  else
    method_module = Module.new do
      define_method(method_name, &block)
    end
    include(method_module)
    true
  end
end