class PgSearch::Configuration::Column

Attributes

name[R]
weight[R]

Public Class Methods

new(column_name, weight, model) click to toggle source
# File lib/pg_search/configuration/column.rb, line 10
def initialize(column_name, weight, model)
  @name = column_name.to_s
  @column_name = column_name
  @weight = weight
  @model = model
  @connection = model.connection
end

Public Instance Methods

full_name() click to toggle source
# File lib/pg_search/configuration/column.rb, line 18
def full_name
  return @column_name if @column_name.is_a?(Arel::Nodes::SqlLiteral)

  "#{table_name}.#{column_name}"
end
to_sql() click to toggle source
# File lib/pg_search/configuration/column.rb, line 24
def to_sql
  "coalesce((#{expression})::text, '')"
end

Private Instance Methods

column_name() click to toggle source
# File lib/pg_search/configuration/column.rb, line 34
def column_name
  @connection.quote_column_name(@name)
end
expression() click to toggle source
# File lib/pg_search/configuration/column.rb, line 38
def expression
  full_name
end
table_name() click to toggle source
# File lib/pg_search/configuration/column.rb, line 30
def table_name
  @model.quoted_table_name
end