aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/models
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2012-12-21 14:15:33 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2012-12-21 14:41:13 -0300
commitf2e0925ab7279c5a7c0a5ba7574a09d9e5550fd0 (patch)
tree3139061d63f66a667b3a6a5948c249c38059db4a /activerecord/test/models
parentaefcd342c4c447f471e285ff666fa1ced7f11754 (diff)
downloadrails-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.rb21
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