From f6b12c11cd3a6df8525dd16ec093ec473813489e Mon Sep 17 00:00:00 2001 From: Pratik Naik Date: Sun, 6 Apr 2008 00:27:12 +0000 Subject: Refactor HasManyThroughAssociation to inherit from HasManyAssociation. Association callbacks and _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 --- activerecord/test/models/post.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'activerecord/test/models') 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...' -- cgit v1.2.3