From c2341ee71ae0e5d3ec2873ad8e034d8a4e88ed54 Mon Sep 17 00:00:00 2001 From: Neeraj Singh Date: Wed, 28 Jul 2010 21:43:29 -0400 Subject: superclass_delegating_accessor has been deprecated. I am working on removing all traces of superclass_delegating_accessor from rails code base. https://rails.lighthouseapp.com/projects/8994/tickets/2914-superclass_delegating_accessor-needs-to-be-deprecated-nicely --- .../guides/source/active_support_core_extensions.textile | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'railties') diff --git a/railties/guides/source/active_support_core_extensions.textile b/railties/guides/source/active_support_core_extensions.textile index d14a531abe..6ee7a4220b 100644 --- a/railties/guides/source/active_support_core_extensions.textile +++ b/railties/guides/source/active_support_core_extensions.textile @@ -1135,21 +1135,6 @@ Since values are copied when a subclass is defined, if the base class changes th NOTE: Defined in +active_support/core_ext/class/inheritable_attributes.rb+. -There's a related macro called +superclass_delegating_accessor+, however, that does not copy the value when the base class is subclassed. Instead, it delegates reading to the superclass as long as the attribute is not set via its own writer. For example, +ActionMailer::Base+ defines +delivery_method+ this way: - - -module ActionMailer - class Base - superclass_delegating_accessor :delivery_method - self.delivery_method = :smtp - end -end - - -If for whatever reason an application loads the definition of a mailer class and after that sets +ActionMailer::Base.delivery_method+, the mailer class will still see the new value. In addition, the mailer class is able to change the +delivery_method+ without affecting the value in the parent using its own inherited class attribute writer. - -NOTE: Defined in +active_support/core_ext/class/delegating_attributes.rb+. - h4. Subclasses & Descendants h5. +subclasses+ -- cgit v1.2.3