class BrainDamage::Field
Attributes
attr_white_list[W]
generated_attribute[RW]
name[R]
relation[R]
resource[R]
Public Class Methods
new(args = {})
click to toggle source
# 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
Public Instance Methods
add_display(identifier, options)
click to toggle source
# 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
add_input(identifier, options)
click to toggle source
# 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)
click to toggle source
# 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
attr_white_list()
click to toggle source
# 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
display(identifier = :default)
click to toggle source
# 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)
click to toggle source
# File lib/generators/brain_damage/lib/field.rb, line 61 def display=(options) add_display :default, options end
displayable?(identifier = :default)
click to toggle source
# File lib/generators/brain_damage/lib/field.rb, line 86 def displayable?(identifier = :default) display = display identifier display and display.show? end
field_type()
click to toggle source
# 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?()
click to toggle source
# File lib/generators/brain_damage/lib/field.rb, line 43 def foreign? @relation.is_a? Relation end
has_display?()
click to toggle source
# File lib/generators/brain_damage/lib/field.rb, line 77 def has_display? @displays.values.reject(&:nil?).any? end
has_input?()
click to toggle source
# File lib/generators/brain_damage/lib/field.rb, line 73 def has_input? @inputs.values.reject(&:nil?).any? end
inline_editable(options = {})
click to toggle source
# File lib/generators/brain_damage/lib/field.rb, line 57 def inline_editable(options = {}) add_display :inline_editable, options end
input(identifier = :default)
click to toggle source
# 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
input=(options)
click to toggle source
# File lib/generators/brain_damage/lib/field.rb, line 65 def input=(options) add_input :default, options end
inputable?(identifier = :default)
click to toggle source
# File lib/generators/brain_damage/lib/field.rb, line 81 def inputable?(identifier = :default) input = input identifier input and input.show? end
invisible()
click to toggle source
# 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?()
click to toggle source
# File lib/generators/brain_damage/lib/field.rb, line 33 def invisible? @invisible end
label(scope = :default)
click to toggle source
# 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)
click to toggle source
# File lib/generators/brain_damage/lib/field.rb, line 69 def label=(options) add_label :default, options end
map_display(identifier, *targets)
click to toggle source
# 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
map_input(identifier, *targets)
click to toggle source
# 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()
click to toggle source
# File lib/generators/brain_damage/lib/field.rb, line 47 def model_lines return @relation.model_lines if @relation [] end
relation=(options)
click to toggle source
# File lib/generators/brain_damage/lib/field.rb, line 37 def relation= (options) options = { type: options } if options.is_a? Symbol options[:field] = self @relation = Relation.create (@resource.column_relation_type(@name) || options[:type]), options end