class Module
def redefine_method(method, &block)
Replaces the existing method definition, if there is one, with the passed
def redefine_method(method, &block) visibility = method_visibility(method) silence_redefinition_of_method(method) define_method(method, &block) send(visibility, method) end