OSDN Git Service

702ba7a30ecc73fe6c25630404e2adb759128582
[pettanr/pettanr.git] / lib / manifest / filer / symbol / default / face / face.rb
1 module Manifest
2   module FilerModule
3     module SymbolModule
4       module DefaultModule
5         module FaceModule
6           class BaseFace
7             attr :symbol, :face_manifest, :type
8             
9             def initialize symbol, face_manifest
10               @symbol = symbol
11               @face_manifest = face_manifest
12               self.set_default
13               self.init
14             end
15             
16             def set_default
17               @face_manifest['args'] ||= {}
18             end
19             
20             def init
21               @type = @face_manifest['type']
22               @args = @face_manifest['args']
23             end
24             
25         def filer
26           @symbol.filer
27         end
28         
29           end
30           
31           class ImageFace < BaseFace
32             attr :url
33             
34             def set_default
35               super
36               @face_manifest['args']['url'] ||= '/images/' + self.filer.item_name + '.gif'
37             end
38             
39             def init
40               super
41               @url = @args['url']
42             end
43             
44           end
45           
46           class PictureFace < BaseFace
47             attr :method_name
48             
49             def set_default
50               super
51               @face_manifest['args']['method_name'] ||= 'symbol_option'
52             end
53             
54             def init
55               super
56               @method_name = @args['method_name']
57             end
58             
59           end
60           
61         end
62       end
63     end
64   end
65 end