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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 15a72ae3bc74fcc411c648733f04ec43ee8b12512fb98bf58cb640493156412a
4
- data.tar.gz: f310122cc8d7e6f65bb44904625d66a07883af553bd2425d2b2822b3d2ae7cf8
3
+ metadata.gz: 969bc7536c6e62205c92cd816cccf491d4f307f81cafaa7c9fd4ba90d41a1bb1
4
+ data.tar.gz: 21a049be78e691ab7905eae6af9723b9b2aeaca4e7d7594107f968494d71a932
5
5
  SHA512:
6
- metadata.gz: 40354c8f1bc535c7011bf07a489cd5ac82c44df1031535933c0979acd49b69961e80467eaa036c4ebe7e9dd126a87f1103df74614e75c6c6f6ca299deff73374
7
- data.tar.gz: aebee91062c0a02c00f6a4e8106334c231016ae8d02b4742bde9f594d6f71f50620e28341bd1076e29e751a3ab0a43c7a34fd31a145397d019301a23f4987bf6
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[:family].nil? && name[:family].length >= 2
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
@@ -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 blank_name
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 blank_name
26
+ return Namae::Name.new
27
27
  end
28
28
 
29
29
  if parsed_namae.given && parsed_namae.given.length > 35
30
- return blank_name
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 blank_name
34
+ return Namae::Name.new
35
35
  end
36
36
 
37
37
  if parsed_namae.display_order =~ BLACKLIST
38
- return blank_name
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 blank_name
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 blank_name
114
+ return Namae::Name.new
115
115
  end
116
116
 
117
117
  if given.nil? && !family.nil? && family.match(/^[A-Z]{2}/)
118
- return blank_name
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 blank_name
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 blank_name
127
- end
128
-
129
- { title: title, appellation: appellation, given: given, particle: particle, family: family, suffix: suffix }
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
@@ -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|major|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
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
 
@@ -1,10 +1,10 @@
1
1
  module DwcAgent
2
2
  class Version
3
3
 
4
- MAJOR = 2
4
+ MAJOR = 3
5
5
  MINOR = 0
6
- PATCH = 1
7
- BUILD = 5
6
+ PATCH = 0
7
+ BUILD = 0
8
8
 
9
9
  def self.version
10
10
  [MAJOR, MINOR, PATCH, BUILD].compact.join('.').freeze
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dwc_agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1.5
4
+ version: 3.0.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David P. Shorthouse