Sha256: d8b93c82d2cf6a3b43929ead2795f33b5f7552e2c01bd72014f1844841ff5d01

Contents?: true

Size: 696 Bytes

Versions: 1

Compression:

Stored size: 696 Bytes

Contents

module Kludge
  class One < Part

    def save
      value.save
      super
    end

    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

    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
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kludge-0.0.2 lib/kludge/one.rb