Sha256: ea50df4264a9f0a33cd06c98910ec72212badcf92d534c5e5e96ea347293941b
Contents?: true
Size: 821 Bytes
Versions: 1
Compression:
Stored size: 821 Bytes
Contents
module Kludge class Many < Part def save value.each(&:save) super end def validate if value.any? { |v| !v.valid? } value.map(&:errors).each do |e| e.each do |attribute, errors_array| errors_array.each do |msg| errors.add(attribute, msg) unless errors.added?(attribute, msg) end end end false else true end end def value=(value) @value = value.map do |val| if val.kind_of?(Hash) if val[:id].present? @name.to_s.classify.constantize.find(val.delete(:id)).tap { |v| v.assign_attributes(val) } else @name.to_s.classify.constantize.new(val) end else val end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
kludge-0.0.2 | lib/kludge/many.rb |