class NameQuery

expiremental class - use (just) Name or NameQ or NameVariant or NameAnalyzer/Query or similar - why? why not?

let's wait for now with usage - let's add more methods as we go along and find more - why? why not?

Constants

DE_UNACCENTER
EN_UNACCENTER

Public Class Methods

new( name ) click to toggle source
# File lib/alphabets/variants.rb, line 37
def initialize( name )
  @name = name
end

Public Instance Methods

frequency_table() click to toggle source
# File lib/alphabets/variants.rb, line 41
def frequency_table
  @freq ||= Alphabet.frequency_table( @name )
end
variants() click to toggle source
# File lib/alphabets/variants.rb, line 45
def variants
  @variants ||= find_variants
end

Private Instance Methods

find_variants() click to toggle source
# File lib/alphabets/variants.rb, line 53
def find_variants
  alt_names = []

  freq = frequency_table

  en = EN_UNACCENTER
  if en.count( freq ) > 0    # check if includes äöü (that is, character with accents or diacritics) etc.
    alt_names <<  en.unaccent( @name )
  end

  de = DE_UNACCENTER
  if de.count( freq ) > 0
    alt_names <<  de.unaccent( @name )
  end

  ## todo - make uniq  e.g. Preußen is Preussen, Preussen 2x
  alt_names = alt_names.uniq
  alt_names
end