relaton-iev 1.1.6 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +1 -1
- data/.github/workflows/release.yml +6 -4
- data/lib/relaton_iev/version.rb +1 -1
- data/lib/relaton_iev.rb +24 -10
- data/relaton_iev.gemspec +2 -2
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e9f323966cad4b2cdc8da16a892c108a1d307030b6a7583981870b1a1735c63
|
4
|
+
data.tar.gz: 29211d1e8918f150858de30974974aec4f5c377b9c272f3535da4e9eb77bf23c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c071c36db1d6d3440e0773ba7be15df669722942f7cc90f048386b4b7a401e5313e3c6416c0ddf1ab727e1aff2492c9f50999dedff72aea1275c2af0d39c87ec
|
7
|
+
data.tar.gz: a16118b4a890cccbd6806608416a570fb0ffd6811e1f10826d98710c56932d94b9f4064cdfe952b026bc9f0c414597a1eaa9cfdce3a9a06e72abaaf6ff6ebcd0
|
data/.github/workflows/rake.yml
CHANGED
@@ -7,15 +7,17 @@ on:
|
|
7
7
|
inputs:
|
8
8
|
next_version:
|
9
9
|
description: |
|
10
|
-
Next release version. Possible values: x.y.z, major, minor, patch or pre|rc|etc
|
10
|
+
Next release version. Possible values: x.y.z, major, minor, patch (or pre|rc|etc).
|
11
|
+
Also, you can pass 'skip' to skip 'git tag' and do 'gem push' for the current version
|
11
12
|
required: true
|
12
13
|
default: 'skip'
|
13
|
-
|
14
|
-
|
14
|
+
repository_dispatch:
|
15
|
+
types: [ do-release ]
|
16
|
+
|
15
17
|
|
16
18
|
jobs:
|
17
19
|
release:
|
18
|
-
uses: relaton/support/.github/workflows/release.yml@
|
20
|
+
uses: relaton/support/.github/workflows/release.yml@main
|
19
21
|
with:
|
20
22
|
next_version: ${{ github.event.inputs.next_version }}
|
21
23
|
secrets:
|
data/lib/relaton_iev/version.rb
CHANGED
data/lib/relaton_iev.rb
CHANGED
@@ -21,9 +21,8 @@ module RelatonIev
|
|
21
21
|
def links_iev2iec60050part(xmldoc)
|
22
22
|
parts = Set.new
|
23
23
|
xmldoc.xpath(IEVPATH).each do |x|
|
24
|
-
m = x
|
24
|
+
m = x.at(".//locality[@type = 'clause']/referenceFrom")&.text
|
25
25
|
&.sub(/^(\d+).*$/, "\\1") or next
|
26
|
-
|
27
26
|
parts << m
|
28
27
|
x["citeas"] = @c.decode(x["citeas"]).sub(/60050/, "60050-#{m}")
|
29
28
|
x["bibitemid"] = "IEC60050-#{m}"
|
@@ -40,18 +39,31 @@ module RelatonIev
|
|
40
39
|
# @param bibdb [Relaton::Db, NilClass]
|
41
40
|
# @return [Nokogiri::XML::Element]
|
42
41
|
def refs_iev2iec60050part(xml, parts, bibdb = nil)
|
42
|
+
bibdb or return ""
|
43
43
|
new_iev = ""
|
44
44
|
parts.sort.each do |p|
|
45
|
-
hit = bibdb
|
45
|
+
hit = get_iev_part(bibdb, p) or next
|
46
46
|
new_iev += refs_iev2iec60050part1(xml, p, hit)
|
47
|
-
xml
|
48
|
-
x["citeas"] = @c.decode(x["citeas"])
|
49
|
-
.sub(/:2011$/, ":#{hit.date[0].on(:year)}")
|
50
|
-
end
|
47
|
+
update_iev_refs(xml, p, hit)
|
51
48
|
end
|
52
49
|
new_iev
|
53
50
|
end
|
54
51
|
|
52
|
+
def get_iev_part(bibdb, part)
|
53
|
+
unless hit = bibdb.fetch("IEC 60050-#{part}", nil, keep_year: true)
|
54
|
+
@err << "The IEV document 60050-#{part} that has been cited " \
|
55
|
+
"does not exist"
|
56
|
+
end
|
57
|
+
hit
|
58
|
+
end
|
59
|
+
|
60
|
+
def update_iev_refs(xml, part, hit)
|
61
|
+
xml.xpath(IEVPATH.gsub(/60050/, "60050-#{part}")).each do |x|
|
62
|
+
x["citeas"] = @c.decode(x["citeas"])
|
63
|
+
.sub(/:2011$/, ":#{hit.date[0].on(:year)}")
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
55
67
|
def refs_iev2iec60050part1(xmldoc, part, hit)
|
56
68
|
date = hit.date[0].on(:year)
|
57
69
|
return "" if already_contains_ref(xmldoc, part, date)
|
@@ -68,12 +80,14 @@ module RelatonIev
|
|
68
80
|
|
69
81
|
# @param xmldoc [Nokogiri::XML::Document]
|
70
82
|
# @param bibdb [Relaton::Db, NilClass]
|
71
|
-
# @return [Nokogiri::XML::Element]
|
83
|
+
# @return [Nokogiri::XML::Element], [String]
|
72
84
|
def iev_cleanup(xmldoc, bibdb = nil)
|
73
85
|
@c = HTMLEntities.new
|
74
|
-
|
86
|
+
@err = []
|
87
|
+
iev = xmldoc.at("//bibitem[docidentifier = 'IEC 60050:2011']") or
|
88
|
+
return [nil, @err]
|
75
89
|
parts = links_iev2iec60050part(xmldoc)
|
76
|
-
iev.replace(refs_iev2iec60050part(xmldoc, parts, bibdb))
|
90
|
+
[iev.replace(refs_iev2iec60050part(xmldoc, parts, bibdb)), @err]
|
77
91
|
end
|
78
92
|
end
|
79
93
|
end
|
data/relaton_iev.gemspec
CHANGED
@@ -33,6 +33,6 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_development_dependency "webmock"
|
34
34
|
|
35
35
|
spec.add_dependency "htmlentities", "~> 4.3.4"
|
36
|
-
spec.add_dependency "nokogiri", ">= 1.
|
37
|
-
spec.add_dependency "relaton", ">= 1.
|
36
|
+
spec.add_dependency "nokogiri", ">= 1.13.0"
|
37
|
+
spec.add_dependency "relaton", ">= 1.15"
|
38
38
|
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.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-02-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry-byebug
|
@@ -128,28 +128,28 @@ dependencies:
|
|
128
128
|
requirements:
|
129
129
|
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 1.
|
131
|
+
version: 1.13.0
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 1.
|
138
|
+
version: 1.13.0
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: relaton
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
143
|
- - ">="
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: '1.
|
145
|
+
version: '1.15'
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: '1.
|
152
|
+
version: '1.15'
|
153
153
|
description: 'RelatonIev: manipulates IEV references to IEC 60050.'
|
154
154
|
email:
|
155
155
|
- open.source@ribose.com
|
@@ -191,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
191
191
|
- !ruby/object:Gem::Version
|
192
192
|
version: '0'
|
193
193
|
requirements: []
|
194
|
-
rubygems_version: 3.
|
194
|
+
rubygems_version: 3.3.26
|
195
195
|
signing_key:
|
196
196
|
specification_version: 4
|
197
197
|
summary: 'RelatonIev: manipulates IEV references to IEC 60050.'
|