dwc_agent 2.0.1.5 → 3.0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/dwcagent +2 -2
- data/lib/dwc_agent/cleaner.rb +22 -14
- data/lib/dwc_agent/constants.rb +1 -1
- data/lib/dwc_agent/version.rb +3 -3
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 969bc7536c6e62205c92cd816cccf491d4f307f81cafaa7c9fd4ba90d41a1bb1
|
4
|
+
data.tar.gz: 21a049be78e691ab7905eae6af9723b9b2aeaca4e7d7594107f968494d71a932
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cdb088fa5df59b1c058226b8266b0e8d3c686f6e3632ddf09867b0ac75c8e9cd292ab44025e2e97720161963e0a5f7f9d7daf718f55ed9d0a66f9d0a44c03d78
|
7
|
+
data.tar.gz: 222e2443238ba507d97a7f069d08fbec5f070ec647f83d353ca482a0bbec926587e5ef65af21d7505f6abb714c709d2f3409efcc00d204d47f7ea723f05e3eb5
|
data/bin/dwcagent
CHANGED
@@ -7,8 +7,8 @@ require 'json'
|
|
7
7
|
names = []
|
8
8
|
DwcAgent.parse(ARGV[0].dup).each do |r|
|
9
9
|
name = DwcAgent.clean(r)
|
10
|
-
if !name
|
10
|
+
if !name.family.nil? && name.family.length >= 2
|
11
11
|
names << name
|
12
12
|
end
|
13
13
|
end
|
14
|
-
puts names.uniq.to_json
|
14
|
+
puts names.uniq.to_h.to_json
|
data/lib/dwc_agent/cleaner.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
module DwcAgent
|
2
|
+
|
2
3
|
class Cleaner
|
3
4
|
|
4
5
|
class << self
|
@@ -16,26 +17,25 @@ module DwcAgent
|
|
16
17
|
# @param parsed_namae [Object] the namae object
|
17
18
|
# @return [Hash] the given, family hash
|
18
19
|
def clean(parsed_namae)
|
19
|
-
blank_name = { title: nil, appellation: nil, given: nil, particle: nil, family: nil, suffix: nil }
|
20
20
|
|
21
21
|
if parsed_namae.given && GIVEN_BLACKLIST.any?{ |s| s.casecmp(parsed_namae.given) == 0 }
|
22
|
-
return
|
22
|
+
return Namae::Name.new
|
23
23
|
end
|
24
24
|
|
25
25
|
if parsed_namae.family && parsed_namae.family.length == 3 && parsed_namae.family.count('.') == 1
|
26
|
-
return
|
26
|
+
return Namae::Name.new
|
27
27
|
end
|
28
28
|
|
29
29
|
if parsed_namae.given && parsed_namae.given.length > 35
|
30
|
-
return
|
30
|
+
return Namae::Name.new
|
31
31
|
end
|
32
32
|
|
33
33
|
if parsed_namae.given && parsed_namae.given.count('.') >= 3 && /\.\s*[a-zA-Z]{4,}\s+[a-zA-Z]{1,}\./.match(parsed_namae.given)
|
34
|
-
return
|
34
|
+
return Namae::Name.new
|
35
35
|
end
|
36
36
|
|
37
37
|
if parsed_namae.display_order =~ BLACKLIST
|
38
|
-
return
|
38
|
+
return Namae::Name.new
|
39
39
|
end
|
40
40
|
|
41
41
|
if parsed_namae.given &&
|
@@ -76,7 +76,7 @@ module DwcAgent
|
|
76
76
|
end
|
77
77
|
|
78
78
|
if parsed_namae.family && FAMILY_BLACKLIST.any?{ |s| s.casecmp(parsed_namae.family) == 0 }
|
79
|
-
return
|
79
|
+
return Namae::Name.new
|
80
80
|
end
|
81
81
|
|
82
82
|
parsed_namae.normalize_initials
|
@@ -111,22 +111,30 @@ module DwcAgent
|
|
111
111
|
end
|
112
112
|
|
113
113
|
if !family.nil? && family.match(/[A-Z]$/)
|
114
|
-
return
|
114
|
+
return Namae::Name.new
|
115
115
|
end
|
116
116
|
|
117
117
|
if given.nil? && !family.nil? && family.match(/^[A-Z]{2}/)
|
118
|
-
return
|
118
|
+
return Namae::Name.new
|
119
119
|
end
|
120
120
|
|
121
121
|
if !family.nil? && FAMILY_BLACKLIST.any?{ |s| s.casecmp(family) == 0 }
|
122
|
-
return
|
122
|
+
return Namae::Name.new
|
123
123
|
end
|
124
124
|
|
125
125
|
if !given.nil? && GIVEN_BLACKLIST.any?{ |s| s.casecmp(given) == 0 }
|
126
|
-
return
|
127
|
-
end
|
128
|
-
|
129
|
-
|
126
|
+
return Namae::Name.new
|
127
|
+
end
|
128
|
+
|
129
|
+
name = {
|
130
|
+
title: title,
|
131
|
+
appellation: appellation,
|
132
|
+
given: given,
|
133
|
+
particle: particle,
|
134
|
+
family: family,
|
135
|
+
suffix: suffix
|
136
|
+
}
|
137
|
+
Namae::Name.new(name)
|
130
138
|
end
|
131
139
|
|
132
140
|
end
|
data/lib/dwc_agent/constants.rb
CHANGED
@@ -329,7 +329,7 @@ module DwcAgent
|
|
329
329
|
"has not"
|
330
330
|
]
|
331
331
|
|
332
|
-
TITLE = /\s*\b(sir|count(ess)?|colonel|(gen|adm|col|maj|
|
332
|
+
TITLE = /\s*\b(sir|count(ess)?|colonel|(gen|adm|col|maj|capt|cmdr|lt|sgt|cpl|pvt|proff?|dr|md|ph\.?d|rev|mme|abbé|ptre|bro|esq)\.?|docteur|father|cantor|vicar|père|pastor|rabbi|reverend|pere|soeur|sister|professor)(\s+|$)/i
|
333
333
|
|
334
334
|
APPELLATION = /\s*\b((mrs?|ms|fr|hr)\.?|miss|herr|frau)(\s+|$)/i
|
335
335
|
|
data/lib/dwc_agent/version.rb
CHANGED