OSDN Git Service

separate manifest
[pettanr/pettanr.git] / lib / locmare / filer / body / file_body / file_item / symbol / default / link.rb
1 require_dependency "locmare/filer/body/file_body/file_item/symbol/default/link/link"
2 module Locmare
3   module FilerModule
4     module BodyModule
5       module FileBodyModule
6         module FileItemModule
7           module SymbolItemColumnModule
8             module DefaultModule
9               class LinkFactory
10                 include LinkModule
11                 @@types = {
12                   'action' => ActionLink, 'none' => NoneLink, 'url_column' => UrlColumnLink
13                 }
14                 def self.factory file_item, my_manifest, item
15                   type = my_manifest.type
16                   raise "undefined type for local view filers > #{file_item.item_name} > symbol > link\n" unless type
17                   my_class = @@types[type]
18                   raise "undefined class for local view filers > #{file_item.item_name} > symbol > link > #{type}\n" unless my_class
19                   my_class.new(file_item, my_manifest, item)
20                 end
21                 
22               end
23             end
24           end
25         end
26       end
27     end
28   end
29 end