lib/nameable/latin/patterns.rb in nameable-1.1.3 vs lib/nameable/latin/patterns.rb in nameable-1.1.4

- old
+ new

@@ -1,31 +1,36 @@ module Nameable class Latin - ## # Regex's to match the detritus that people add to their names module Patterns PREFIX = { - "Mr." => /^\(*(mr\.*|mister)\)*$/i, - "Mrs." => /^\(*(mrs\.*|misses)\)*$/i, - "Ms." => /^\(*(ms\.*|miss)\)*$/i, - "Dr." => /^\(*(dr\.*|doctor)\)*$/i, - "Rev." => /^\(*(rev\.*|reverend)\)*$/i, - "Fr." => /^\(*(fr\.*|friar)\)*$/i, - "Master" => /^\(*(master)\)*$/i, - "Sir" => /^\(*(sir)\)*$/i - } + 'Capt.' => /^\(*(capt\.*|captain)\)*$/i, + 'Dame' => /^\(*(dame)\)*$/i, + 'Dr.' => /^\(*(dr\.*|doctor)\)*$/i, + 'Fr.' => /^\(*(fr\.*|friar|father)\)*$/i, + 'Hon.' => /^\(*(hon\.*|honorable)\)*$/i, + 'Imam' => /^\(*(imam)\)*$/i, + 'Ofc.' => /^\(*(ofc\.*|officer)\)*$/i, + 'Mr.' => /^\(*(mr\.*|mister)\)*$/i, + 'Mrs.' => /^\(*(mrs\.*|misses)\)*$/i, + 'Ms.' => /^\(*(ms\.*|miss)\)*$/i, + 'Rev.' => /^\(*(rev\.*|reverend)\)*$/i, + 'Master' => /^\(*(master)\)*$/i, + 'Rabbi' => /^\(*(rabbi)\)*$/i, + 'Sir' => /^\(*(sir)\)*$/i + }.freeze SUFFIX = { - "Sr." => /^\(*(sr\.?|senior)\)*$/i, - "Jr." => /^\(*(jr\.?|junior)\)*$/i, - "Esq." => /^\(*(esq\.?|esquire)\)*$/i, - "Ph.D." => /^\(*(p\.?h\.?d\.?)\)*$/i - } + 'Sr.' => /^\(*(sr\.?|senior)\)*$/i, + 'Jr.' => /^\(*(jr\.?|junior)\)*$/i, + 'Esq.' => /^\(*(esq\.?|esquire)\)*$/i, + 'Ph.D.' => /^\(*(p\.?h\.?d\.?)\)*$/i + }.freeze SUFFIX_GENERATIONAL_ROMAN = /^\(*[IVX.]+\)*$/i SUFFIX_ACADEMIC = /^(APR|RPh|MD|MA|DMD|DDS|PharmD|EngD|DPhil|JD|DD|DO|BA|BS|BSc|BE|BFA|MA|MS|MSc|MFA|MLA|MBA)$/i - SUFFIX_PROFESSIONAL = /^(PE|CSA|CPA|CPL|CME|CEng|OFM|CSV|Douchebag)$/i - SUFFIX_ABBREVIATION = /^[A-Z.]+[A-Z.]+$/ # It should be at least 2 letters + SUFFIX_PROFESSIONAL = /^(PE|CSA|CPA|CPL|CME|CEng|OFM|CSV)$/i + SUFFIX_ABBREVIATION = /^[A-Z]\.?[A-Z]\.?[A-Z]?\.?$/ # 2-3 characters, possibly separated with '.' # http://www.onlineaspect.com/2009/08/17/splitting-names/ LAST_NAME_PRE_DANGLERS = /^(mc|vere|von|van|da|de|del|della|di|da|pietro|vanden|du|st|la|ter|ten)$/i O_LAST_NAME_PRE_CONCATS = /^(o'|o`|o")$/i end