Class: BrainDamage::Field
Instance Attribute Summary collapse
#inner_html, #options, #template_file
Instance Method Summary
collapse
#indent, #method_missing, #render, #render_erb_file, #render_erb_string, #render_template_file
Constructor Details
#initialize(args = {}) ⇒ Field
Returns a new instance of Field.
16
17
18
19
20
21
22
23
24
|
# File 'lib/generators/brain_damage/lib/field.rb', line 16
def initialize(args = {})
@displays = {}
@inputs = {}
@labels = {}
@name = args[:name]
@resource = args[:resource]
@invisible = false
end
|
Instance Attribute Details
#attr_white_list ⇒ Object
52
53
54
55
|
# File 'lib/generators/brain_damage/lib/field.rb', line 52
def attr_white_list
@field_white_list = FieldWhiteList.new(self, @attr_white_list) unless @field_white_list
@field_white_list.list
end
|
#generated_attribute ⇒ Object
Returns the value of attribute generated_attribute.
14
15
16
|
# File 'lib/generators/brain_damage/lib/field.rb', line 14
def generated_attribute
@generated_attribute
end
|
#name ⇒ Object
Returns the value of attribute name.
9
10
11
|
# File 'lib/generators/brain_damage/lib/field.rb', line 9
def name
@name
end
|
#relation ⇒ Object
Returns the value of attribute relation.
10
11
12
|
# File 'lib/generators/brain_damage/lib/field.rb', line 10
def relation
@relation
end
|
#resource ⇒ Object
Returns the value of attribute resource.
11
12
13
|
# File 'lib/generators/brain_damage/lib/field.rb', line 11
def resource
@resource
end
|
Instance Method Details
#add_display(identifier, options) ⇒ Object
91
92
93
94
95
96
97
|
# File 'lib/generators/brain_damage/lib/field.rb', line 91
def add_display(identifier, options)
if options.nil?
@displays[identifier] = false
else
@displays[identifier] = View::Factory.create :display, self, options
end
end
|
99
100
101
102
103
104
105
|
# File 'lib/generators/brain_damage/lib/field.rb', line 99
def add_input(identifier, options)
if options.nil?
@inputs[identifier] = false
else
@inputs[identifier] = View::Factory.create :input, self, options
end
end
|
#add_label(identifier, options) ⇒ Object
107
108
109
110
111
112
113
|
# File 'lib/generators/brain_damage/lib/field.rb', line 107
def add_label(identifier, options)
if options.nil?
@labels[identifier] = false
else
@labels[identifier] = View::Factory.create :label, self, options
end
end
|
#display(identifier = :default) ⇒ Object
147
148
149
150
151
152
153
|
# File 'lib/generators/brain_damage/lib/field.rb', line 147
def display(identifier = :default)
if @displays.has_key? identifier
@displays[identifier]
elsif identifier != :default
display :default
end
end
|
#display=(options) ⇒ Object
61
62
63
|
# File 'lib/generators/brain_damage/lib/field.rb', line 61
def display=(options)
add_display :default, options
end
|
#displayable?(identifier = :default) ⇒ Boolean
86
87
88
89
|
# File 'lib/generators/brain_damage/lib/field.rb', line 86
def displayable?(identifier = :default)
display = display identifier
display and display.show?
end
|
#field_type ⇒ Object
155
156
157
158
159
160
161
|
# File 'lib/generators/brain_damage/lib/field.rb', line 155
def field_type
if generated_attribute
generated_attribute.field_type
else
:text_field
end
end
|
#foreign? ⇒ Boolean
43
44
45
|
# File 'lib/generators/brain_damage/lib/field.rb', line 43
def foreign?
@relation.is_a? Relation
end
|
#has_display? ⇒ Boolean
77
78
79
|
# File 'lib/generators/brain_damage/lib/field.rb', line 77
def has_display?
@displays.values.reject(&:nil?).any?
end
|
73
74
75
|
# File 'lib/generators/brain_damage/lib/field.rb', line 73
def has_input?
@inputs.values.reject(&:nil?).any?
end
|
#inline_editable(options = {}) ⇒ Object
57
58
59
|
# File 'lib/generators/brain_damage/lib/field.rb', line 57
def inline_editable(options = {})
add_display :inline_editable, options
end
|
139
140
141
142
143
144
145
|
# File 'lib/generators/brain_damage/lib/field.rb', line 139
def input(identifier = :default)
if @inputs.has_key? identifier
@inputs[identifier]
elsif identifier != :default
input :default
end
end
|
65
66
67
|
# File 'lib/generators/brain_damage/lib/field.rb', line 65
def input=(options)
add_input :default, options
end
|
81
82
83
84
|
# File 'lib/generators/brain_damage/lib/field.rb', line 81
def inputable?(identifier = :default)
input = input identifier
input and input.show?
end
|
#invisible ⇒ Object
26
27
28
29
30
31
|
# File 'lib/generators/brain_damage/lib/field.rb', line 26
def invisible
self.display = nil
self.input = nil
self.attr_white_list = ''
@invisible = true
end
|
#invisible? ⇒ Boolean
33
34
35
|
# File 'lib/generators/brain_damage/lib/field.rb', line 33
def invisible?
@invisible
end
|
#label(scope = :default) ⇒ Object
127
128
129
130
131
132
133
134
135
136
137
|
# File 'lib/generators/brain_damage/lib/field.rb', line 127
def label(scope = :default)
if @labels[scope]
return @labels[scope]
elsif scope == :default
self.label = :default
end
label :default
end
|
#label=(options) ⇒ Object
69
70
71
|
# File 'lib/generators/brain_damage/lib/field.rb', line 69
def label=(options)
add_label :default, options
end
|
#map_display(identifier, *targets) ⇒ Object
115
116
117
118
119
|
# File 'lib/generators/brain_damage/lib/field.rb', line 115
def map_display(identifier, *targets)
targets.each do |target|
@displays[target] = @displays[identifier]
end
end
|
121
122
123
124
125
|
# File 'lib/generators/brain_damage/lib/field.rb', line 121
def map_input(identifier, *targets)
targets.each do |target|
@inputs[target] = @inputs[identifier]
end
end
|
#model_lines ⇒ Object
47
48
49
50
|
# File 'lib/generators/brain_damage/lib/field.rb', line 47
def model_lines
return @relation.model_lines if @relation
[]
end
|