update PgSearchable to accept array of default columns

This commit is contained in:
Bilal
2020-04-16 15:30:01 +02:00
parent fc5fdd3db2
commit a54b2586ec

View File

@@ -26,7 +26,7 @@ module PgSearchable
wildcard: true, wildcard: true,
external_cache_data: nil, external_cache_data: nil,
joins: [], joins: [],
default_field: "" default_fields: []
) )
@ts_search_fields = fields @ts_search_fields = fields
@ts_search_fields_mappings = fields_mappings @ts_search_fields_mappings = fields_mappings
@@ -36,7 +36,11 @@ module PgSearchable
@ts_skip_cache_update = skip_callback @ts_skip_cache_update = skip_callback
@ts_wildcard = wildcard @ts_wildcard = wildcard
@ts_joins = joins @ts_joins = joins
@default_field = default_field.to_s.empty? ? fields.first : default_field.to_sym @default_fields = if default_fields.is_a? Array
default_fields.empty? ? [fields.first] : default_fields
else
default_fields.to_s.empty? ? [fields.first] : [default_fields.to_sym]
end
ts_add_scope ts_add_scope
end end
@@ -52,7 +56,7 @@ module PgSearchable
def ts_search(value) def ts_search(value)
return if @ts_search_fields.blank? || value.blank? return if @ts_search_fields.blank? || value.blank?
includes(@ts_joins).references(:all).where( includes(@ts_joins).references(:all).where(
TextToSqlQuery.new(value, @ts_search_fields, @default_field, @ts_search_fields_mappings).where_clause).distinct TextToSqlQuery.new(value, @ts_search_fields, @default_fields, @ts_search_fields_mappings).where_clause).distinct
end end
def should_update_cache_field? def should_update_cache_field?