mn-requirements 0.1.4 → 0.1.5
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 +4 -4
- data/lib/isodoc-yaml/i18n-ar.yaml +1 -0
- data/lib/isodoc-yaml/i18n-de.yaml +2 -0
- data/lib/isodoc-yaml/i18n-en.yaml +2 -0
- data/lib/isodoc-yaml/i18n-es.yaml +1 -0
- data/lib/isodoc-yaml/i18n-fr.yaml +2 -0
- data/lib/isodoc-yaml/i18n-ru.yaml +2 -0
- data/lib/isodoc-yaml/i18n-zh-Hans.yaml +2 -0
- data/lib/metanorma/modspec/cleanup.rb +4 -4
- data/lib/metanorma/modspec/isodoc.rb +29 -22
- data/lib/metanorma/modspec/reqt_label.rb +2 -2
- data/lib/metanorma/requirements/version.rb +1 -1
- data/mn-requirements.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f30b7b9d9468a1d20886f1d84d6992071a95a2376a5f066bd9b455571e7e425d
|
4
|
+
data.tar.gz: 2888d62224f0110f4a23980042c34490f7f32889146304c56847f0d3b2d18ddc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 289876376e7c00e2c120fb64f1c4be5ab19dba91db83036c6be974eadf8f6f0d291e6316219fad482f0d5df04dee9362afb15e6844ec84ae3029bbf1860242ff
|
7
|
+
data.tar.gz: a868912d83376103770d8602b56fa0643da967a2833e9d9df59fe72f6469d1c6901edb0ef879c78cd5eaa8577f1e6d053269a7ef8eec5c2d5d1fae604c03aab0
|
@@ -15,7 +15,7 @@ module Metanorma
|
|
15
15
|
|
16
16
|
def requirement_metadata_component_tags
|
17
17
|
%w(test-purpose test-method test-method-type conditions part description
|
18
|
-
reference step requirement permission recommendation)
|
18
|
+
reference step requirement permission recommendation guidance)
|
19
19
|
end
|
20
20
|
|
21
21
|
def requirement_metadata1(reqt, dlist, ins)
|
@@ -59,9 +59,9 @@ module Metanorma
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def requirement_metadata_to_component(reqt)
|
62
|
-
|
63
|
-
|
64
|
-
|
62
|
+
xpath = requirement_metadata_component_tags -
|
63
|
+
%w(description requirement permission recommendation)
|
64
|
+
reqt.xpath(xpath.map { |x| ".//#{x}" }.join(" | ")).each do |c|
|
65
65
|
c["class"] = c.name
|
66
66
|
c.name = "component"
|
67
67
|
end
|
@@ -6,7 +6,8 @@ module Metanorma
|
|
6
6
|
class Modspec < Default
|
7
7
|
def requirement_render1(node)
|
8
8
|
init_lookups(node.document)
|
9
|
-
|
9
|
+
ret = requirement_guidance_parse(node, super)
|
10
|
+
requirement_table_cleanup(ret)
|
10
11
|
end
|
11
12
|
|
12
13
|
def recommendation_base(node, _klass)
|
@@ -86,9 +87,8 @@ module Metanorma
|
|
86
87
|
subj = node.at(ns("./subject"))&.children and
|
87
88
|
head << [rec_subj(node), subj]
|
88
89
|
node.xpath(ns("./classification[tag = 'target']/value")).each do |v|
|
89
|
-
xref = recommendation_id(v.text) and
|
90
|
-
rec_target(node), xref
|
91
|
-
]
|
90
|
+
xref = recommendation_id(v.text) and
|
91
|
+
head << [rec_target(node), xref]
|
92
92
|
end
|
93
93
|
head += recommendation_backlinks(node)
|
94
94
|
recommendation_attributes1_dependencies(node, head)
|
@@ -121,35 +121,37 @@ module Metanorma
|
|
121
121
|
head
|
122
122
|
end
|
123
123
|
|
124
|
+
def id_attr(node)
|
125
|
+
node["id"] ? " id='#{node['id']}'" : ""
|
126
|
+
end
|
127
|
+
|
124
128
|
def recommendation_steps(node)
|
125
129
|
node.elements.each { |e| recommendation_steps(e) }
|
126
130
|
return node unless node.at(ns("./component[@class = 'step']"))
|
127
131
|
|
128
132
|
d = node.at(ns("./component[@class = 'step']"))
|
129
|
-
|
130
|
-
|
131
|
-
.first
|
133
|
+
d = d.replace("<ol class='steps'><li#{id_attr(d)}>"\
|
134
|
+
"#{d.children.to_xml}</li></ol>").first
|
132
135
|
node.xpath(ns("./component[@class = 'step']")).each do |f|
|
133
|
-
|
134
|
-
f = f.replace("<li#{id}>#{f.children.to_xml}</li>").first
|
136
|
+
f = f.replace("<li#{id_attr(f)}>#{f.children.to_xml}</li>").first
|
135
137
|
d << f
|
136
138
|
end
|
137
139
|
node
|
138
140
|
end
|
139
141
|
|
140
142
|
def recommendation_attributes1_component(node, out)
|
143
|
+
return out if node["class"] == "guidance"
|
144
|
+
|
141
145
|
node = recommendation_steps(node)
|
142
|
-
|
143
|
-
|
146
|
+
out << "<tr#{id_attr(node)}><td>#{node['label']}</td>"\
|
147
|
+
"<td>#{node.children}</td></tr>"
|
144
148
|
out
|
145
149
|
end
|
146
150
|
|
147
151
|
def recommendation_attr_keyvalue(node, key, value)
|
148
|
-
tag = node.at(ns("./#{key}"))
|
149
|
-
value = node.at(ns("./#{value}"))
|
150
|
-
(tag
|
151
|
-
indirect-dependency).include?(tag.text)) or
|
152
|
-
return nil
|
152
|
+
tag = node.at(ns("./#{key}")) or return nil
|
153
|
+
value = node.at(ns("./#{value}")) or return nil
|
154
|
+
!%w(target indirect-dependency).include?(tag.text) or return nil
|
153
155
|
[tag.text.capitalize, value.children]
|
154
156
|
end
|
155
157
|
|
@@ -165,19 +167,26 @@ module Metanorma
|
|
165
167
|
end
|
166
168
|
|
167
169
|
def requirement_component_parse(node, out)
|
168
|
-
|
169
|
-
|
170
|
+
node["exclude"] == "true" and return out
|
170
171
|
node.elements.size == 1 && node.first_element_child.name == "dl" and
|
171
172
|
return reqt_dl(node.first_element_child, out)
|
172
173
|
node.name == "component" and
|
173
174
|
return recommendation_attributes1_component(node, out)
|
174
|
-
|
175
|
-
out.add_child("<tr#{id}><td colspan='2'></td></tr>").first
|
175
|
+
out.add_child("<tr#{id_attr(node)}><td colspan='2'></td></tr>").first
|
176
176
|
.at(ns(".//td")) <<
|
177
177
|
(preserve_in_nested_table?(node) ? node : node.children)
|
178
178
|
out
|
179
179
|
end
|
180
180
|
|
181
|
+
def requirement_guidance_parse(node, out)
|
182
|
+
ins = out.at(ns("./tbody"))
|
183
|
+
node.xpath(ns("./component[@class = 'guidance']")).each do |f|
|
184
|
+
ins << "<tr#{id_attr(f)}><td>#{@labels['modspec']['guidance']}</td>"\
|
185
|
+
"<td>#{f.children}</td></tr>"
|
186
|
+
end
|
187
|
+
out
|
188
|
+
end
|
189
|
+
|
181
190
|
def reqt_dl(node, out)
|
182
191
|
node.xpath(ns("./dt")).each do |dt|
|
183
192
|
dd = dt.next_element
|
@@ -189,8 +198,6 @@ module Metanorma
|
|
189
198
|
end
|
190
199
|
|
191
200
|
def requirement_table_cleanup(table)
|
192
|
-
return table unless table["type"] == "recommendclass"
|
193
|
-
|
194
201
|
table.xpath(ns("./tbody/tr/td/table")).each do |t|
|
195
202
|
x = t.at(ns("./thead/tr")) or next
|
196
203
|
t.parent.parent.replace(x)
|
@@ -7,14 +7,14 @@ module Metanorma
|
|
7
7
|
|
8
8
|
label = elem.at(ns("./identifier"))&.text
|
9
9
|
if inject_crossreference_reqt?(elem, label)
|
10
|
-
recommendation_label_xref(elem, label, xrefs)
|
10
|
+
recommendation_label_xref(elem, label, xrefs, type)
|
11
11
|
else
|
12
12
|
type = recommendation_class_label(elem)
|
13
13
|
super
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
-
def recommendation_label_xref(elem, label, xrefs)
|
17
|
+
def recommendation_label_xref(elem, label, xrefs, type)
|
18
18
|
id = @reqtlabels[label]
|
19
19
|
number = xrefs.anchor(id, :xref, false)
|
20
20
|
number.nil? and return type
|
data/mn-requirements.gemspec
CHANGED
@@ -31,6 +31,7 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
32
32
|
spec.add_development_dependency "guard", "~> 2.14"
|
33
33
|
spec.add_development_dependency "guard-rspec", "~> 4.7"
|
34
|
+
spec.add_development_dependency "metanorma-standoc"
|
34
35
|
spec.add_development_dependency "rake", "~> 13.0"
|
35
36
|
spec.add_development_dependency "rspec", "~> 3.6"
|
36
37
|
spec.add_development_dependency "rubocop", "~> 1.5.2"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mn-requirements
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-09-
|
11
|
+
date: 2022-09-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: isodoc-i18n
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '4.7'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: metanorma-standoc
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: rake
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|