aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/autosave_association.rb
diff options
context:
space:
mode:
authorBryan Helmkamp <bryan@brynary.com>2009-05-11 22:23:47 -0400
committerBryan Helmkamp <bryan@brynary.com>2009-05-11 22:23:47 -0400
commita2875bec9a31702a385d2f34e66843ddbe4e9db2 (patch)
tree18e221e8a08f041efd7cb751d5114cf6430272f6 /activerecord/lib/active_record/autosave_association.rb
parent00a9d4b91cccdd88146cbe716eca844dcdfa08e7 (diff)
downloadrails-a2875bec9a31702a385d2f34e66843ddbe4e9db2.tar.gz
rails-a2875bec9a31702a385d2f34e66843ddbe4e9db2.tar.bz2
rails-a2875bec9a31702a385d2f34e66843ddbe4e9db2.zip
Use DependencyModule for included hooks in ActiveRecord
Diffstat (limited to 'activerecord/lib/active_record/autosave_association.rb')
-rw-r--r--activerecord/lib/active_record/autosave_association.rb13
1 files changed, 6 insertions, 7 deletions
diff --git a/activerecord/lib/active_record/autosave_association.rb b/activerecord/lib/active_record/autosave_association.rb
index 9717ca3d8b..4ab2818282 100644
--- a/activerecord/lib/active_record/autosave_association.rb
+++ b/activerecord/lib/active_record/autosave_association.rb
@@ -125,16 +125,15 @@ module ActiveRecord
# post.author.name = ''
# post.save(false) # => true
module AutosaveAssociation
+ extend ActiveSupport::DependencyModule
+
ASSOCIATION_TYPES = %w{ has_one belongs_to has_many has_and_belongs_to_many }
- def self.included(base)
- base.class_eval do
- base.extend(ClassMethods)
- alias_method_chain :reload, :autosave_associations
+ included do
+ alias_method_chain :reload, :autosave_associations
- ASSOCIATION_TYPES.each do |type|
- base.send("valid_keys_for_#{type}_association") << :autosave
- end
+ ASSOCIATION_TYPES.each do |type|
+ send("valid_keys_for_#{type}_association") << :autosave
end
end