Add the has_many_polymorphs plugin
[cs356-p2-videostore.git] / vendor / plugins / has_many_polymorphs / test / models / petfood.rb
1 # see http://dev.rubyonrails.org/ticket/5935
2 require 'eaters_foodstuff'
3 require 'petfood'
4 require 'cat'
5 module Aquatic; end
6 require 'aquatic/fish'
7 require 'dog'
8 require 'wild_boar'
9 require 'kitten'
10 require 'tabby'
11 require 'extension_module'
12 require 'other_extension_module'
13
14 class Petfood < ActiveRecord::Base
15   set_primary_key 'the_petfood_primary_key'
16   has_many_polymorphs :eaters, 
17     :from => [:dogs, :petfoods, :wild_boars, :kittens, 
18                     :tabbies, :"aquatic/fish"], 
19 #    :dependent => :destroy, :destroy is now the default
20     :rename_individual_collections => true,
21     :as => :foodstuff,
22     :foreign_key => "foodstuff_id",
23     :ignore_duplicates => false,
24     :conditions => "NULL IS NULL",
25     :order => "eaters_foodstuffs.updated_at ASC",
26     :parent_order => "petfoods.the_petfood_primary_key DESC",
27     :parent_conditions => "petfoods.name IS NULL OR petfoods.name != 'Snausages'",
28     :extend => [ExtensionModule, OtherExtensionModule, proc {}],
29     :join_extend => proc { 
30       def a_method
31         :correct_join_result
32       end
33       },
34     :parent_extend => proc {
35       def a_method
36         :correct_parent_proc_result
37       end
38     }
39  end