OSDN Git Service

fix manifest list_group tree
[pettanr/pettanr.git] / lib / manifest / list_group / list / includes / auto.rb
1 module Manifest
2   module ListGroupModule
3     module ListModule
4       module IncludeModule
5         class IncludeAuto < Base
6           attr :tree_name
7           def set_default
8             super
9             @includes_manifest['args']['tree_name'] ||= @list.tree_name
10           end
11           
12           def init
13             super
14             @tree_name = @args['tree_name']
15           end
16           
17           def includes
18             model_manifest = ::Manifest.manifest.models[self.item_name]
19             tree_manifest = model_manifest.tree[self.tree_name]
20             if tree_manifest
21               tree_manifest.include_hash
22             else
23               {}
24             end
25           end
26           
27           def foreign_model_name
28             if @root_model_name
29               @root_model_name
30             else
31               @parent_model_name
32             end
33           end
34           
35         end
36         
37       end
38     end
39   end
40 end