1 require_dependency "manifest/list/base"
2 require_dependency "manifest/list/public"
3 require_dependency "manifest/list/private"
4 require_dependency "manifest/list/system_resource"
5 require_dependency "manifest/list/filter"
6 require_dependency "manifest/list/through_filter"
7 require_dependency "manifest/list/element_filter"
8 require_dependency "manifest/list/play"
13 'public' => ListModule::PublicList, 'private' => PrivateList, 'system_resource' => SystemResourceList,
14 'filter' => FilterList,
15 'through_filter' => ThroughFilterList, 'element_filter' => ElementFilterList,
18 def self.factory manifest, item_name, my_manifests
20 my_manifests.each {|list_name, my_manifest|
21 model_manifest = manifest.models[item_name]
22 raise "undefined model for lists > #{item_name}\n" unless model_manifest
23 model_list_manifest = model_manifest.lists[list_name]
24 raise "undefined model_list for lists > #{item_name} > #{list_name}\n" unless model_list_manifest
25 type = model_list_manifest.type
26 raise "undefined type for lists > #{item_name} > #{list_name}\n" unless type
27 my_class = @@types[type]
28 raise "undefined class for lists > #{item_name} > #{list_name} > #{type}\n" unless my_class
29 my_class.new(manifest, item_name, list_name, my_manifest)
39 def self.manager manifest, my_manifests
41 my_manifests.each {|item_name, list_manifest|
42 lists[item_name] = ListModule::ListFactory.factory(manifest, item_name, list_manifest)