OSDN Git Service

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