change_the_subject 0.1.0 → 0.3.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: 3640fe5de11bf3140e0cc2dd5000e46c871b915091fc7cae37eef93261adde20
4
- data.tar.gz: 7ad884518e4ad331f5432f231adc7975b3951e4dd97351fe1482c7cdedaf311b
3
+ metadata.gz: e31b7ca05a148620fadf5080c29622314291b4ab3dc002ae76bf0385d56df57b
4
+ data.tar.gz: 8fc444360e01543dfda734714b76190847067e4897106a90c81bfb20b0cb7206
5
5
  SHA512:
6
- metadata.gz: 856d78cf1026e52d63b06c5cd786495a6c097e4f73ccb92948089537759ed5426d325b0a534afd2554df46ac531cc9344d460f8b1c6811efc850a3d28e575d08
7
- data.tar.gz: 4d756fffc1b334b7e943fe01aa9ce6500c192d795344ce659efaedd257c0e69d9c4cce54b691dd647d05bf97cfc69375aa13661ea64120f4bd412230c0df122a
6
+ metadata.gz: bc0d1ae40e9a89d7124dfdd7ffbe264a09b6a1548b8faa5af0c234f203cf7700e7812f8c437cde7d703fdc87f415faa68b358dae4c2b6e1f4523b56483945094
7
+ data.tar.gz: d01d1bb8684a7adb0d364e12f424edf0655c88d7a29bb6831154a713576e71d584fc4297dce151c611688eff019092848afc2e2af474798f39c288d63c4ffaa9
data/.gitignore CHANGED
@@ -6,6 +6,7 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ *.gem
9
10
 
10
11
  # rspec failure tracking
11
12
  .rspec_status
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- change_the_subject (0.1.0)
4
+ change_the_subject (0.2.0)
5
5
  yaml
6
6
 
7
7
  GEM
@@ -79,4 +79,4 @@ DEPENDENCIES
79
79
  simplecov
80
80
 
81
81
  BUNDLED WITH
82
- 2.3.18
82
+ 2.3.22
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class ChangeTheSubject
4
- VERSION = "0.1.0"
4
+ VERSION = "0.3.0"
5
5
  end
@@ -1,24 +1,23 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "yaml"
4
- require "pry-byebug"
5
4
 
6
5
  # The creation and management of metadata are not neutral activities.
7
6
  class ChangeTheSubject
8
7
  class Error < StandardError; end
9
8
 
10
- def self.fix(subject_terms:, separator: nil)
11
- new(separator: separator).fix(subject_terms: subject_terms)
9
+ def self.fix(subject_terms:, separators: nil)
10
+ new(separators: separators).fix(subject_terms: subject_terms)
12
11
  end
13
12
 
14
- def self.check_for_replacement(term:, separator: nil)
15
- new(separator: separator).check_for_replacement(term: term)
13
+ def self.check_for_replacement(term:, separators: nil)
14
+ new(separators: separators).check_for_replacement(term: term)
16
15
  end
17
16
 
18
- attr_reader :separator
17
+ attr_reader :separators
19
18
 
20
- def initialize(separator: nil)
21
- @separator = separator || "—"
19
+ def initialize(separators: nil)
20
+ @separators = separators || ["—"]
22
21
  end
23
22
 
24
23
  def terms_mapping
@@ -45,14 +44,18 @@ class ChangeTheSubject
45
44
  # @param [String] term
46
45
  # @return [String]
47
46
  def check_for_replacement(term:)
48
- subterms = term.split(separator)
49
- subfield_a = subterms.first
50
- replacement = terms_mapping[subfield_a]
51
- return term unless replacement
52
-
53
- subterms.delete(subfield_a)
54
- subterms.prepend(replacement["replacement"])
55
- subterms.join(separator)
47
+ separators.each do |separator|
48
+ subterms = term.split(separator)
49
+ subfield_a = subterms.first
50
+ replacement = terms_mapping[subfield_a]
51
+ next unless replacement
52
+
53
+ subterms.delete(subfield_a)
54
+ subterms.prepend(replacement["replacement"])
55
+ return subterms.join(separator)
56
+ end
57
+
58
+ term
56
59
  end
57
60
 
58
61
  private
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: change_the_subject
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Kadel
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2022-09-15 00:00:00.000000000 Z
14
+ date: 2022-09-19 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: yaml