relaton-iev 1.1.2 → 1.1.3

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: 171452dde039161de3d84192e3618fe2d7df53772c9250fe40a00e11d10263fe
4
- data.tar.gz: 4d927ecb1b1afcf5302685c1119c2b1807e489a9955b893ff983ac0ca5db24be
3
+ metadata.gz: 3918718353f35253438dab58b258c15d1cc91169370cab27b81dc8ff03d07cad
4
+ data.tar.gz: b82d15e9a3bc1dc10e03cd6c9d4c16632f666fe91770fc23f54d7ce25c7df78f
5
5
  SHA512:
6
- metadata.gz: 9b8474c5c852ead8e7979c0a5f8d46d6cf0270e1f96e422141e1cd655fc0a0def44f1ba67a306cf66f7030da2e49e54dbd6bb15215f186093ff44d0fcffdb9e0
7
- data.tar.gz: 570ad6aeb737744761fe7e68b8b300d48fea9f176bbf4d3397ce530e73e2b4f74219f9911691307d3357619b97bce57cc66957f5d9ca274fd333d3d4be882cee
6
+ metadata.gz: 524597c4b1b0293b302e2c9575f80f593e930ccca13d5b1af07b0b8ac7965c908c19025812ff0b16db28514af9b1006720154db6cc6d7a7029b22c5b84336847
7
+ data.tar.gz: 143558a313ad249766a8e7ccb6395555cfda59320106fde08c707c2e518e21bed5461886d82db05ab1ca8facda39676d191aeaff5ac0933811ca7fac1de89ca2
@@ -16,19 +16,9 @@ jobs:
16
16
  strategy:
17
17
  fail-fast: false
18
18
  matrix:
19
- ruby: [ '2.7', '2.6', '2.5', '2.4' ]
19
+ ruby: [ '2.7', '2.6', '2.5', '3.0' ]
20
20
  os: [ ubuntu-latest, windows-latest, macos-latest ]
21
21
  experimental: [ false ]
22
- include:
23
- - ruby: '3.0'
24
- os: 'ubuntu-latest'
25
- experimental: true
26
- - ruby: '3.0'
27
- os: 'windows-latest'
28
- experimental: true
29
- - ruby: '3.0'
30
- os: 'macos-latest'
31
- experimental: true
32
22
  steps:
33
23
  - uses: actions/checkout@v2
34
24
  with:
data/.rubocop.yml CHANGED
@@ -9,4 +9,4 @@ inherit_from:
9
9
  AllCops:
10
10
  DisplayCopNames: false
11
11
  StyleGuideCopsOnly: false
12
- TargetRubyVersion: 2.4
12
+ TargetRubyVersion: 2.5
@@ -1,3 +1,3 @@
1
1
  module RelatonIev
2
- VERSION = "1.1.2".freeze
2
+ VERSION = "1.1.3".freeze
3
3
  end
data/lib/relaton_iev.rb CHANGED
@@ -8,19 +8,20 @@ module RelatonIev
8
8
  # converts generic IEV citation to citation of IEC 60050-n
9
9
  # assumes IEV citations are of form
10
10
  # <eref type="inline" bibitemid="a" citeas="IEC 60050">
11
- # <locality type="clause"><referenceFrom>101-01-01</referenceFrom></locality></eref>
11
+ # <locality type="clause"><referenceFrom>101-01-01</referenceFrom>
12
+ # </locality></eref>
12
13
  #
13
14
  # @param xmldoc [Nokogiri::XML::Documet]
14
15
  # @return [Set<String>]
15
- def linksIev2iec60050part(xmldoc)
16
+ def links_iev2iec60050part(xmldoc)
16
17
  parts = Set.new
17
- xmldoc.xpath("//eref[@citeas = 'IEC 60050:2011'] | "\
18
- "//origin[@citeas = 'IEC 60050:2011']").each do |x|
19
- cl = x&.at(".//locality[@type = 'clause']/referenceFrom")&.text || next
20
- m = /^(\d+)/.match cl || next
21
- parts << m[0]
22
- x["citeas"] = x["citeas"].sub(/60050/, "60050-#{m[0]}")
23
- x["bibitemid"] = "IEC60050-#{m[0]}"
18
+ xmldoc.xpath("//*[@citeas = 'IEC 60050:2011']").each do |x|
19
+ m = x&.at(".//locality[@type = 'clause']/referenceFrom")&.text
20
+ &.sub(/^(\d+).*$/, "\\1") or next
21
+
22
+ parts << m
23
+ x["citeas"] = x["citeas"].sub(/60050/, "60050-#{m}")
24
+ x["bibitemid"] = "IEC60050-#{m}"
24
25
  end
25
26
  parts
26
27
  end
@@ -33,20 +34,19 @@ module RelatonIev
33
34
  # @param iev [Nokogiri::XML::Element]
34
35
  # @param bibdb [Relaton::Db, NilClass]
35
36
  # @return [Nokogiri::XML::Element]
36
- def refsIev2iec60050part(xmldoc, parts, iev, bibdb = nil)
37
+ def refs_iev2iec60050part(xmldoc, parts, bibdb = nil)
37
38
  new_iev = ""
38
39
  parts.sort.each do |p|
39
- hit = bibdb&.fetch("IEC 60050-#{p}", nil, keep_year: true) || next
40
- date = hit.date[0].on(:year)
41
- new_iev += refsIev2iec60050part1(xmldoc, p, hit)
40
+ hit = bibdb&.fetch("IEC 60050-#{p}", nil, keep_year: true) or next
41
+ new_iev += refs_iev2iec60050part1(xmldoc, p, hit)
42
42
  xmldoc.xpath("//*[@citeas = 'IEC 60050-#{p}:2011']").each do |x|
43
- x["citeas"] = x["citeas"].sub(/:2011$/, ":#{date}")
43
+ x["citeas"] = x["citeas"].sub(/:2011$/, ":#{hit.date[0].on(:year)}")
44
44
  end
45
45
  end
46
- iev.replace(new_iev)
46
+ new_iev
47
47
  end
48
48
 
49
- def refsIev2iec60050part1(xmldoc, part, hit)
49
+ def refs_iev2iec60050part1(xmldoc, part, hit)
50
50
  date = hit.date[0].on(:year)
51
51
  return "" if already_contains_ref(xmldoc, part, date)
52
52
 
@@ -65,8 +65,8 @@ module RelatonIev
65
65
  # @return [Nokogiri::XML::Element]
66
66
  def iev_cleanup(xmldoc, bibdb = nil)
67
67
  iev = xmldoc.at("//bibitem[docidentifier = 'IEC 60050:2011']") || return
68
- parts = linksIev2iec60050part(xmldoc)
69
- refsIev2iec60050part(xmldoc, parts, iev, bibdb)
68
+ parts = links_iev2iec60050part(xmldoc)
69
+ iev.replace(refs_iev2iec60050part(xmldoc, parts, bibdb))
70
70
  end
71
71
  end
72
72
  end
data/relaton_iev.gemspec CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.bindir = "exe"
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
- spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
23
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
24
24
 
25
25
  # spec.add_development_dependency "debase"
26
26
  spec.add_development_dependency "pry-byebug"
@@ -32,6 +32,6 @@ Gem::Specification.new do |spec|
32
32
  spec.add_development_dependency "vcr"
33
33
  spec.add_development_dependency "webmock"
34
34
 
35
- spec.add_dependency "nokogiri", "~> 1.11.0"
35
+ spec.add_dependency "nokogiri", "~> 1.12.0"
36
36
  spec.add_dependency "relaton", ">= 1.6"
37
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-iev
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-07 00:00:00.000000000 Z
11
+ date: 2021-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry-byebug
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 1.11.0
117
+ version: 1.12.0
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 1.11.0
124
+ version: 1.12.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: relaton
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -169,7 +169,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - ">="
171
171
  - !ruby/object:Gem::Version
172
- version: 2.4.0
172
+ version: 2.5.0
173
173
  required_rubygems_version: !ruby/object:Gem::Requirement
174
174
  requirements:
175
175
  - - ">="