-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
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