Sha256: 5f2d6e7e02c839d58f9c9d8809fa8ca4c731ca09fdca6aa089b97afe35cb4fd1

Contents?: true

Size: 440 Bytes

Versions: 7

Compression:

Stored size: 440 Bytes

Contents

class Module

  private

  # Include module and apply module_fuction to the
  # included methods.
  #
  #   module Utils
  #     module_function
  #     def foo; "foo"; end
  #   end
  #
  #   module UtilsPlus
  #     include_function_module Utils
  #   end
  #
  #  CREDIT: Trans

  def include_function_module *mod
    include(*mod)
    module_function(*mod.collect{|m| m.private_instance_methods & m.methods(false)}.flatten)
  end

end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
facets-2.4.0 lib/facets/module/include_function_module.rb
facets-2.4.1 lib/facets/module/include_function_module.rb
facets-2.4.2 lib/core/facets/module/include_function_module.rb
facets-2.4.3 lib/core/facets/module/include_function_module.rb
facets-2.4.4 lib/core/facets/module/include_function_module.rb
facets-2.4.5 lib/core/facets/module/include_function_module.rb
mack-facets-0.8.2 lib/gems/facets-2.4.5/lib/core/facets/module/include_function_module.rb