OSDN Git Service

rename model name
[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                     controller_manifest = @item.class.my_controller
27                     action_manifest = controller_manifest.actions[@link_manifest.action_name]
28                     action_manifest.url({'id' => @item.id.to_s})
29                   end
30                   
31                 end
32                 
33                 class NoneLink < BaseLink
34                   
35                   def url
36                     nil
37                   end
38                   
39                 end
40                 
41                 class UrlColumnLink < BaseLink
42                   
43                   def url
44                     @item.attributes[@link_manifest.column_name]
45                   end
46                   
47                 end
48                 
49               end
50             end
51           end
52         end
53       end
54     end
55   end
56 end