1 require_dependency "manifest/model/association/belongs_to"
2 require_dependency "manifest/model/association/has_many"
3 require_dependency "manifest/model/association/has_one"
7 include AssociationModule
8 attr :model, :association_manifest,
9 :belongs_to, :has_many, :has_one
10 def initialize model, association_manifest
12 @association_manifest = association_manifest
18 @association_manifest['belongs_to'] ||= {}
19 @association_manifest['has_many'] ||= {}
20 @association_manifest['has_one'] ||= {}
27 @association_manifest['belongs_to'].each {|belongs_to_name, belongs_to_manifest|
28 @belongs_to[belongs_to_name] = BelongsTo.new(self, belongs_to_name, belongs_to_manifest)
30 @association_manifest['has_many'].each {|has_many_name, has_many_manifest|
31 @has_many[has_many_name] = HasMany.new(self, has_many_name, has_many_manifest)
33 @association_manifest['has_one'].each {|has_one_name, has_one_manifest|
34 @has_one[has_one_name] = HasOne.new(self, has_one_name, has_one_manifest)
46 def child_element_name child_item_name
47 if @has_one[child_item_name]
48 child_model_manifest.model_name
50 child_model_manifest.table_name