OSDN Git Service

fix orm
[pettanr/pettanr.git] / lib / manifest / list / includes.rb
1 require_dependency "manifest/list/includes/base"
2 require_dependency "manifest/list/includes/method"
3 require_dependency "manifest/list/includes/auto"
4 require_dependency "manifest/list/includes/none"
5 module Manifest
6   module ListModule
7     class IncludeFactory
8       include IncludeModule
9       @@types = {
10         'method' => IncludeMethod, 'auto' => IncludeAuto, 'none' => IncludeNone
11       }
12       
13       def self.factory list, my_manifest
14         my_manifest['type'] ||=  'auto'
15         type = my_manifest['type']
16         raise "undefined type for lists > #{list.item_name} > #{list.list_name} > includes\n" unless type
17         my_class = @@types[type]
18         raise "undefined class for lists > #{list.item_name} > #{list.list_name} > includes > #{type}\n" unless my_class
19         my_class.new(list, my_manifest)
20       end
21       
22     end
23   end
24 end