OSDN Git Service

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