class Kludge::One

Public Instance Methods

save() click to toggle source
Calls superclass method
# File lib/kludge/one.rb, line 4
def save
  parent.value.send("#{name}=", value) if parent
  value.save
  super
end
validate() click to toggle source
# File lib/kludge/one.rb, line 10
def validate
  if !value.valid? 
    value.errors.each do |attribute, errors_array|
      errors_array.each do |msg|
        errors.add(attribute, msg) unless errors.added?(attribute, msg)
      end
    end
    false
  else
    true
  end
end
value=(value) click to toggle source
# File lib/kludge/one.rb, line 23
def value=(value)
  @value = if value.kind_of?(Hash)
    if value[:id]
      @name.to_s.classify.constantize.find(value.delete(:id)).tap { |v| v.assign_attributes(value) }
    else
      @name.to_s.classify.constantize.new(value)
    end
  else
    value
  end
end