Sha256: 4f32deb842c429e91a9f75c7c5e822f4924f3cebc18d27489c1a243228045fb6
Contents?: true
Size: 1.06 KB
Versions: 1
Compression:
Stored size: 1.06 KB
Contents
# frozen_string_literal: true require "active_support/core_ext/module/delegation" require "active_support/core_ext/hash/keys" module PgSearch module Features class Feature def self.valid_options %i[only sort_only] end delegate :connection, :quoted_table_name, :to => :'@model' 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 private attr_reader :query, :options, :all_columns, :model, :normalizer def document columns.map(&: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 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pg_search-2.1.4 | lib/pg_search/features/feature.rb |