OSDN Git Service

fix filer
[pettanr/pettanr.git] / lib / manifest / local / view / filer / body / file_body / file_item / symbol / default / link.rb
diff --git a/lib/manifest/local/view/filer/body/file_body/file_item/symbol/default/link.rb b/lib/manifest/local/view/filer/body/file_body/file_item/symbol/default/link.rb
new file mode 100644 (file)
index 0000000..ce39204
--- /dev/null
@@ -0,0 +1,31 @@
+require_dependency "manifest/local/view/filer/body/file_body/file_item/symbol/default/link/link"
+module Manifest
+  module View
+    module FilerModule
+      module BodyModule
+        module FileBodyModule
+          module FileItemModule
+            module SymbolItemColumnModule
+              module DefaultModule
+                class LinkFactory
+                  include LinkModule
+                  @@types = {
+                    'action' => ActionLink, 'none' => NoneLink, 'url_column' => UrlColumnLink
+                  }
+                  def self.factory file_item, my_manifest, item
+                    type = my_manifest.type
+                    raise "undefined type for local view filers > #{file_item.item_name} > symbol > link\n" unless type
+                    my_class = @@types[type]
+                    raise "undefined class for local view filers > #{file_item.item_name} > symbol > link > #{type}\n" unless my_class
+                    my_class.new(file_item, my_manifest, item)
+                  end
+                  
+                end
+              end
+            end
+          end
+        end
+      end
+    end
+  end
+end