diff options
author | Pratik Naik <pratiknaik@gmail.com> | 2008-04-06 00:27:12 +0000 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2008-04-06 00:27:12 +0000 |
commit | f6b12c11cd3a6df8525dd16ec093ec473813489e (patch) | |
tree | 121421e0e9199655419cb2f4a29fa744c32bbb26 /activerecord/test/models | |
parent | 15d88885eedbac1193361a9eea957a7f49e39c9e (diff) | |
download | rails-f6b12c11cd3a6df8525dd16ec093ec473813489e.tar.gz rails-f6b12c11cd3a6df8525dd16ec093ec473813489e.tar.bz2 rails-f6b12c11cd3a6df8525dd16ec093ec473813489e.zip |
Refactor HasManyThroughAssociation to inherit from HasManyAssociation. Association callbacks and <association>_ids= now work with hm:t. Closes #11516 [rubyruy]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9230 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/test/models')
-rw-r--r-- | activerecord/test/models/post.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/activerecord/test/models/post.rb b/activerecord/test/models/post.rb index fcfe260d4a..22c5a645b8 100644 --- a/activerecord/test/models/post.rb +++ b/activerecord/test/models/post.rb @@ -46,6 +46,20 @@ class Post < ActiveRecord::Base has_many :readers has_many :people, :through => :readers + has_many :people_with_callbacks, :source=>:person, :through => :readers, + :before_add => lambda {|owner, reader| log(:added, :before, reader.first_name) }, + :after_add => lambda {|owner, reader| log(:added, :after, reader.first_name) }, + :before_remove => lambda {|owner, reader| log(:removed, :before, reader.first_name) }, + :after_remove => lambda {|owner, reader| log(:removed, :after, reader.first_name) } + + def self.reset_log + @log = [] + end + + def self.log(message=nil, side=nil, new_record=nil) + return @log if message.nil? + @log << [message, side, new_record] + end def self.what_are_you 'a post...' |