OSDN Git Service

separate manifest
[pettanr/pettanr.git] / lib / local_manifest / filer / symbol.rb
1 require_dependency "local_manifest/filer/symbol/base"
2 require_dependency "local_manifest/filer/symbol/default"
3 require_dependency "local_manifest/filer/symbol/template"
4 module LocalManifest
5   module FilerModule
6     class SymbolFactory
7       include SymbolModule
8       @@types = {
9         'default' => Default, 'template' => Template
10       }
11       
12       def self.factory filer, my_manifest
13         my_manifest['type'] ||=  'default'
14         type = my_manifest['type']
15         raise "undefined type for filers > #{filer.filer_name} > symbol\n" unless type
16         my_class = @@types[type]
17         raise "undefined class for filers > #{filer.filer_name} > symbol > #{type}\n" unless my_class
18         my_class.new(filer, my_manifest)
19       end
20       
21     end
22     
23   end
24 end