OSDN Git Service

b75a2fea60e9d843fa5f43cb3cd22314bd7f5551
[pettanr/pettanr.git] / lib / manifest / filer / symbol / default / link.rb
1 require_dependency "manifest/filer/symbol/default/link/link"
2 module Manifest
3   module FilerModule
4     module SymbolModule
5       module DefaultModule
6         class LinkFactory
7           include LinkModule
8           @@types = {
9             'action' => ActionLink, 'none' => NoneLink, 'url_column' => UrlColumnLink
10           }
11           def self.factory default_symbol, my_manifest
12             my_manifest['type'] ||= 'action'
13             type = my_manifest['type']
14             raise "undefined type for filers > #{default_symbol.filer_name} > symbol > default > link\n" unless type
15             my_class = @@types[type]
16             raise "undefined class for filers > #{default_symbol.filer_name} > symbol > default > link > #{type}\n" unless my_class
17             my_class.new(default_symbol, my_manifest)
18           end
19           
20         end
21         
22       end
23     end
24   end
25 end