-require_dependency "local_manifest/filer/caption/base"
-require_dependency "local_manifest/filer/caption/default"
-require_dependency "local_manifest/filer/caption/template"
-require_dependency "local_manifest/filer/caption/none"
+ManifestBase.require_modules "local_manifest/filer/caption/",
+ %w|base default template none|
+
module LocalManifest
module FilerModule
- class CaptionFactory
+ class CaptionFactory < ManifestBase::Factory
include CaptionModule
- @@types = {
- 'default' => Default, 'template' => Template, 'none' => None
- }
- def self.factory filer, my_manifest
- my_manifest['type'] ||= 'default'
- type = my_manifest['type']
- raise "undefined type for filers > #{filer.filer_name} > caption\n" unless type
- my_class = @@types[type]
- raise "undefined class for filers > #{filer.filer_name} > caption > #{type}\n" unless my_class
- my_class.new(filer, my_manifest)
+ def self.types
+ {
+ 'default' => Default, 'template' => Template, 'none' => None
+ }
+ end
+
+ def self.default_type
+ 'default'
end
end
-
end
end