OSDN Git Service

d7b776b8af980505322f62892af8cbda500b9e9b
[pettanr/pettanr.git] / lib / manifest / local / view / form / field / label / label.rb
1 module Manifest
2   module View
3     module FormModule
4       module FieldModule
5         module LabelModule
6           class Base
7             attr :field, :label_manifest
8             
9             def initialize field, label_manifest
10               @field = field
11               @label_manifest = label_manifest
12             end
13             
14             def form
15               @field.form
16             end
17             
18             def manifest
19               self.form.manifest
20             end
21             
22             def form_name
23               self.form.form_name
24             end
25             
26             def model
27               self.form.model
28             end
29             
30             def item
31               self.form.item
32             end
33             
34             def model_name
35               @label_manifest.model_name
36             end
37             
38             def column_name
39               @label_manifest.column_name
40             end
41             
42             def template_dir
43               self.form.template_dir + 'label/'
44             end
45             
46             def template_file_name
47               raise "undefined template_file_name\n"
48             end
49             
50             def template_name
51               self.template_dir + self.template_file_name
52             end
53             
54             def label_row_break_template_dir
55               self.form.template_dir + 'label_row_break/'
56             end
57             
58             def label_row_break_template_file_name
59               if @label_manifest.row_break
60                 'br'
61               else
62                 'no_break'
63               end
64             end
65             
66             def label_row_break_template_name
67               self.label_row_break_template_dir + self.label_row_break_template_file_name
68             end
69             
70           end
71           
72           class Default < Base
73             def template_file_name
74               'default'
75             end
76             
77             def label_name
78               'activerecord.attributes.' + self.model_name + '.' +  self.column_name
79             end
80             
81           end
82           
83           class None < Base
84             def template_file_name
85               'none'
86             end
87             
88           end
89           
90         end
91       end
92     end
93   end
94 end