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/foreign_filter"
8 require_dependency "manifest/list/play"
13 'public' => ListModule::PublicList, 'private' => PrivateList, 'system_resource' => SystemResourceList,
14 'filter' => FilterList, 'through_filter' => ThroughFilterList, 'foreign_filter' => ForeignFilterList,
17 def self.factory manifest, item_name, my_manifests
19 my_manifests.each {|list_name, my_manifest|
20 model_manifest = manifest.models[item_name]
21 raise "undefined model for lists > #{item_name}\n" unless model_manifest
22 model_list_manifest = model_manifest.lists[list_name]
23 raise "undefined model_list for lists > #{item_name} > #{list_name}\n" unless model_list_manifest
24 type = model_list_manifest.type
25 raise "undefined type for lists > #{item_name} > #{list_name}\n" unless type
26 my_class = @@types[type]
27 raise "undefined class for lists > #{item_name} > #{list_name} > #{type}\n" unless my_class
28 lists[list_name] = my_class.new(manifest, item_name, list_name, my_manifest)
38 def self.manager manifest, my_manifests
40 my_manifests.each {|item_name, list_manifest|
41 lists[item_name] = ListModule::ListFactory.factory(manifest, item_name, list_manifest)