method
build_for_case_sensitive
Ruby on Rails latest stable (v6.1.7.7)
-
0 notes -
Class: WhereClauseFactory
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7 (0)
- 5.2.3
- 6.0.0
- 6.1.3.1
- 6.1.7.7
- 7.0.0
- 7.1.3.2
- What's this?
build_for_case_sensitive(attributes, options)
private
Hide source
# File activerecord/lib/active_record/relation/where_clause_factory.rb, line 45 def build_for_case_sensitive(attributes, options) parts, binds = [], [] table = klass.arel_table attributes.each do |attribute, value| if reflection = klass._reflect_on_association(attribute) attribute = reflection.foreign_key.to_s value = value[reflection.klass.primary_key] unless value.nil? end if value.nil? parts << table[attribute].eq(value) else column = klass.column_for_attribute(attribute) binds << predicate_builder.send(:build_bind_param, attribute, value) value = Arel::Nodes::BindParam.new predicate = if options[:case_sensitive] klass.connection.case_sensitive_comparison(table, attribute, column, value) else klass.connection.case_insensitive_comparison(table, attribute, column, value) end parts << predicate end end [parts, binds] end