diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2012-12-21 14:15:33 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2012-12-21 14:41:13 -0300 |
commit | f2e0925ab7279c5a7c0a5ba7574a09d9e5550fd0 (patch) | |
tree | 3139061d63f66a667b3a6a5948c249c38059db4a /activerecord/test/models | |
parent | aefcd342c4c447f471e285ff666fa1ced7f11754 (diff) | |
download | rails-f2e0925ab7279c5a7c0a5ba7574a09d9e5550fd0.tar.gz rails-f2e0925ab7279c5a7c0a5ba7574a09d9e5550fd0.tar.bz2 rails-f2e0925ab7279c5a7c0a5ba7574a09d9e5550fd0.zip |
Serialized attribute can be serialized in an integer column
Fix #8575
Diffstat (limited to 'activerecord/test/models')
-rw-r--r-- | activerecord/test/models/person.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/activerecord/test/models/person.rb b/activerecord/test/models/person.rb index 6ad0cf6987..f9684b0bcd 100644 --- a/activerecord/test/models/person.rb +++ b/activerecord/test/models/person.rb @@ -100,3 +100,24 @@ class NestedPerson < ActiveRecord::Base assign_attributes({ :best_friend_attributes => { :first_name => new_name } }) end end + +class Insure + INSURES = %W{life annuality} + + def self.load mask + INSURES.select do |insure| + (1 << INSURES.index(insure)) & mask > 0 + end + end + + def self.dump insures + numbers = insures.map { |insure| INSURES.index(insure) } + numbers.inject(0) { |sum, n| sum + (1 << n) } + end +end + +class SerializedPerson < ActiveRecord::Base + self.table_name = 'people' + + serialize :insures, Insure +end |