Sha256: ea8122b4a0a0e48f584a6559e1b5336bb8d79a89ed4b96c1140dcb9b3ef592b0
Contents?: true
Size: 1016 Bytes
Versions: 3
Compression:
Stored size: 1016 Bytes
Contents
module PgSearch class Configuration class Column attr_reader :weight, :association def initialize(column_name, weight, model, association = nil) @column_name = column_name.to_s @weight = weight @model = model @association = association end def table foreign? ? @model.reflect_on_association(association).table_name : @model.table_name end def full_name "#{@model.connection.quote_table_name(table)}.#{@model.connection.quote_column_name(@column_name)}" end def to_sql name = if foreign? "#{self.subselect_alias}.#{self.alias}" else full_name end "coalesce(#{name}, '')" end def foreign? @association.present? end def alias ["pg_search", table, association, @column_name].compact.join('_') end def subselect_alias "#{self.alias}_subselect" end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pg_search-0.1.1 | lib/pg_search/configuration/column.rb |
pg_search-0.1 | lib/pg_search/configuration/column.rb |
pg_search-0.0.2 | lib/pg_search/configuration/column.rb |