Class: DbTextSearch::CaseInsensitive::InsensitiveColumnAdapter Private
- Inherits:
-
AbstractAdapter
- Object
- AbstractAdapter
- DbTextSearch::CaseInsensitive::InsensitiveColumnAdapter
- Defined in:
- lib/db_text_search/case_insensitive/insensitive_column_adapter.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Provides case-insensitive string-in-set querying for case-insensitive columns.
Class Method Summary collapse
-
.add_index(connection, table_name, column_name, options = {}) ⇒ Object
abstract
private
Add an index for case-insensitive string search.
Instance Method Summary collapse
- #column_for_order(asc_or_desc) ⇒ Arel::Collectors::SQLString abstract private
- #in(values) ⇒ ActiveRecord::Relation abstract private
- #prefix(query) ⇒ ActiveRecord::Relation abstract private
Methods inherited from AbstractAdapter
Methods included from QueryBuilding
Constructor Details
This class inherits a constructor from DbTextSearch::CaseInsensitive::AbstractAdapter
Class Method Details
.add_index(connection, table_name, column_name, options = {}) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Add an index for case-insensitive string search.
25 26 27 |
# File 'lib/db_text_search/case_insensitive/insensitive_column_adapter.rb', line 25 def self.add_index(connection, table_name, column_name, = {}) connection.add_index table_name, column_name, ** end |
Instance Method Details
#column_for_order(asc_or_desc) ⇒ Arel::Collectors::SQLString
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
20 21 22 |
# File 'lib/db_text_search/case_insensitive/insensitive_column_adapter.rb', line 20 def column_for_order(asc_or_desc) Arel.sql("#{quoted_scope_column} #{asc_or_desc}") end |
#in(values) ⇒ ActiveRecord::Relation
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
10 11 12 |
# File 'lib/db_text_search/case_insensitive/insensitive_column_adapter.rb', line 10 def in(values) @scope.where(@column => values) end |
#prefix(query) ⇒ ActiveRecord::Relation
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
15 16 17 |
# File 'lib/db_text_search/case_insensitive/insensitive_column_adapter.rb', line 15 def prefix(query) @scope.where "#{quoted_scope_column} LIKE ?", "#{sanitize_sql_like(query)}%" end |