OSDN Git Service

ab0e459982e550964188c7b543f4a7b0d770e84e
[pettanr/pettanr.git] / lib / manifest / local / view / filer / body / file_body / file_item / symbol / default / link / link.rb
1 module Manifest
2   module View
3     module FilerModule
4       module BodyModule
5         module FileBodyModule
6           module FileItemModule
7             module SymbolItemColumnModule
8               module DefaultModule
9                 module LinkModule
10                   class BaseLink
11                     attr :default_symbol, :link_manifest, :item
12                     def initialize default_symbol, link_manifest, item
13                       @default_symbol = default_symbol
14                       @link_manifest = link_manifest
15                       @item = item
16                     end
17                     
18                     def url
19                       raise "undefined url\n"
20                     end
21                     
22                   end
23                   
24                   class ActionLink < BaseLink
25                     
26                     def url
27                       @link_manifest.action_path + @item.id.to_s
28                     end
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
55 end