Module: Namae

Defined in:
lib/namae/utility.rb,
lib/namae/name.rb,
lib/namae/parser.rb,
lib/namae/version.rb

Overview

Namae is a parser for human names. It recognizes personal names of various cultural backgrounds and tries to split them into their component parts (e.g., given and family names, honorifics etc.).

The main use case of Namae is to use the .parse or .parse! method to parse a string of names and return a list of Name objects.

Examples:

Name parsing

Namae.parse('Yukihiro "Matz" Matsumoto')
#=> [#<Name family="Matsumoto" given="Yukihiro" nick="Matz">]

Namae.parse('Torvalds, Linus and Cox, Alan')
#=> [#<Name family="Torvalds" given="Linus">, #<Name family="Cox" given="Alan">]

Defined Under Namespace

Modules: NameFormatting, Version Classes: Name, Parser

Class Method Summary collapse

Class Method Details

.configure {|Hash| ... } ⇒ Object

Yields:

  • (Hash)

    the parser’s default configuration.



48
49
50
# File 'lib/namae/utility.rb', line 48

def configure
  yield Parser.defaults
end

.optionsHash

Returns the parser’s current configuration.

Returns:

  • (Hash)

    the parser’s current configuration.



43
44
45
# File 'lib/namae/utility.rb', line 43

def options
  Parser.instance.options
end

.parse(names) ⇒ Array

Parses the passed-in string and returns a list of names. Behaves like parse but returns an empty list for bad input without raising an error.

Parameters:

  • names (String)

    the name or names to be parsed

Returns:

  • (Array)

    the list of parsed names

See Also:



28
29
30
# File 'lib/namae/utility.rb', line 28

def parse(names)
  Parser.instance.parse(names)
end

.parse!(names) ⇒ Array

Parses the passed-in string and returns a list of names.

Parameters:

  • names (String)

    the name or names to be parsed

Returns:

  • (Array)

    the list of parsed names

Raises:

  • (ArgumentError)

    if the string cannot be parsed.



38
39
40
# File 'lib/namae/utility.rb', line 38

def parse!(names)
  Parser.instance.parse!(names)
end