diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2016-02-21 23:59:52 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2016-02-22 00:00:57 +0900 |
commit | 8a4c3286f7d18628e26a8f3609c00b8a42e695b7 (patch) | |
tree | 615b31c9f5c4333a0b518b11b018367f059fd826 /activerecord/lib/active_record | |
parent | 22c318d6cfe39933b2f5adb383cb6f0153f505d3 (diff) | |
download | rails-8a4c3286f7d18628e26a8f3609c00b8a42e695b7.tar.gz rails-8a4c3286f7d18628e26a8f3609c00b8a42e695b7.tar.bz2 rails-8a4c3286f7d18628e26a8f3609c00b8a42e695b7.zip |
Reduce `attribute.to_s`
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r-- | activerecord/lib/active_record/validations/uniqueness.rb | 11 |
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 |