OSDN Git Service

separate manifest
[pettanr/pettanr.git] / lib / locmare / filer / body / file_body / file_item / symbol / default / link / link.rb
1 module Locmare
2   module FilerModule
3     module BodyModule
4       module FileBodyModule
5         module FileItemModule
6           module SymbolItemColumnModule
7             module DefaultModule
8               module LinkModule
9                 class BaseLink
10                   attr :default_symbol, :link_manifest, :item
11                   def initialize default_symbol, link_manifest, item
12                     @default_symbol = default_symbol
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                 end
29                 
30                 class NoneLink < BaseLink
31                   
32                   def url
33                     nil
34                   end
35                   
36                 end
37                 
38                 class UrlColumnLink < BaseLink
39                   
40                   def url
41                     @item.attributes[@link_manifest.column_name]
42                   end
43                   
44                 end
45                 
46               end
47             end
48           end
49         end
50       end
51     end
52   end
53 end