OSDN Git Service

separate manifest
[pettanr/pettanr.git] / lib / locmare / filer / body / file_body / file_item / caption / default / link / link.rb
1 module Locmare
2   module FilerModule
3     module BodyModule
4       module FileBodyModule
5         module FileItemModule
6           module CaptionItemColumnModule
7             module DefaultModule
8               module LinkModule
9                 class BaseLink
10                   attr :default_caption, :link_manifest, :item
11                   def initialize default_caption, link_manifest, item
12                     @default_caption = default_caption
13                     @link_manifest = link_manifest
14                     @item = item
15                   end
16                   
17                   def url
18                     raise "undefined url\n"
19                   end
20                   
21                 end
22                 
23                 class ActionLink < BaseLink
24                   
25                   def url
26                     @link_manifest.action_path + @item.id.to_s
27                   end
28                   
29                 end
30                 
31                 class NoneLink < BaseLink
32                   
33                   def url
34                     nil
35                   end
36                   
37                 end
38                 
39                 class UrlColumnLink < BaseLink
40                   
41                   def url
42                     @item.attributes[@link_manifest.column_name]
43                   end
44                   
45                 end
46                 
47               end
48             end
49           end
50         end
51       end
52     end
53   end
54 end