From ed080863d5783b09cdc7aa397d3622e9b2eefc82 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 4 Feb 2006 06:11:42 +0000 Subject: Just go with Subclasses instead of OnlySubclasses git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3533 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/lib/action_controller/caching.rb | 2 +- activerecord/lib/active_record/base.rb | 6 ++---- activesupport/lib/active_support/reloadable.rb | 2 +- activesupport/test/reloadable_test.rb | 16 ++++++++-------- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/actionpack/lib/action_controller/caching.rb b/actionpack/lib/action_controller/caching.rb index 4c1c6e6679..dda54459ed 100644 --- a/actionpack/lib/action_controller/caching.rb +++ b/actionpack/lib/action_controller/caching.rb @@ -523,7 +523,7 @@ module ActionController #:nodoc: # ActiveRecord::Observer will mark this class as reloadable even though it should not be. # However, subclasses of ActionController::Caching::Sweeper should be Reloadable - include Reloadable::OnlySubclasses + include Reloadable::Subclasses def before(controller) self.controller = controller diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index 81791201b4..dd0c3e5c79 100755 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -243,7 +243,7 @@ module ActiveRecord #:nodoc: # on to any new database connections made and which can be retrieved on both a class and instance level by calling +logger+. cattr_accessor :logger - include Reloadable::OnlySubclasses + include Reloadable::Subclasses def self.inherited(child) #:nodoc: @@subclasses[self] ||= [] @@ -439,9 +439,7 @@ module ActiveRecord #:nodoc: attributes.collect { |attr| create(attr) } else object = new(attributes) - if scoped?(:create) - scope(:create).each { |att,value| object.send("#{att}=", value) } - end + scope(:create).each { |att,value| object.send("#{att}=", value) } if scoped?(:create) object.save object end diff --git a/activesupport/lib/active_support/reloadable.rb b/activesupport/lib/active_support/reloadable.rb index c71b2fa4bd..3fd13e3d0f 100644 --- a/activesupport/lib/active_support/reloadable.rb +++ b/activesupport/lib/active_support/reloadable.rb @@ -19,7 +19,7 @@ module Reloadable # Captures the common pattern where a base class should not be reloaded, # but its subclasses should be. - module OnlySubclasses + module Subclasses def self.included(base) #nodoc: base.send :include, Reloadable (class << base; self; end).send(:define_method, :reloadable?) do diff --git a/activesupport/test/reloadable_test.rb b/activesupport/test/reloadable_test.rb index 8366471e4a..1b147e0d18 100644 --- a/activesupport/test/reloadable_test.rb +++ b/activesupport/test/reloadable_test.rb @@ -25,14 +25,14 @@ module ReloadableTestSandbox include Reloadable end - class OnlySubclassesReloadable - include Reloadable::OnlySubclasses + class SubclassesReloadable + include Reloadable::Subclasses end - class ASubclassOfOnlySubclassesReloadable < OnlySubclassesReloadable + class ASubclassOfSubclassesReloadable < SubclassesReloadable end class AnOnlySubclassReloadableClassSubclassingAReloadableClass - include Reloadable::OnlySubclasses + include Reloadable::Subclasses end class ASubclassofAOnlySubclassReloadableClassWhichWasSubclassingAReloadableClass < AnOnlySubclassReloadableClassSubclassingAReloadableClass @@ -51,8 +51,8 @@ class ReloadableTest < Test::Unit::TestCase end def test_only_subclass_reloadable - assert ! ReloadableTestSandbox::OnlySubclassesReloadable.reloadable? - assert ReloadableTestSandbox::ASubclassOfOnlySubclassesReloadable.reloadable? + assert ! ReloadableTestSandbox::SubclassesReloadable.reloadable? + assert ReloadableTestSandbox::ASubclassOfSubclassesReloadable.reloadable? end def test_inside_hierarchy_only_subclass_reloadable @@ -66,11 +66,11 @@ class ReloadableTest < Test::Unit::TestCase AReloadableClassWithSubclasses AReloadableSubclass AClassWhichDefinesItsOwnReloadable - ASubclassOfOnlySubclassesReloadable + ASubclassOfSubclassesReloadable ) non_reloadables = %w( ANonReloadableSubclass - OnlySubclassesReloadable + SubclassesReloadable ) results = Reloadable.reloadable_classes -- cgit v1.2.3