module CustomAttributes::ActsAsCustomValue::InstanceMethods

Public Class Methods

new(attributes = nil, *args) click to toggle source
Calls superclass method
# File lib/custom_attributes/acts_as/acts_as_custom_value.rb, line 20
def initialize(attributes = nil, *args)
  super
  if new_record? && custom_field && !attributes.key?(:value)
    self.value ||= custom_field.default
  end
end

Public Instance Methods

required?() click to toggle source
# File lib/custom_attributes/acts_as/acts_as_custom_value.rb, line 44
def required?
  custom_field.is_required?
end
to_s() click to toggle source
# File lib/custom_attributes/acts_as/acts_as_custom_value.rb, line 48
def to_s
  value.to_s
end
true?() click to toggle source
# File lib/custom_attributes/acts_as/acts_as_custom_value.rb, line 36
def true?
  value == '1'
end
value() click to toggle source
# File lib/custom_attributes/acts_as/acts_as_custom_value.rb, line 27
def value
  field_value = read_attribute(:value) || nil

  field_value = nil if field_value.nil? || ( !field_value.is_a?(Numeric) && field_value.empty? )
  return field_value if new_record?

  field_value || custom_field.try(:default)
end
visible?() click to toggle source
# File lib/custom_attributes/acts_as/acts_as_custom_value.rb, line 40
def visible?
  custom_field.visible?
end

Private Instance Methods

custom_field_after_save_custom_value() click to toggle source

Calls CustomAttributes::FieldType.after_save_custom_value Thus extendable by FieldType Default is: do nothing

# File lib/custom_attributes/acts_as/acts_as_custom_value.rb, line 57
def custom_field_after_save_custom_value
  custom_field.after_save_custom_value(self)
end