Class: PgSearch::Configuration::Association
- Inherits:
-
Object
- Object
- PgSearch::Configuration::Association
- Defined in:
- lib/pg_search/configuration/association.rb
Instance Attribute Summary collapse
-
#columns ⇒ Object
readonly
Returns the value of attribute columns.
Instance Method Summary collapse
-
#initialize(model, name, column_names) ⇒ Association
constructor
A new instance of Association.
- #join(primary_key) ⇒ Object
- #subselect_alias ⇒ Object
- #table_name ⇒ Object
Constructor Details
#initialize(model, name, column_names) ⇒ Association
Returns a new instance of Association.
10 11 12 13 14 15 16 |
# File 'lib/pg_search/configuration/association.rb', line 10 def initialize(model, name, column_names) @model = model @name = name @columns = Array(column_names).map do |column_name, weight| ForeignColumn.new(column_name, weight, @model, self) end end |
Instance Attribute Details
#columns ⇒ Object (readonly)
Returns the value of attribute columns.
8 9 10 |
# File 'lib/pg_search/configuration/association.rb', line 8 def columns @columns end |
Instance Method Details
#join(primary_key) ⇒ Object
22 23 24 |
# File 'lib/pg_search/configuration/association.rb', line 22 def join(primary_key) "LEFT OUTER JOIN (#{relation(primary_key).to_sql}) #{subselect_alias} ON #{subselect_alias}.id = #{primary_key}" end |
#subselect_alias ⇒ Object
26 27 28 |
# File 'lib/pg_search/configuration/association.rb', line 26 def subselect_alias Configuration.alias(table_name, @name, "subselect") end |
#table_name ⇒ Object
18 19 20 |
# File 'lib/pg_search/configuration/association.rb', line 18 def table_name @model.reflect_on_association(@name).table_name end |