aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorSantiago Pastorino <santiago@wyeworks.com>2016-02-21 21:53:32 -0300
committerSantiago Pastorino <santiago@wyeworks.com>2016-02-21 21:53:32 -0300
commitf48d271206fbc99ba381666308201ebb06cc307f (patch)
treefc665ac775c03f2d713190f913beca4e0bd13c23 /activerecord
parente8d58bb29968f96661f2047f85416cd70748bf84 (diff)
parent8a4c3286f7d18628e26a8f3609c00b8a42e695b7 (diff)
downloadrails-f48d271206fbc99ba381666308201ebb06cc307f.tar.gz
rails-f48d271206fbc99ba381666308201ebb06cc307f.tar.bz2
rails-f48d271206fbc99ba381666308201ebb06cc307f.zip
Merge pull request #23803 from kamipo/reduce_attribute_to_s
Reduce `attribute.to_s`
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/validations/uniqueness.rb11
1 files changed, 5 insertions, 6 deletions
diff --git a/activerecord/lib/active_record/validations/uniqueness.rb b/activerecord/lib/active_record/validations/uniqueness.rb
index f0aa4521b5..88c272657f 100644
--- a/activerecord/lib/active_record/validations/uniqueness.rb
+++ b/activerecord/lib/active_record/validations/uniqueness.rb
@@ -57,14 +57,13 @@ module ActiveRecord
value = value.attributes[reflection.klass.primary_key] unless value.nil?
end
- attribute_name = attribute.to_s
-
# the attribute may be an aliased attribute
- if klass.attribute_aliases[attribute_name]
- attribute = klass.attribute_aliases[attribute_name]
- attribute_name = attribute.to_s
+ if klass.attribute_alias?(attribute)
+ attribute = klass.attribute_alias(attribute)
end
+ attribute_name = attribute.to_s
+
column = klass.columns_hash[attribute_name]
cast_type = klass.type_for_attribute(attribute_name)
value = cast_type.serialize(value)
@@ -82,7 +81,7 @@ module ActiveRecord
if value.nil?
klass.unscoped.where(comparison)
else
- bind = Relation::QueryAttribute.new(attribute.to_s, value, Type::Value.new)
+ bind = Relation::QueryAttribute.new(attribute_name, value, Type::Value.new)
klass.unscoped.where(comparison, bind)
end
rescue RangeError