lib/pg_search/features/feature.rb in pg_search-0.7.5 vs lib/pg_search/features/feature.rb in pg_search-0.7.6
- old
+ new
@@ -3,23 +3,33 @@
module PgSearch
module Features
class Feature
delegate :connection, :quoted_table_name, :to => :'@model'
- def initialize(query, options, columns, model, normalizer)
+ def initialize(query, options, all_columns, model, normalizer)
@query = query
@options = options || {}
- @columns = columns
+ @all_columns = all_columns
@model = model
@normalizer = normalizer
end
private
- attr_reader :query, :options, :columns, :model, :normalizer
+ attr_reader :query, :options, :all_columns, :model, :normalizer
def document
columns.map { |column| column.to_sql }.join(" || ' ' || ")
+ end
+
+ 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
def normalize(expression)
normalizer.add_normalization(expression)
end