dwc_agent 2.0.1.4 → 3.0.0.2

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: a23166a7cb2ae97144838d8b252a80c47cbc4280b81eff67c7f021e333b11f39
4
- data.tar.gz: 5bf797866c7f20e713f9bb874e065a54e610adc8e4c78227db09383aa5d3f393
3
+ metadata.gz: 4eef2473cbf2e8ce7d504a4ebce69aa9a3a9da5a6ca92018044a154ced201a9a
4
+ data.tar.gz: 4337d9f5441da1e6a1970449ef381e99027aeb1efe22fa0f43270d0f2c122d8b
5
5
  SHA512:
6
- metadata.gz: a379ef8556391409209410d32522b4eebbe67af9e37fa8309e69dcef83268741a036737d1c70923d9cdc811cc4d31a40ad3ace867daa3a065d5d62e5a3465224
7
- data.tar.gz: dab007c012564b52f6b850a64ae6239eef85ad6df217b8ee4320d2b6adbc3afe67a323fae28baa746df696e841c691b6851ced9afb78975dcc01e6f3cb063c79
6
+ metadata.gz: bf4ad079202f2f5e7550b79e095649416d64d6bd74300127cf2272da0f3a11e77ab00d1b95c2867256c6f98e6247a725f9cf4261fa07db501b8c97f9adc5efaa
7
+ data.tar.gz: 52265090309fda51f66b54cc522f20c1f0415b451aea8749b0457360ae4079301ff6fffcca3fa54de60a0da1737158c35d96683ca04c4c2806189503402710d6
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
11
- names << name
10
+ if !name.family.nil? && name.family.length >= 2
11
+ names << name.to_h
12
12
  end
13
13
  end
14
- puts names.uniq.to_json
14
+ puts names.uniq.to_json
@@ -1,4 +1,5 @@
1
1
  module DwcAgent
2
+
2
3
  class Cleaner
3
4
 
4
5
  class << self
@@ -13,29 +14,28 @@ module DwcAgent
13
14
  # Cleans the passed-in namae object from the parse method and
14
15
  # re-organizes it to better match expected Darwin Core output.
15
16
  #
16
- # @param parsed_namae [Object] the namae object
17
- # @return [Hash] the given, family hash
17
+ # @param parsed_namae [Namae::Name] a Namae object
18
+ # @return Namae::Name [Object] a new Namae object
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
@@ -52,7 +52,7 @@ module DwcAgent
52
52
  \d+\s+(?i:Nov|Novemb(er|re))\.?\b|
53
53
  \d+\s+(?i:Dec|D(e|é)cemb(er|re))\.?\b|
54
54
  \b[.-–,;:/]?\s*(?i:Alabama|Alaska|Arizona|Arkansas|California|Colorado|Connecticut|Delaware|Evergreen|Florida|Hawaii|Idaho|Illinois|Indiana|Iowa|Kansas|Kentucky|Louisiana|Maine|Maryland|Massachusetts|Michigan|Minnesota|Mississippi|Missouri|Montana|Nebraska|Nevada|New\s+Hampshire|New\s+Jersey|New\s+Mexico|New\s+York|North\s+Carolina|North\s+Dakota|Ohio|Oklahoma|Oregon|Pennsylvania|Portland|Rhode\s+Island|South\s+Carolina|South\s+Dakota|St\s+Petersburg|Tennessee|Texas|Utah|Vermont|Washington|West\s+Virginia|Wisconsin|Wyoming)\s+(?i:State)\s*\b|
55
- \b[.,;:/]?\s*?(?i:Afghanistan|Åland Islands|Albania|Algeria|American Samoa|Andorra|Angola|Anguilla|Antarctica|Antigua and Barbuda|Argentina|Armenia|Aruba|Australia|Austria|Azerbaijan|Bahamas|Bahrain|Bangladesh|Barbados|Belarus|Belgium|Belize|Benin|Bermuda|Bhutan|Bolivia \(Plurinational State of\)|Bonaire, Sint Eustatius and Saba|Bosnia and Herzegovina|Botswana|Bouvet Island|Brazil|British Indian Ocean Territory|Brunei Darussalam|Bulgaria|Burkina Faso|Burundi|Cabo Verde|Cambodia|Cameroon|Canada|Cayman Islands|Central African Republic|Chad|Chile|Christmas Island|Cocos \(Keeling\) Islands|Colombia|Comoros|Congo|Congo \(Democratic Republic of the\)|Cook Islands|Costa Rica|Côte d'Ivoire|Croatia|Cuba|Curaçao|Cyprus|Czechia|Djibouti|Dominica|Dominican Republic|Ecuador|Egypt|El Salvador|Equatorial Guinea|Eritrea|Estonia|Ethiopia|Falkland Islands \(Malvinas\)|Faroe Islands|Fiji|Finland|France|French Guiana|French Polynesia|French Southern Territories|Gabon|Gambia|Germany|Ghana|Gibraltar|Greece|Greenland|Grenada|Guadeloupe|Guam|Guatemala|Guernsey|Guinea-Bissau|Guyana|Haiti|Heard Island and McDonald Islands|Holy See|Honduras|Hong Kong|Hungary|Iceland|India|Indonesia|Iran \(Islamic Republic of\)|Iraq|Ireland|Isle of Man|Israel|Italy|Jamaica|Japan|Jersey|Kazakhstan|Kenya|Kiribati|Korea \(Democratic People\'s Republic of\)|Korea \(Republic of\)|Kuwait|Kyrgyzstan|Lao People\'s Democratic Republic|Latvia|Lebanon|Lesotho|Liberia|Libya|Liechtenstein|Lithuania|Luxembourg|Macao|Macedonia (the former Yugoslav Republic of)|Madagascar|Malawi|Malaysia|Maldives|Malta|Marshall Islands|Martinique|Mauritania|Mauritius|Mayotte|Mexico|Micronesia \(Federated States of\)|Moldova \(Republic of\)|Monaco|Mongolia|Montenegro|Morocco|Mozambique|Myanmar|Namibia|Nauru|Nepal|Netherlands|New Caledonia|New Zealand|Nicaragua|Niger|Nigeria|Niue|Norfolk Island|Northern Mariana Islands|Norway|Oman|Pakistan|Palau|Palestine, State of|Panama|Papua New Guinea|Paraguay|Peru|Philippines|Pitcairn|Poland|Portugal|Puerto Rico|Qatar|Réunion|Romania|Russian Federation|Rwanda|Saint Barthélemy|Saint Helena, Ascension and Tristan da Cunha|Saint Kitts and Nevis|Saint Lucia|Saint Martin \(French part\)|Saint Pierre and Miquelon|Saint Vincent and the Grenadines|Samoa|San Marino|Sao Tome and Principe|Saudi Arabia|Senegal|Serbia|Seychelles|Sierra Leone|Singapore|Sint Maarten \(Dutch part\)|Slovakia|Slovenia|Solomon Islands|Somalia|South Africa|South Georgia and the South Sandwich Islands|South Sudan|Spain|Sri Lanka|Sudan|Suriname|Svalbard and Jan Mayen|Swaziland|Sweden|Switzerland|Syrian Arab Republic|Taiwan|Tajikistan|Tanzania, United Republic of|Thailand|Timor-Leste|Togo|Tokelau|Tonga|Trinidad and Tobago|Tunisia|Turkey|Turkmenistan|Turks and Caicos Islands|Tuvalu|Uganda|Ukraine|United Arab Emirates|United Kingdom of Great Britain and Northern Ireland|United States of America|United States Minor Outlying Islands|Uruguay|Uzbekistan|Vanuatu|Venezuela \(Bolivarian Republic of\)|Viet Nam|Virgin Islands \(British\)|Virgin Islands \(U\.S\.\)|Wallis and Futuna|Western Sahara|Yemen|Zambia|Zimbabwe)\b|
55
+ \b[.,;:/]?\s*?(?i:Afghanistan|Åland Islands|Albania|Algeria|American Samoa|Andorra|Angola|Anguilla|Antarctica|Antigua and Barbuda|Argentina|Armenia|Aruba|Australia|Austria|Azerbaijan|Bahamas|Bahrain|Bangladesh|Barbados|Belarus|Belize|Benin|Bermuda|Bhutan|Bolivia \(Plurinational State of\)|Bonaire, Sint Eustatius and Saba|Bosnia and Herzegovina|Botswana|Bouvet Island|Brazil|British Indian Ocean Territory|Brunei Darussalam|Bulgaria|Burkina Faso|Burundi|Cabo Verde|Cambodia|Cameroon|Canada|Cayman Islands|Central African Republic|Chad|Chile|Christmas Island|Cocos \(Keeling\) Islands|Colombia|Comoros|Congo|Congo \(Democratic Republic of the\)|Cook Islands|Costa Rica|Côte d'Ivoire|Croatia|Cuba|Curaçao|Cyprus|Czechia|Djibouti|Dominica|Dominican Republic|Ecuador|Egypt|El Salvador|Equatorial Guinea|Eritrea|Estonia|Ethiopia|Falkland Islands \(Malvinas\)|Faroe Islands|Fiji|Finland|French Guiana|French Polynesia|French Southern Territories|Gabon|Gambia|Germany|Ghana|Gibraltar|Greece|Greenland|Grenada|Guadeloupe|Guam|Guatemala|Guernsey|Guinea-Bissau|Guyana|Haiti|Heard Island and McDonald Islands|Holy See|Honduras|Hong Kong|Hungary|Iceland|India|Indonesia|Iran \(Islamic Republic of\)|Iraq|Ireland|Isle of Man|Italy|Jamaica|Japan|Jersey|Kazakhstan|Kenya|Kiribati|Korea \(Democratic People\'s Republic of\)|Korea \(Republic of\)|Kuwait|Kyrgyzstan|Lao People\'s Democratic Republic|Latvia|Lebanon|Lesotho|Liberia|Libya|Liechtenstein|Lithuania|Luxembourg|Macao|Macedonia (the former Yugoslav Republic of)|Madagascar|Malawi|Malaysia|Maldives|Malta|Marshall Islands|Martinique|Mauritania|Mauritius|Mayotte|Mexico|Micronesia \(Federated States of\)|Moldova \(Republic of\)|Monaco|Mongolia|Montenegro|Morocco|Mozambique|Myanmar|Namibia|Nauru|Nepal|Netherlands|New Caledonia|New Zealand|Nicaragua|Niger|Nigeria|Niue|Norfolk Island|Northern Mariana Islands|Norway|Oman|Pakistan|Palau|Palestine, State of|Panama|Papua New Guinea|Paraguay|Peru|Philippines|Pitcairn|Poland|Puerto Rico|Qatar|Réunion|Romania|Russian Federation|Rwanda|Saint Barthélemy|Saint Helena, Ascension and Tristan da Cunha|Saint Kitts and Nevis|Saint Lucia|Saint Martin \(French part\)|Saint Pierre and Miquelon|Saint Vincent and the Grenadines|Samoa|San Marino|Sao Tome and Principe|Saudi Arabia|Senegal|Serbia|Seychelles|Sierra Leone|Singapore|Sint Maarten \(Dutch part\)|Slovakia|Slovenia|Solomon Islands|Somalia|South Africa|South Georgia and the South Sandwich Islands|South Sudan|Sri Lanka|Sudan|Suriname|Svalbard and Jan Mayen|Swaziland|Sweden|Switzerland|Syrian Arab Republic|Taiwan|Tajikistan|Tanzania, United Republic of|Thailand|Timor-Leste|Togo|Tokelau|Tonga|Trinidad and Tobago|Tunisia|Turkey|Turkmenistan|Turks and Caicos Islands|Tuvalu|Uganda|Ukraine|United Arab Emirates|United Kingdom of Great Britain and Northern Ireland|United States of America|United States Minor Outlying Islands|Uruguay|Uzbekistan|Vanuatu|Venezuela \(Bolivarian Republic of\)|Viet Nam|Virgin Islands \(British\)|Virgin Islands \(U\.S\.\)|Wallis and Futuna|Western Sahara|Yemen|Zambia|Zimbabwe)\b|
56
56
  (?i:autres?\s+de|probab|likely|possibl(e|y)|doubtful)|
57
57
  \b\s*(?i:maybe)\s*\b|
58
58
  \b\s*(?i:prob)\.\s*\b|
@@ -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 = 4
6
+ PATCH = 0
7
+ BUILD = 2
8
8
 
9
9
  def self.version
10
10
  [MAJOR, MINOR, PATCH, BUILD].compact.join('.').freeze
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dwc_agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1.4
4
+ version: 3.0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David P. Shorthouse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-26 00:00:00.000000000 Z
11
+ date: 2021-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: namae