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