class PgSearch::Features::Feature
Attributes
all_columns[R]
model[R]
normalizer[R]
options[R]
query[R]
Public Class Methods
new(query, options, all_columns, model, normalizer)
click to toggle source
# File lib/pg_search/features/feature.rb, line 15 def initialize(query, options, all_columns, model, normalizer) @query = query @options = (options || {}).assert_valid_keys(self.class.valid_options) @all_columns = all_columns @model = model @normalizer = normalizer end
valid_options()
click to toggle source
# File lib/pg_search/features/feature.rb, line 9 def self.valid_options %i[only sort_only] end
Private Instance Methods
columns()
click to toggle source
# File lib/pg_search/features/feature.rb, line 31 def columns if options[:only] all_columns.select do |column| Array.wrap(options[:only]).map(&:to_s).include? column.name end else all_columns end end
document()
click to toggle source
# File lib/pg_search/features/feature.rb, line 27 def document columns.map(&:to_sql).join(" || ' ' || ") end
normalize(expression)
click to toggle source
# File lib/pg_search/features/feature.rb, line 41 def normalize(expression) normalizer.add_normalization(expression) end