--- !ruby/object:RI::MethodDescription 
aliases: []

block_params: 
comment: 
- !ruby/struct:SM::Flow::P 
  body: Converts module methods into instance methods such that the first parameter is passed <tt>self</tt>. This promotes DRY programming when wishing to offer both inheritable and module callable procedures.
- !ruby/struct:SM::Flow::P 
  body: "This method is modeled after <tt>module_function</tt> which essentially has the the opposite effect. Due to implementation limitations, this must use the callback #singleton_method_added to emulate <tt>module_function</tt> when no method names are given."
- !ruby/struct:SM::Flow::VERB 
  body: "  module MyModule\n    instance_function\n\n    def self.jumble( obj, arg )\n      obj + arg\n    end\n  end\n\n  class String\n    include MyModule\n  end\n\n  MyModule.jumble( &quot;Try&quot;, &quot;Me&quot; )  #=&gt; &quot;TryMe&quot;\n\n  &quot;Try&quot;.jumble( &quot;Me&quot; )            #=&gt; 'TryMe'\n"
- !ruby/struct:SM::Flow::P 
  body: "Note: This used to be a module called PromoteSelf and later Instantize, before becoming a method."
full_name: Module#instance_function
is_singleton: false
name: instance_function
params: (*meths)
visibility: public
