OSDN Git Service

merge
[pettanr/pettanr.git] / lib / manifest / filer / caption / default / link.rb
1 require_dependency "manifest/filer/caption/default/link/link"
2 module Manifest
3   module FilerModule
4     module CaptionModule
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_caption, my_manifest
12             my_manifest['type'] ||= 'action'
13             type = my_manifest['type']
14             raise "undefined type for filers > #{default_caption.filer_name} > caption > default > link\n" unless type
15             my_class = @@types[type]
16             raise "undefined class for filers > #{default_caption.filer_name} > caption > default > link > #{type}\n" unless my_class
17             my_class.new(default_caption, my_manifest)
18           end
19           
20         end
21         
22       end
23     end
24   end
25 end