From ae147b45bb4aa2168e104ffc989e42f5c9dbfd80 Mon Sep 17 00:00:00 2001
From: Xavier Noria <fxn@hashref.com>
Date: Tue, 10 Aug 2010 03:46:21 +0200
Subject: AS guide: documents Module#(instance_)method_names

---
 .../guides/source/active_support_core_extensions.textile     | 12 ++++++++++++
 1 file changed, 12 insertions(+)

(limited to 'railties/guides/source/active_support_core_extensions.textile')

diff --git a/railties/guides/source/active_support_core_extensions.textile b/railties/guides/source/active_support_core_extensions.textile
index 672bf750bf..e0c69516cf 100644
--- a/railties/guides/source/active_support_core_extensions.textile
+++ b/railties/guides/source/active_support_core_extensions.textile
@@ -1066,6 +1066,18 @@ In the previous example the macro generates +User#avatar_size+ rather than +User
 
 NOTE: Defined in +active_support/core_ext/module/delegation.rb+
 
+h4. Method Names
+
+The builtin methods +instance_methods+ and +methods+ return method names as strings or symbols depending on the Ruby version. Active Support defines +instance_method_names+ and +method_names+ to be equivalent to them, respectively, but always getting strings back.
+
+For example, +ActionView::Helpers::FormBuilder+ knows this array difference is going to work no matter the Ruby version:
+
+<ruby>
+self.field_helpers = (FormHelper.instance_method_names - ['form_for'])
+</ruby>
+
+NOTE: Defined in +active_support/core_ext/module/method_names.rb+
+
 h3. Extensions to +Class+
 
 h4. Class Attributes
-- 
cgit v1.2.3

