OSDN Git Service

fix Manifest
[pettanr/pettanr.git] / lib / manifest / filer / symbol.rb
index f599dd3..eb21420 100644 (file)
@@ -1,15 +1,9 @@
-require "manifest/filer/symbol/face"
-require "manifest/filer/symbol/link"
+require_dependency "manifest/filer/symbol/face"
+require_dependency "manifest/filer/symbol/link"
 module Manifest
   module FilerModule
     class Symbol 
       include SymbolModule
-      @@face_types = {
-        'image' => ImageFace, 'picture' => PictureFace, 'template' => TemplateFace
-      }
-      @@link_types = {
-        'action' => ActionLink, 'none' => NoneLink, 'url_column' => UrlColumnLink
-      }
       attr :filer, :symbol_manifest, 
         :face, :link
       
@@ -30,17 +24,8 @@ module Manifest
       end
       
       def init
-        face_manifest = @symbol_manifest['face']
-        face_type = face_manifest['type']
-        face_class = @@face_types[face_type]
-        raise "undefined class for filers > #{filer_name} > symbol > face > #{face_class}\n" unless face_class
-        @face = face_class.new(self, face_manifest)
-        
-        link_manifest = @symbol_manifest['link']
-        link_type = link_manifest['type']
-        link_class = @@link_types[link_type]
-        raise "undefined class for filers > #{filer_name} > symbol > link > #{link_class}\n" unless link_class
-        @link = link_class.new(self, link_manifest)
+        @face = FaceFactory.factory(self, @symbol_manifest['face'])
+        @link = LinkFactory.factory(self, @symbol_manifest['link'])
       end
       
       def filer_name