OSDN Git Service

merge
[pettanr/pettanr.git] / lib / manifest / local / view / filer / body / file_body / file_item / caption / default / face / face.rb
1 module Manifest
2   module View
3     module FilerModule
4       module BodyModule
5         module FileBodyModule
6           module FileItemModule
7             module CaptionItemColumnModule
8               module DefaultModule
9                 module FaceModule
10                   class BaseFace
11                     attr :default_caption, :face_manifest, :item
12                     def initialize default_caption, face_manifest, item
13                       @default_caption = default_caption
14                       @face_manifest = face_manifest
15                       @item = item
16                     end
17                     
18                     def filer
19                       @default_caption.filer
20                     end
21                     
22                     def manifest
23                       self.filer.manifest
24                     end
25                     
26                     def item_name
27                       self.filer.item_name
28                     end
29                     
30                     def template_dir
31                       self.filer.template_dir + "caption_face/"
32                     end
33                     
34                     def template_file_name
35                       raise "undefined template_file_name\n"
36                     end
37                     
38                     def template_name
39                       self.template_dir + self.template_file_name
40                     end
41                     
42                   end
43                   
44                   class ColumnFace < BaseFace
45                     def template_file_name
46                       if face.blank?
47                         'empty'
48                       else
49                         'column'
50                       end
51                     end
52                     
53                     def face
54                       @item.attributes[@face_manifest.column_name]
55                     end
56                     
57                   end
58                   
59                   class MethodFace < BaseFace
60                     def template_file_name
61                       if face.blank?
62                         'empty'
63                       else
64                         'column'
65                       end
66                     end
67                     
68                     def face
69                       @item.__send__ @face_manifest.method_name
70                     end
71                     
72                   end
73                   
74                   class NoneFace < BaseFace
75                     def template_file_name
76                       'none'
77                     end
78                     
79                   end
80                   
81                 end
82               end
83             end
84           end
85         end
86       end
87     end
88   end
89 end