lib/mpatch/module.rb in mpatch-2.4.0 vs lib/mpatch/module.rb in mpatch-2.5.0
- old
+ new
@@ -56,9 +56,39 @@
return_array
end
+ def alias_singleton_methods_from class_name, *sym_names
+
+ method_names= sym_names.map{|e|e.to_s}
+ method_names= class_name.singleton_methods if method_names.empty?
+
+ method_names.each do |sym_name|
+ self.define_singleton_method(sym_name) { |*args|
+
+ if class_name.method(sym_name).parameters.empty?
+ class_name.method(sym_name).call
+ else
+ class_name.method(sym_name).call *args
+ end
+
+ }
+ end
+
+ end
+
+ def alias_instance_methods_from class_name, *sym_names
+
+ method_names= sym_names.map{|e|e.to_s}
+ method_names= class_name.instance_methods if method_names.empty?
+
+ method_names.each do |sym_name|
+ self.__send__ :define_method, sym_name, class_name.instance_method(sym_name)
+ end
+
+ end
+
end
end
module Extend