module Fias::Name::Canonical
Constants
- REPUBLIC
Public Class Methods
canonical(name)
click to toggle source
# File lib/fias/name/canonical.rb, line 5 def canonical(name) result = search(name) || search_exception(name) result || fail("Unknown abbrevation: #{name}") fix_republic_case(result) end
Private Class Methods
aliases_for(long)
click to toggle source
# File lib/fias/name/canonical.rb, line 25 def aliases_for(long) Fias.config.aliases[Unicode.downcase(long)] end
fix_republic_case(canonical)
click to toggle source
# File lib/fias/name/canonical.rb, line 33 def fix_republic_case(canonical) return canonical unless canonical[0] == REPUBLIC canonical.map { |n| Unicode.upcase(n[0]) + n[1..-1] } end
search(key)
click to toggle source
# File lib/fias/name/canonical.rb, line 13 def search(key) long = Fias.config.index[Unicode.downcase(key)] return nil unless long short = short_for(long) short_stripped = short_for(long).gsub(/\.$/, '') [long, short_stripped, short, aliases_for(long)].flatten.compact end
search_exception(name)
click to toggle source
# File lib/fias/name/canonical.rb, line 29 def search_exception(name) Fias.config.exceptions[Unicode.downcase(name)] end
short_for(long)
click to toggle source
# File lib/fias/name/canonical.rb, line 21 def short_for(long) Fias.config.shorts[Unicode.downcase(long)] end