OSDN Git Service

add frm view
[pettanr/pettanr.git] / lib / manifest / filer / symbol / link / link.rb
1 module Manifest
2   module SymbolModule
3     module LinkModule
4       class BaseLink
5         attr :symbol, :link_manifest
6         
7         def initialize symbol, link_manifest
8           @symbol = symbol
9           @link_manifest = link_manifest
10           self.set_default
11           self.init
12         end
13         
14         def set_default
15           @link_manifest['args'] ||= {}
16         end
17         
18         def init
19           @args = @link_manifest['args']
20         end
21         
22       end
23       
24       class ActionLink < BaseLink
25         attr  :name
26         
27         def set_default
28           super
29           @link_manifest['args']['name'] ||= 'show'
30         end
31         
32         def init
33           super
34           @name = @args['name']
35         end
36         
37       end
38       
39       class NoneLink < BaseLink
40         attr  :name
41         
42         def set_default
43           super
44         end
45         
46         def init
47           super
48         end
49         
50       end
51       
52       class UrlColumnLink < BaseLink
53         attr  :name
54         
55         def set_default
56           super
57           @link_manifest['args']['name'] ||= 'url'
58         end
59         
60         def init
61           super
62           @name = @args['name']
63         end
64         
65       end
66       
67     end
68   end
69 end