OSDN Git Service

fix local_manifest
[pettanr/pettanr.git] / lib / local_manifest / filer / symbol.rb
index 312ca37..5068102 100644 (file)
@@ -1,21 +1,19 @@
-require_dependency "local_manifest/filer/symbol/base"
-require_dependency "local_manifest/filer/symbol/default"
-require_dependency "local_manifest/filer/symbol/template"
+ManifestBase.require_modules "local_manifest/filer/symbol/", 
+  %w|base default template|
+
 module LocalManifest
   module FilerModule
-    class SymbolFactory
+    class SymbolFactory < ManifestBase::Factory
       include SymbolModule
-      @@types = {
-        'default' => Default, 'template' => Template
-      }
       
-      def self.factory filer, my_manifest
-        my_manifest['type'] ||=  'default'
-        type = my_manifest['type']
-        raise "undefined type for filers > #{filer.filer_name} > symbol\n" unless type
-        my_class = @@types[type]
-        raise "undefined class for filers > #{filer.filer_name} > symbol > #{type}\n" unless my_class
-        my_class.new(filer, my_manifest)
+      def self.types
+        {
+          'default' => Default, 'template' => Template
+        }
+      end
+      
+      def self.default_type
+        'default'
       end
       
     end