Module: NidUtils

Defined in:
lib/nid_utils.rb,
lib/nid_utils/version.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

DEFAULT_REPLACEMENT_CHAR =

taken from i18n gem and patch with:

å: "å",
ä: "ä",
ö: "ö",
Å: "Å",
Ä: "Ä",
Ö: "Ö",
æ: "ä",
ø: "ö",
Æ: "Ä",
Ø: "Ö"
"?"
DEFAULT_APPROXIMATIONS =

A transliterator which accepts a Hash of characters as its translation rule.

{
  "À"=>"A", "Á"=>"A", "Â"=>"A", "Ã"=>"A", "Ä"=>"Ä", "Å"=>"Å", "Æ"=>"Ä",
  "Ç"=>"C", "È"=>"E", "É"=>"E", "Ê"=>"E", "Ë"=>"E", "Ì"=>"I", "Í"=>"I",
  "Î"=>"I", "Ï"=>"I", "Ð"=>"D", "Ñ"=>"N", "Ò"=>"O", "Ó"=>"O", "Ô"=>"O",
  "Õ"=>"O", "Ö"=>"Ö", "×"=>"x", "Ø"=>"Ö", "Ù"=>"U", "Ú"=>"U", "Û"=>"U",
  "Ü"=>"U", "Ý"=>"Y", "Þ"=>"Th", "ß"=>"ss", "à"=>"a", "á"=>"a", "â"=>"a",
  "ã"=>"a", "ä"=>"ä", "å"=>"å", "æ"=>"ä", "ç"=>"c", "è"=>"e", "é"=>"e",
  "ê"=>"e", "ë"=>"e", "ì"=>"i", "í"=>"i", "î"=>"i", "ï"=>"i", "ð"=>"d",
  "ñ"=>"n", "ò"=>"o", "ó"=>"o", "ô"=>"o", "õ"=>"o", "ö"=>"ö", "ø"=>"ö",
  "ù"=>"u", "ú"=>"u", "û"=>"u", "ü"=>"u", "ý"=>"y", "þ"=>"th", "ÿ"=>"y",
  "Ā"=>"A", "ā"=>"a", "Ă"=>"A", "ă"=>"a", "Ą"=>"A", "ą"=>"a", "Ć"=>"C",
  "ć"=>"c", "Ĉ"=>"C", "ĉ"=>"c", "Ċ"=>"C", "ċ"=>"c", "Č"=>"C", "č"=>"c",
  "Ď"=>"D", "ď"=>"d", "Đ"=>"D", "đ"=>"d", "Ē"=>"E", "ē"=>"e", "Ĕ"=>"E",
  "ĕ"=>"e", "Ė"=>"E", "ė"=>"e", "Ę"=>"E", "ę"=>"e", "Ě"=>"E", "ě"=>"e",
  "Ĝ"=>"G", "ĝ"=>"g", "Ğ"=>"G", "ğ"=>"g", "Ġ"=>"G", "ġ"=>"g", "Ģ"=>"G",
  "ģ"=>"g", "Ĥ"=>"H", "ĥ"=>"h", "Ħ"=>"H", "ħ"=>"h", "Ĩ"=>"I", "ĩ"=>"i",
  "Ī"=>"I", "ī"=>"i", "Ĭ"=>"I", "ĭ"=>"i", "Į"=>"I", "į"=>"i", "İ"=>"I",
  "ı"=>"i", "IJ"=>"IJ", "ij"=>"ij", "Ĵ"=>"J", "ĵ"=>"j", "Ķ"=>"K", "ķ"=>"k",
  "ĸ"=>"k", "Ĺ"=>"L", "ĺ"=>"l", "Ļ"=>"L", "ļ"=>"l", "Ľ"=>"L", "ľ"=>"l",
  "Ŀ"=>"L", "ŀ"=>"l", "Ł"=>"L", "ł"=>"l", "Ń"=>"N", "ń"=>"n", "Ņ"=>"N",
  "ņ"=>"n", "Ň"=>"N", "ň"=>"n", "ʼn"=>"'n", "Ŋ"=>"NG", "ŋ"=>"ng",
  "Ō"=>"O", "ō"=>"o", "Ŏ"=>"O", "ŏ"=>"o", "Ő"=>"O", "ő"=>"o", "Œ"=>"OE",
  "œ"=>"oe", "Ŕ"=>"R", "ŕ"=>"r", "Ŗ"=>"R", "ŗ"=>"r", "Ř"=>"R", "ř"=>"r",
  "Ś"=>"S", "ś"=>"s", "Ŝ"=>"S", "ŝ"=>"s", "Ş"=>"S", "ş"=>"s", "Š"=>"S",
  "š"=>"s", "Ţ"=>"T", "ţ"=>"t", "Ť"=>"T", "ť"=>"t", "Ŧ"=>"T", "ŧ"=>"t",
  "Ũ"=>"U", "ũ"=>"u", "Ū"=>"U", "ū"=>"u", "Ŭ"=>"U", "ŭ"=>"u", "Ů"=>"U",
  "ů"=>"u", "Ű"=>"U", "ű"=>"u", "Ų"=>"U", "ų"=>"u", "Ŵ"=>"W", "ŵ"=>"w",
  "Ŷ"=>"Y", "ŷ"=>"y", "Ÿ"=>"Y", "Ź"=>"Z", "ź"=>"z", "Ż"=>"Z", "ż"=>"z",
  "Ž"=>"Z", "ž"=>"z"
}
UNWANTED_CHARACTERS_PATTERN =
/[^0-9a-zåäö-]/
VERSION =
'1.6.0'

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



56
57
58
# File 'lib/nid_utils.rb', line 56

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#nid_case(text) ⇒ Object



60
61
62
# File 'lib/nid_utils.rb', line 60

def nid_case(text)
  self.class.nid_case(text)
end

#possible_nid?(candidate) ⇒ Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/nid_utils.rb', line 64

def possible_nid?(candidate)
  self.class.possible_nid?(candidate)
end