namae 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/namae/name.rb +16 -0
- data/lib/namae/version.rb +2 -2
- data/namae.gemspec +2 -2
- data/spec/namae/name_spec.rb +11 -0
- metadata +15 -15
data/lib/namae/name.rb
CHANGED
@@ -26,6 +26,22 @@ module Namae
|
|
26
26
|
|
27
27
|
class << self
|
28
28
|
attr_reader :parts, :defaults
|
29
|
+
|
30
|
+
# @param name [String] the name to be parsed
|
31
|
+
# @raise [ArgumentError] if the name cannot be parsed or if the input
|
32
|
+
# contains more than a single name
|
33
|
+
# @return [Name] the parsed name
|
34
|
+
def parse!(name)
|
35
|
+
Parser.instance.parse!(name)[0] || new
|
36
|
+
end
|
37
|
+
|
38
|
+
# @param name [String] the name to be parsed
|
39
|
+
# @return [Name,nil] the parsed name or nil if the name cannot be parsed
|
40
|
+
def parse(name)
|
41
|
+
parse!(name)
|
42
|
+
rescue
|
43
|
+
nil
|
44
|
+
end
|
29
45
|
end
|
30
46
|
|
31
47
|
|
data/lib/namae/version.rb
CHANGED
data/namae.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "namae"
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Sylvester Keil", "Dan Collis-Puro"]
|
12
|
-
s.date = "2012-06-
|
12
|
+
s.date = "2012-06-23"
|
13
13
|
s.description = " 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.). "
|
14
14
|
s.email = ["sylvester@keil.or.at", "dan@collispuro.com"]
|
15
15
|
s.extra_rdoc_files = [
|
data/spec/namae/name_spec.rb
CHANGED
@@ -17,6 +17,17 @@ module Namae
|
|
17
17
|
|
18
18
|
end
|
19
19
|
|
20
|
+
describe '.parse' do
|
21
|
+
it 'returns an empty name for an empty string' do
|
22
|
+
Name.parse('').should be_empty
|
23
|
+
Name.parse('').should be_a(Name)
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'returns a single name object if there is more than one name' do
|
27
|
+
Name.parse('Plato and Sokrates').given.should == 'Plato'
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
20
31
|
describe '#values_at' do
|
21
32
|
it 'returns an array with the given values' do
|
22
33
|
Name.new(:family => 'foo').values_at(:family).should == ['foo']
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: namae
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-06-
|
13
|
+
date: 2012-06-23 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: racc
|
17
|
-
requirement: &
|
17
|
+
requirement: &70254620056100 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 1.4.8
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70254620056100
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rdoc
|
28
|
-
requirement: &
|
28
|
+
requirement: &70254620055160 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '3.12'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70254620055160
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: bundler
|
39
|
-
requirement: &
|
39
|
+
requirement: &70254620053560 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '1.1'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70254620053560
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: simplecov
|
50
|
-
requirement: &
|
50
|
+
requirement: &70254620052500 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70254620052500
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: ZenTest
|
61
|
-
requirement: &
|
61
|
+
requirement: &70254620051340 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ~>
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: 4.8.0
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70254620051340
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: jeweler
|
72
|
-
requirement: &
|
72
|
+
requirement: &70254620660080 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ~>
|
@@ -77,7 +77,7 @@ dependencies:
|
|
77
77
|
version: 1.8.3
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *70254620660080
|
81
81
|
description: ! ' Namae is a parser for human names. It recognizes personal names of
|
82
82
|
various cultural backgrounds and tries to split them into their component parts
|
83
83
|
(e.g., given and family names, honorifics etc.). '
|
@@ -131,7 +131,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
131
131
|
version: '0'
|
132
132
|
segments:
|
133
133
|
- 0
|
134
|
-
hash:
|
134
|
+
hash: -521949166001682720
|
135
135
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
136
|
none: false
|
137
137
|
requirements:
|