OSDN Git Service

6e6effd54cf28515486312e4e2e51216113f6737
[pettanr/pettanr.git] / lib / local_manifest / list_group / list / includes / auto.rb
1 module LocalManifest
2   module ListGroupModule
3     module ListModule
4       module IncludeModule
5         class IncludeAuto < Base
6           attr :tree_name
7           
8           def set_default
9             super
10             @args['tree_name'] ||= @parent.tree_name
11           end
12           
13           def init
14             super
15             @tree_name = @args['tree_name']
16           end
17           
18           def model_manifest
19             ::Manifest.manifest.models[self.item_name]
20           end
21           
22           def tree_manifest
23             self.model_manifest.tree[self.list_group.tree_name]
24           end
25           
26           def parent_includes parent_model
27             if parent_model.parent_model
28               {parent_model.item_name => parent_includes(parent_model.parent_model)}
29             else
30               {parent_model.item_name => {}}
31             end
32           end
33           
34           def includes
35             if self.model.parent_model
36               self.parent_includes self.model.parent_model
37             else
38               {}
39             end
40           end
41           
42           def list_group
43             @parent.list_group
44           end
45           
46         end
47         
48       end
49     end
50   end
51 end