module ActiveRecord::PackedFields::ClassMethods
Public Instance Methods
packed(options)
click to toggle source
# File lib/active_record/packed_fields.rb, line 5 def packed(options) column = options[:column] || :packed fields = options[:fields] validation = options[:validation] serialize column, Hash fields.each do |field| define_method(field) { hash = read_attribute(column) if hash hash[field] end } define_method("#{field}="){|value| hash = read_attribute(column) if hash hash[field] = value else write_attribute(column, { field => value }) end } validates field, validation.dup if validation end end