From 926ff0e0a141e27589b4f5c83e168b10a9ac0a54 Mon Sep 17 00:00:00 2001 From: Xavier Noria Date: Tue, 23 Mar 2010 00:19:17 +0100 Subject: AS guide: documents Module#remove_possible_method --- .../source/active_support_core_extensions.textile | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'railties/guides') diff --git a/railties/guides/source/active_support_core_extensions.textile b/railties/guides/source/active_support_core_extensions.textile index db28e07642..0a9374e028 100644 --- a/railties/guides/source/active_support_core_extensions.textile +++ b/railties/guides/source/active_support_core_extensions.textile @@ -799,6 +799,25 @@ end NOTE: Defined in +active_support/core_ext/module/delegation.rb+. +h4. Method Removal + +h5. +remove_possible_method+ + +The method +remove_possible_method+ is like the standard +remove_method+, except it silently returns on failure: + + +class A; end + +A.class_eval do + remove_method(:nonexistent) # raises NameError + remove_possible_method(:nonexistent) # no problem, continue +end + + +This may come in handy if you need to define a method that may already exist, since redefining a method issues a warning "method redefined; discarding old redefined_method_name". + +NOTE: Defined in +active_support/core_ext/module/remove_method.rb+. + h4. Parents h5. +parent+ -- cgit v1.2.3