dwc_agent 3.0.0.9 → 3.0.1.1

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: ed891ad93906581d9340f3baa16006336cd9424d8c44bf7fecd0611db5546182
4
- data.tar.gz: a6785a960284e60f948fa07dfb042b83adb656ee5b2473101478aba43bbabf8b
3
+ metadata.gz: 51d092e5e8f6a540e67959189827553f1b37214b855465ef69444098e9146972
4
+ data.tar.gz: 5ca4086f1bed287ec90c1afc1ce1e46f1ad6fd149f7449ca519e59f2474a918c
5
5
  SHA512:
6
- metadata.gz: 2765dfcc031e7cfc5e6c9d6b39f1aae9285fda95b029bd5a5d192292cafa911e885ce490a1e811055715b10bde1e986055fa36b13775c008ce04a6bda14baffb
7
- data.tar.gz: 69807bf8ff357feec4ab9cd0a0e4c765cd49df19fa1b96eba6b8dfc7ade0c5c568d192dba83d325eec79e4a5f20b9752db8e5b5d5e560fcc3aa461062d5debe8
6
+ metadata.gz: a255f52c83b5bfda870d3edd20187186fd3d0a6345a51dadf67a2d9dd072ec4e476a56d0fbb593e72a417a425a5a9dae2716a61dc7bd88fbf9c8350a45ff68ea
7
+ data.tar.gz: 8cb41bc6e132bcc66aa3a196bd54e48b374c7a95227c9fa13f77b856d88684978d98c72100790db244a83e65b389d162a819a8926c2d1ca8c1dad7d8c6166de4
@@ -124,7 +124,8 @@ module DwcAgent
124
124
  (?i:ex\.?\s+herb\.?\s*)|
125
125
  \:?\s*(?i:exch)(\b|\z)|
126
126
  \s+de\s*$|
127
- \.{2,}$
127
+ \.{2,}$|
128
+ \[|\]
128
129
  }x
129
130
 
130
131
  SPLIT_BY = %r{
@@ -200,6 +201,7 @@ module DwcAgent
200
201
  "^(\\S{4,},\\s+(?:\\S\\.\\s*){1,})\\s+(\\S{4,},\\s+(?:\\S\.\\s*){1,})$" => "\\1 | \\2",
201
202
  "(\\S{1}\\.)([[:alpha:]]{2,})" => "\\1 \\2",
202
203
  "([[:alpha:]]*),?\\s+(.*)\\s+(van|von)$" => "\\3 \\1, \\2",
204
+ "^([A-Z.\\s]+)\\s+(?:and|&|et|e)\\s+([A-Z.\\s]+)\\s+([[:alpha:]]{2,})\\s+([[:alpha:]]{2,})$" => "\\1 \\4 | \\2 \\3 \\4",
203
205
  "^([A-Z.\\s]+)\\s+(?:and|&|et|e)\\s+([A-Z.\\s]+)\\s+([[:alpha:]]{2,})(.*)" => "\\1 \\3 | \\2 \\3 | \\4",
204
206
  "^([A-Z][[:alpha:]]{2,}),\\s*?([A-Z][[:alpha:]]{2,})\\s*?[,&]\\s*?([A-Z][[:alpha:]]{2,})$" => "\\1 | \\2 | \\3",
205
207
  "^([A-Z][[:alpha:]]{2,}),\\s*?([A-Z][[:alpha:]]{2,}),\\s*?([A-Z][[:alpha:]]{2,})\\s*?[,&]\\s*?([A-Z][[:alpha:]]{3,})$" => "\\1 | \\2 | \\3 | \\4",
@@ -1,4 +1,5 @@
1
1
  module DwcAgent
2
+
2
3
  class Parser
3
4
 
4
5
  class << self
@@ -20,6 +21,7 @@ module DwcAgent
20
21
  @char_subs_regex = Regexp.new [CHAR_SUBS.keys.join].to_s
21
22
  @phrase_subs_regex = Regexp.new PHRASE_SUBS.keys.map{|a| Regexp.escape a }.join('|').to_s
22
23
  @residual_terminators_regex = Regexp.new SPLIT_BY.to_s + %r{\s*\z}.to_s
24
+ @separators = SEPARATORS.map{|k,v| [ Regexp.new(k), v] }
23
25
  end
24
26
 
25
27
  # Parses the passed-in string and returns a list of names.
@@ -29,10 +31,8 @@ module DwcAgent
29
31
  def parse(name)
30
32
  return [] if name.nil? || name == ""
31
33
  name.gsub!(@strip_out_regex, ' ')
32
- name.gsub!(/\[|\]/, '')
33
- name.gsub!(@char_subs_regex, CHAR_SUBS)
34
- name.gsub!(@phrase_subs_regex, PHRASE_SUBS)
35
- SEPARATORS.each{|key, value| name.gsub!(Regexp.new(key), value)}
34
+ name.gsub!(Regexp.union(@char_subs_regex, @phrase_subs_regex), CHAR_SUBS.merge(PHRASE_SUBS))
35
+ @separators.each{|k| name.gsub!(k[0], k[1])}
36
36
  name.gsub!(@residual_terminators_regex, '')
37
37
  name.squeeze!(' ')
38
38
  name.strip!
@@ -3,8 +3,8 @@ module DwcAgent
3
3
 
4
4
  MAJOR = 3
5
5
  MINOR = 0
6
- PATCH = 0
7
- BUILD = 9
6
+ PATCH = 1
7
+ BUILD = 1
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: 3.0.0.9
4
+ version: 3.0.1.1
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: 2022-02-28 00:00:00.000000000 Z
11
+ date: 2022-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: namae
@@ -119,7 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
119
  - !ruby/object:Gem::Version
120
120
  version: '0'
121
121
  requirements: []
122
- rubygems_version: 3.2.15
122
+ rubygems_version: 3.3.17
123
123
  signing_key:
124
124
  specification_version: 4
125
125
  summary: Parse Darwin Core agent terms such as recordedBy and identifiedBy