lib/facet/module/rename_method.rb in facets-0.9.0 vs lib/facet/module/rename_method.rb in facets-1.0.0

- old
+ new

@@ -1,37 +1,74 @@ -require 'nano/module/rename_method.rb' \ No newline at end of file +class Module + private + # Aliases a method and undefines the original. + # + # rename_method( :to_method, :from_method ) + # + def rename_method( to_sym, from_sym ) + raise ArgumentError, "method #{from_sym} does not exist" unless method_defined?( from_sym ) + alias_method( to_sym, from_sym ) + undef_method( from_sym ) + end +end + + +# _____ _ +# |_ _|__ ___| |_ +# | |/ _ \/ __| __| +# | | __/\__ \ |_ +# |_|\___||___/\__| +# +=begin test + + require 'test/unit' + + class TCModule < Test::Unit::TestCase + + def a; "A" ; end + + rename_method :b, :a + + def test_rename_method + assert( ! respond_to?( :a ) ) + assert( respond_to?( :b ) ) + end + + end + +=end