OSDN Git Service

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