Class: PgSearch::Normalizer
- Inherits:
-
Object
- Object
- PgSearch::Normalizer
- Defined in:
- lib/pg_search/normalizer.rb
Constant Summary collapse
- DISALLOWED_CHARACTERS =
"'[''?\\:]'"
Instance Method Summary collapse
- #add_normalization(sql_expression) ⇒ Object
-
#initialize(config) ⇒ Normalizer
constructor
A new instance of Normalizer.
Constructor Details
#initialize(config) ⇒ Normalizer
Returns a new instance of Normalizer.
5 6 7 |
# File 'lib/pg_search/normalizer.rb', line 5 def initialize(config) @config = config end |
Instance Method Details
#add_normalization(sql_expression) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/pg_search/normalizer.rb', line 11 def add_normalization(sql_expression) return sql_expression unless config.ignore.include?(:accents) sql_node = case sql_expression when Arel::Nodes::Node sql_expression else Arel.sql(sql_expression) end Arel::Nodes::NamedFunction.new( "regexp_replace", [ Arel::Nodes::NamedFunction.new( PgSearch.unaccent_function, [sql_node] ), Arel.sql(DISALLOWED_CHARACTERS), Arel.sql("''"), Arel.sql("'g'") ] ).to_sql end |