diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2016-07-02 10:14:53 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2016-08-16 19:02:02 +0900 |
commit | 3a1f6fe7b4a70bf0698b0684dd48ac712c6883b6 (patch) | |
tree | 54ddcf0345c6b58d232e675b5c44137d7e85d1e4 /activerecord/lib/active_record/connection_adapters/abstract_adapter.rb | |
parent | c6900ce1bb3dc2daf7cd1ecfdeeb276f2e9645b5 (diff) | |
download | rails-3a1f6fe7b4a70bf0698b0684dd48ac712c6883b6.tar.gz rails-3a1f6fe7b4a70bf0698b0684dd48ac712c6883b6.tar.bz2 rails-3a1f6fe7b4a70bf0698b0684dd48ac712c6883b6.zip |
Extract `PredicateBuilder::CaseSensitiveHandler`
Currently uniqueness validator is coupled with building Arel ASTs.
This commit extracts `PredicateBuilder::CaseSensitiveHandler` for
decouple the building Arel ASTs.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_adapter.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract_adapter.rb | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb index 0c7197a002..4dde525ebc 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb @@ -433,16 +433,16 @@ module ActiveRecord @connection end - def case_sensitive_comparison(table, attribute, column, value) - table[attribute].eq(Arel::Nodes::BindParam.new) + def case_sensitive_comparison(attribute, column, value) # :nodoc: + attribute.eq(value) end - def case_insensitive_comparison(table, attribute, column, value) + def case_insensitive_comparison(attribute, column, value) # :nodoc: if can_perform_case_insensitive_comparison_for?(column) - table[attribute].lower.eq(table.lower(Arel::Nodes::BindParam.new)) - else - table[attribute].eq(Arel::Nodes::BindParam.new) + value = attribute.relation.lower(value) + attribute = attribute.lower end + attribute.eq(value) end def can_perform_case_insensitive_comparison_for?(column) |