OSDN Git Service

separate manifest
[pettanr/pettanr.git] / lib / local_manifest / filer / symbol / default / face.rb
diff --git a/lib/local_manifest/filer/symbol/default/face.rb b/lib/local_manifest/filer/symbol/default/face.rb
new file mode 100644 (file)
index 0000000..42e16d3
--- /dev/null
@@ -0,0 +1,25 @@
+require_dependency "local_manifest/filer/symbol/default/face/face"
+module LocalManifest
+  module FilerModule
+    module SymbolModule
+      module DefaultModule
+        class FaceFactory
+          include FaceModule
+          @@types = {
+            'image' => ImageFace, 'picture' => PictureFace
+          }
+          def self.factory default_symbol, my_manifest
+            my_manifest['type'] ||= 'image'
+            type = my_manifest['type']
+            raise "undefined type for filers > #{default_symbol.filer_name} > symbol > default > face\n" unless type
+            my_class = @@types[type]
+            raise "undefined class for filers > #{default_symbol.filer_name} > symbol > default > face > #{type}\n" unless my_class
+            my_class.new(default_symbol, my_manifest)
+          end
+          
+        end
+        
+      end
+    end
+  end
+end