OSDN Git Service

2d5e7dde5ab1a264fdd2a2cd69a1a307ad81a0f5
[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'] ||= @name.singularize
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 model
21           ::Manifest.item_name_to_model @model_name
22         end
23         
24         def association_name
25           @parent.association_name
26         end
27         
28       end
29       
30     end
31   end
32 end