OSDN Git Service

separate manifest
[pettanr/pettanr.git] / lib / local_manifest / list_group.rb
1 require_dependency "local_manifest/list_group/list"
2 module LocalManifest
3   class ListGroup
4     include ListGroupModule
5     def self.manager manifest, my_manifests
6       list_groups = {}
7       my_manifests.each {|item_name, list_group_manifest|
8         list_groups[item_name] = ListGroup.new(manifest, item_name, list_group_manifest)
9       }
10       list_groups
11     end
12     
13     attr :manifest, :list_group_name, :list_group_manifest, 
14       :item_name, :tree_name, :lists
15     def initialize manifest, list_group_name, list_group_manifest
16       @manifest = manifest
17       @list_group_name = list_group_name
18       @list_group_manifest = list_group_manifest
19       self.set_default
20       self.init
21     end
22     
23     def set_default
24       @list_group_manifest['item_name'] ||= @list_group_name
25       @list_group_manifest['lists'] ||= {}
26     end
27     
28     def init
29       @item_name = @list_group_manifest['item_name']
30       @tree_name = @list_group_manifest['tree_name']
31       @lists = {}
32       @list_group_manifest['lists'].each {|list_name, list_manifest|
33         @lists[list_name] = ListFactory.factory self, list_name, list_manifest
34       }
35     end
36     
37   end
38   
39 end
40