dwc_agent 2.0.1.5 → 3.0.0.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.
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