221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
|
# File 'lib/praxis/extensions/attribute_filtering/active_record_filter_query_builder.rb', line 221
def self.quote_right_part(query:, value:, column_object:, negative:)
conn = query.connection
if value.nil?
no = negative ? ' NOT' : ''
"IS#{no} #{conn.quote_default_expression(value, column_object)}"
elsif value.is_a?(Array)
no = negative ? 'NOT ' : ''
list = value.map { |v| conn.quote_default_expression(v, column_object) }
"#{no}IN (#{list.join(',')})"
elsif value.is_a?(Range)
raise 'TODO!'
else
op = negative ? '<>' : '='
"#{op} #{conn.quote_default_expression(value, column_object)}"
end
end
|