OSDN Git Service

fix remove tree
[pettanr/pettanr.git] / lib / manifest / model / association / has_many.rb
1 module Manifest
2   module ModelModule
3     module AssociationModule
4       class HasMany < ManifestBase::NameValues
5         attr :model_name, :foreign_key, :through
6         
7         def set_default
8           super
9           @values['model_name'] ||= ::Manifest.singularize @name
10           @values['foreign_key'] ||= @parent.model_name + '_id'
11         end
12         
13         def init
14           super
15           @model_name = @values['model_name']
16           @foreign_key = @values['foreign_key']
17           @through = @values['through']
18         end
19         
20         def through?
21           @through.blank? == false
22         end
23         
24         def model
25           ::Manifest.item_name_to_model @model_name
26         end
27         
28         def association_name
29           @parent.association_name
30         end
31         
32       end
33       
34     end
35   end
36 end