OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / lib / local_manifest / filer / caption.rb
index 3289dbe..af17140 100644 (file)
@@ -1,25 +1,21 @@
-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