OSDN Git Service

26661681b04f345107055613dafa099fcb4e2561
[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  p  parent_model.item_name
28             if parent_model.parent_model
29  p  ({parent_model.item_name => parent_includes(parent_model.parent_model)})
30               {parent_model.item_name => parent_includes(parent_model.parent_model)}
31             else
32               {parent_model.item_name => {}}
33             end
34           end
35           
36           def includes
37  p  self.model.item_name
38             if self.model.parent_model
39               self.parent_includes self.model.parent_model
40             else
41               {}
42             end
43           end
44           
45           def list_group
46             @parent.list_group
47           end
48           
49         end
50         
51       end
52     end
53   end
54 end