aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/validations
diff options
context:
space:
mode:
authorSean Griffin <sean@thoughtbot.com>2014-05-30 09:29:22 -0700
committerSean Griffin <sean@thoughtbot.com>2014-06-01 11:33:58 -0600
commit90c8be76a7d00475be5ff4db2eeedde5cc936c2d (patch)
tree1b02b3ccffbef9296aaa6660caed5c64fcb362aa /activerecord/lib/active_record/validations
parent260c384bdb539265b31d3937df48e528acb50800 (diff)
downloadrails-90c8be76a7d00475be5ff4db2eeedde5cc936c2d.tar.gz
rails-90c8be76a7d00475be5ff4db2eeedde5cc936c2d.tar.bz2
rails-90c8be76a7d00475be5ff4db2eeedde5cc936c2d.zip
Remove most code related to serialized properties
Nearly completely implemented in terms of custom properties. `_before_type_cast` now stores the raw serialized string consistently, which removes the need to keep track of "state". The following is now consistently true: - `model.serialized == model.reload.serialized` - A model can be dumped and loaded infinitely without changing - A model can be saved and reloaded infinitely without changing
Diffstat (limited to 'activerecord/lib/active_record/validations')
-rw-r--r--activerecord/lib/active_record/validations/uniqueness.rb7
1 files changed, 0 insertions, 7 deletions
diff --git a/activerecord/lib/active_record/validations/uniqueness.rb b/activerecord/lib/active_record/validations/uniqueness.rb
index b6fccc9b94..2e7b1d7206 100644
--- a/activerecord/lib/active_record/validations/uniqueness.rb
+++ b/activerecord/lib/active_record/validations/uniqueness.rb
@@ -14,7 +14,6 @@ module ActiveRecord
finder_class = find_finder_class_for(record)
table = finder_class.arel_table
value = map_enum_attribute(finder_class, attribute, value)
- value = deserialize_attribute(record, attribute, value)
relation = build_relation(finder_class, table, attribute, value)
relation = relation.and(table[finder_class.primary_key.to_sym].not_eq(record.id)) if record.persisted?
@@ -86,12 +85,6 @@ module ActiveRecord
relation
end
- def deserialize_attribute(record, attribute, value)
- coder = record.class.serialized_attributes[attribute.to_s]
- value = coder.dump value if value && coder
- value
- end
-
def map_enum_attribute(klass, attribute, value)
mapping = klass.defined_enums[attribute.to_s]
value = mapping[value] if value && mapping