Class: PgSearch::Normalizer

Inherits:
Object
  • Object
show all
Defined in:
lib/pg_search/normalizer.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Normalizer

Returns a new instance of Normalizer.



3
4
5
# File 'lib/pg_search/normalizer.rb', line 3

def initialize(config)
  @config = config
end

Instance Method Details

#add_normalization(original_sql) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/pg_search/normalizer.rb', line 7

def add_normalization(original_sql)
  normalized_sql = original_sql
  if @config.ignore.include?(:accents)
    if @config.postgresql_version < 90000
      raise PgSearch::NotSupportedForPostgresqlVersion.new(<<-MESSAGE.gsub /^\s*/, '')
      Sorry, {:ignoring => :accents} only works in PostgreSQL 9.0 and above.
      #{@config.inspect}
      MESSAGE
    else
      normalized_sql = "unaccent(#{normalized_sql})"
    end
  end
  normalized_sql
end