stepmod-utils 0.3.16 → 0.3.17

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: e40fc2ba271e4bd8e0859cb307831ead927b7bc12154b5845f528694ad18c8f8
4
- data.tar.gz: e1b6f691a70d1e6531a7f841b5a998d49d6c376a84a9da340246b2920bd8459d
3
+ metadata.gz: e8be21fe4d04046487ecb36fdebeb74f8dbbb7bda473cbb1b3451b62b15d62a0
4
+ data.tar.gz: f3005c150d30d5c8aac9b77f9221cfcfc575e0d541208152087f6ff88623375d
5
5
  SHA512:
6
- metadata.gz: e5e62c15d95982deb33e03af65b9720cdb34746adfa36bf5945a2823fb0be9800beff3e8cf4b3e4acd34ebf940bacb0ff2b4a83b31af27e8d01cba2599fcc537
7
- data.tar.gz: c9efdfa5eed962291c9454227e8d2c7c22b4ba665c88745d059f77cdfb5ae2bdb414d32d7c1ee957aec10db634c1f0fbc388851360ae4edb9bf9d721f740dca3
6
+ metadata.gz: b004697a0c9eeecc570ba7e184fd7165fa991be9b0046f13305106a6cbdff123aca57299c340ce72fb95214ad878a0d0aff140af5e07308070d1c8a336c09921
7
+ data.tar.gz: 9aaa80fff000066c954b660592626a9ee0132cfca173c0d93aeb572211adf1929d79dc1f1336858725b031b287d1a9d07f9e4d79e45b8d4a4727819fbe303b9f
@@ -10,6 +10,6 @@ on:
10
10
 
11
11
  jobs:
12
12
  rake:
13
- uses: metanorma/metanorma-build-scripts/.github/workflows/generic-rake.yml@main
13
+ uses: metanorma/ci/.github/workflows/generic-rake.yml@main
14
14
  secrets:
15
15
  pat_token: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
@@ -15,10 +15,10 @@ on:
15
15
 
16
16
  jobs:
17
17
  release:
18
- uses: metanorma/metanorma-build-scripts/.github/workflows/rubygems-release.yml@main
18
+ uses: metanorma/ci/.github/workflows/rubygems-release.yml@main
19
19
  with:
20
20
  next_version: ${{ github.event.inputs.next_version }}
21
- event_name: ${{ github.event_name }}
22
21
  secrets:
23
22
  rubygems-api-key: ${{ secrets.METANORMA_CI_RUBYGEMS_API_KEY }}
23
+ pat_token: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
24
24
 
@@ -27,15 +27,20 @@ files.each_slice(MAX_QUEUE_SIZE) do |batch|
27
27
  batch.each do |file|
28
28
  pool.post do
29
29
  puts("#{Thread.current.object_id}: Queued processing #{file}")
30
- annotated = Stepmod::Utils::StepmodFileAnnotator.new(express_file: file,
31
- resource_docs_cache_file: resource_docs_cache_file, stepmod_dir: stepmod_dir).call
32
- File.open(
33
- File.join(File.dirname(file),
34
- "#{File.basename(file, '.exp')}_annotated.exp"), "w"
35
- ) do |file|
30
+ annotated = Stepmod::Utils::StepmodFileAnnotator.new(
31
+ express_file: file,
32
+ resource_docs_cache_file: resource_docs_cache_file,
33
+ stepmod_dir: stepmod_dir
34
+ ).call
35
+
36
+ annotated_file_name = "#{File.basename(file, '.exp')}_annotated.exp"
37
+ annotated_file_path = File.join(File.dirname(file), annotated_file_name)
38
+
39
+ File.open(annotated_file_path, "w") do |file|
36
40
  file.puts(annotated)
37
41
  end
38
- puts("#{Thread.current.object_id}: Done processing #{file}")
42
+
43
+ puts("#{Thread.current.object_id}: Done processing #{File.basename(file)} => #{annotated_file_path}.")
39
44
  end
40
45
  end
41
46
  pool.shutdown
@@ -106,28 +106,29 @@ def replace_images(content)
106
106
  content
107
107
  end
108
108
 
109
- part_concepts.each do |(bibdata, current_part_concepts)|
110
- current_part_concepts = current_part_concepts.to_a.map do |n|
111
- n.localizations["en"]
112
- end
113
- fn = "03x-stepmod-#{bibdata.part}.adoc"
114
- File.open(fn, "w") do |file|
115
- file.puts("== #{part_to_title(bibdata)}\n\n")
116
- file.puts(replace_images(current_part_concepts.map(&:to_mn_adoc).join("\n")))
117
- end
118
- log "INFO: written to: #{fn}"
119
- end
120
-
121
- File.open("03x-stepmod.adoc", "w") do |file|
122
- part_concepts.sort_by do |(bibdata, current_part_concepts)|
123
- bibdata.part.to_i
124
- end.each do |(bibdata, current_part_concepts)|
125
- fn = "03x-stepmod-#{bibdata.part}.adoc"
126
- file.puts("\ninclude::#{fn}[]\n")
127
- end
128
- end
129
-
130
- log "INFO: written summary file to: 03x-stepmod.adoc"
109
+ ## Skip all Clause 3 terms
110
+ # part_concepts.each do |(bibdata, current_part_concepts)|
111
+ # current_part_concepts = current_part_concepts.to_a.map do |n|
112
+ # n.localizations["en"]
113
+ # end
114
+ # fn = "03x-stepmod-#{bibdata.part}.adoc"
115
+ # File.open(fn, "w") do |file|
116
+ # file.puts("== #{part_to_title(bibdata)}\n\n")
117
+ # file.puts(replace_images(current_part_concepts.map(&:to_mn_adoc).join("\n")))
118
+ # end
119
+ # log "INFO: written to: #{fn}"
120
+ # end
121
+
122
+ # File.open("03x-stepmod.adoc", "w") do |file|
123
+ # part_concepts.sort_by do |(bibdata, current_part_concepts)|
124
+ # bibdata.part.to_i
125
+ # end.each do |(bibdata, current_part_concepts)|
126
+ # fn = "03x-stepmod-#{bibdata.part}.adoc"
127
+ # file.puts("\ninclude::#{fn}[]\n")
128
+ # end
129
+ # end
130
+
131
+ # log "INFO: written summary file to: 03x-stepmod.adoc"
131
132
 
132
133
  part_resources.each do |(bibdata, current_part_resources)|
133
134
  current_part_resources = current_part_resources.to_a.map do |n|
@@ -194,17 +195,18 @@ end
194
195
 
195
196
  log "INFO: written summary file to: 05x-stepmod-entities-modules.adoc"
196
197
 
197
- File.open("031-stepmod-general.adoc", "w") do |file|
198
- file.puts(
199
- replace_images(
200
- general_concepts.to_a.map do |n|
201
- n.localizations["en"]
202
- end.map(&:to_mn_adoc).join("\n")
203
- )
204
- )
205
- end
206
-
207
- log "INFO: written to: 031-stepmod-general.adoc"
198
+ ## Skipping all Clause 3 terms
199
+ # File.open("031-stepmod-general.adoc", "w") do |file|
200
+ # file.puts(
201
+ # replace_images(
202
+ # general_concepts.to_a.map do |n|
203
+ # n.localizations["en"]
204
+ # end.map(&:to_mn_adoc).join("\n")
205
+ # )
206
+ # )
207
+ # end
208
+
209
+ # log "INFO: written to: 031-stepmod-general.adoc"
208
210
 
209
211
  File.open("041-stepmod-entities-resources.adoc", "w") do |file|
210
212
  file.puts(
@@ -23,15 +23,6 @@ module Stepmod
23
23
 
24
24
  return nil if converted_definition.nil? || converted_definition.strip.empty?
25
25
 
26
- if definition_xml.name == "ext_description"
27
- converted_definition = <<~TEXT
28
- #{converted_definition}
29
-
30
- NOTE: This term is incompletely defined in this document.
31
- Reference <<#{reference_anchor}>> for the complete definition.
32
- TEXT
33
- end
34
-
35
26
  # https://github.com/metanorma/stepmod-utils/issues/86
36
27
 
37
28
  # TODO: This portion DOES NOT HANDLE the <synonym> element. WTF??
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Stepmod
4
+ module Utils
5
+ module Converters
6
+ class ExpressExample < ReverseAdoc::Converters::Base
7
+ def convert(node, state = {})
8
+ <<~TEMPLATE
9
+ (*"#{state[:schema_and_entity]}.__example"
10
+ #{treat_children(node, state).strip}
11
+ *)
12
+ TEMPLATE
13
+ end
14
+ end
15
+
16
+ ReverseAdoc::Converters.register :express_example, ExpressExample.new
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Stepmod
4
+ module Utils
5
+ module Converters
6
+ class ExpressNote < ReverseAdoc::Converters::Base
7
+ def convert(node, state = {})
8
+ <<~TEMPLATE
9
+ (*"#{state[:schema_and_entity]}.__note"
10
+ #{treat_children(node, state).strip}
11
+ *)
12
+ TEMPLATE
13
+ end
14
+ end
15
+
16
+ ReverseAdoc::Converters.register :express_note, ExpressNote.new
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,14 @@
1
+ module Stepmod
2
+ module Utils
3
+ module Converters
4
+ class ModuleRefExpressDescription < ReverseAdoc::Converters::Base
5
+ def convert(node, _state = {})
6
+ parts = node["linkend"].to_s.split(":").last.split(".")
7
+ "<<express:#{parts.join('.').strip},#{parts.last.strip}>>"
8
+ end
9
+ end
10
+ ReverseAdoc::Converters.register :module_ref,
11
+ ModuleRefExpressDescription.new
12
+ end
13
+ end
14
+ end
@@ -43,18 +43,17 @@ module Stepmod
43
43
 
44
44
  domain = case linkend.first
45
45
  when /_mim$/, /_arm$/
46
- "ISO 10303 application module"
46
+ "application module"
47
47
  # when /_schema$/
48
48
  else
49
- "ISO 10303 resource"
49
+ "resource"
50
50
  end
51
51
 
52
52
  <<~TEMPLATE
53
53
  === #{linkend.last}
54
+ #{domain ? "domain:[#{domain}: #{linkend.first}]" : ''}
54
55
 
55
- #{domain ? "domain:[#{domain}]" : ''}
56
-
57
- #{child_text}
56
+ #{child_text.strip}
58
57
  TEMPLATE
59
58
  end
60
59
  end
@@ -41,7 +41,7 @@ module Stepmod
41
41
  root || (return "")
42
42
 
43
43
  ReverseAdoc.config.with(options) do
44
- result = ReverseAdoc::Converters.lookup(root.name).convert(root)
44
+ result = ReverseAdoc::Converters.lookup(root.name).convert(root, options)
45
45
  Stepmod::Utils::Cleaner.new.tidy(result)
46
46
  end
47
47
  end
@@ -59,7 +59,8 @@ module Stepmod
59
59
  root || (return "")
60
60
 
61
61
  ReverseAdoc.config.with(options) do
62
- result = ReverseAdoc::Converters.lookup(root.name).convert(root)
62
+ result = ReverseAdoc::Converters.lookup(root.name).convert(root, options)
63
+
63
64
  Stepmod::Utils::Cleaner.new.tidy(result)
64
65
  end
65
66
  end
@@ -1,6 +1,8 @@
1
1
  require "json"
2
2
  require "stepmod/utils/smrl_description_converter"
3
3
  require "stepmod/utils/smrl_resource_converter"
4
+ require "stepmod/utils/converters/express_note"
5
+ require "stepmod/utils/converters/express_example"
4
6
 
5
7
  module Stepmod
6
8
  module Utils
@@ -64,7 +66,27 @@ module Stepmod
64
66
  def convert_from_description_text(descriptions_file, description)
65
67
  Dir.chdir(File.dirname(descriptions_file)) do
66
68
  wrapper = "<ext_descriptions>#{description}</ext_descriptions>"
67
- "\n#{Stepmod::Utils::SmrlDescriptionConverter.convert(wrapper)}"
69
+ notes = description.xpath("note")
70
+ examples = description.xpath("example")
71
+
72
+ converted_description = <<~DESCRIPTION
73
+
74
+ #{Stepmod::Utils::SmrlDescriptionConverter.convert(wrapper, no_notes_examples: true)}
75
+ DESCRIPTION
76
+
77
+ converted_examples = examples.map do |example|
78
+ Stepmod::Utils::Converters::ExpressExample
79
+ .new
80
+ .convert(example, schema_and_entity: description["linkend"])
81
+ end.join
82
+
83
+ converted_notes = notes.map do |note|
84
+ Stepmod::Utils::Converters::ExpressNote
85
+ .new
86
+ .convert(note, schema_and_entity: description["linkend"])
87
+ end.join
88
+
89
+ "#{converted_description}#{converted_examples}#{converted_notes}"
68
90
  end
69
91
  end
70
92
 
@@ -77,7 +99,7 @@ module Stepmod
77
99
 
78
100
  Dir.chdir(File.dirname(descriptions_file)) do
79
101
  wrapper = "<resource>#{schema}</resource>"
80
- "\n#{Stepmod::Utils::SmrlResourceConverter.convert(wrapper)}"
102
+ "\n#{Stepmod::Utils::SmrlResourceConverter.convert(wrapper, no_notes_examples: true)}"
81
103
  end
82
104
  end
83
105
  end
@@ -3,6 +3,9 @@ require "stepmod/utils/bibdata"
3
3
  require "stepmod/utils/concept"
4
4
  require "glossarist"
5
5
  require "securerandom"
6
+ require "expressir"
7
+ require "expressir/express/parser"
8
+ require "indefinite_article"
6
9
 
7
10
  ReverseAdoc.config.unknown_tags = :bypass
8
11
 
@@ -198,7 +201,7 @@ module Stepmod
198
201
  case file_path.to_s
199
202
  when /resource.xml$/
200
203
  log "INFO: Processing resource.xml for #{file_path}"
201
- # Assumption: every schema is only linked by a single resource_docs document.
204
+
202
205
  current_document.xpath("//schema").each do |schema_node|
203
206
  schema_name = schema_node["name"]
204
207
  if parsed_schema_names[schema_name]
@@ -210,19 +213,36 @@ module Stepmod
210
213
  parsed_schema_names[schema_name] = file_path
211
214
  end
212
215
 
213
- Dir["#{stepmod_path}/resources/#{schema_name}/descriptions.xml"].each do |description_xml_path|
214
- log "INFO: Processing resources schema #{description_xml_path}"
215
- description_document = Nokogiri::XML(File.read(description_xml_path)).root
216
- description_document.xpath("//ext_description").each do |ext_description|
217
- # log "INFO: Processing linkend[#{ext_description['linkend']}]"
218
-
219
- concept = Stepmod::Utils::Concept.parse(
220
- ext_description,
221
- reference_anchor: bibdata.anchor,
222
- reference_clause: nil,
223
- file_path: Pathname.new(description_xml_path)
216
+ exp_annotated_path =
217
+ "#{stepmod_path}/resources/#{schema_name}/#{schema_name}_annotated.exp"
218
+
219
+ log "INFO: Processing resources schema #{exp_annotated_path}"
220
+
221
+ if File.exists?(exp_annotated_path)
222
+ repo = Expressir::Express::Parser.from_file(exp_annotated_path)
223
+ schema = repo.schemas.first
224
+
225
+ schema.entities.each do |entity|
226
+ old_definition = entity.remarks.first
227
+
228
+ domain = "resource: #{schema.id}"
229
+ entity_definition = generate_entity_definition(entity, domain, old_definition)
230
+
231
+ reference_anchor = bibdata.anchor
232
+ reference_clause = nil
233
+
234
+ concept = Stepmod::Utils::Concept.new(
235
+ designations: [entity.id],
236
+ definition: old_definition,
237
+ converted_definition: entity_definition,
238
+ id: "#{reference_anchor}.#{reference_clause}",
239
+ reference_anchor: reference_anchor,
240
+ reference_clause: reference_clause,
241
+ file_path: Pathname.new(file_path)
224
242
  .relative_path_from(stepmod_path),
243
+ language_code: "en",
225
244
  )
245
+
226
246
  next unless concept
227
247
 
228
248
  if term_special_category(bibdata)
@@ -252,62 +272,89 @@ module Stepmod
252
272
  parsed_schema_names[schema_name] = file_path
253
273
  end
254
274
 
255
- description_xml_path = "#{stepmod_path}/modules/#{schema_name}/arm_descriptions.xml"
256
- log "INFO: Processing modules schema #{description_xml_path}"
257
-
258
- if File.exists?(description_xml_path)
259
- description_document = Nokogiri::XML(
260
- File.read(description_xml_path),
261
- )
262
- .root
263
- description_document.xpath("//ext_description").each do |ext_description|
264
- linkend_schema = ext_description["linkend"].split(".").first
265
- concept = Stepmod::Utils::Concept.parse(
266
- ext_description,
267
- reference_anchor: bibdata.anchor,
268
- reference_clause: nil,
269
- file_path: Pathname.new(description_xml_path)
270
- .relative_path_from(stepmod_path),
271
- )
272
- next unless concept
273
-
274
- current_part_modules_arm[linkend_schema] ||= Glossarist::Collection.new
275
- find_or_initialize_concept(
276
- current_part_modules_arm[linkend_schema], concept
277
- )
278
- # puts part_modules_arm.inspect
279
- parsed_bibliography << bibdata
275
+ exp_annotated_path =
276
+ "#{stepmod_path}/modules/#{schema_name}/arm_annotated.exp"
277
+
278
+ log "INFO: Processing modules schema #{exp_annotated_path}"
279
+
280
+ if File.exists?(exp_annotated_path)
281
+ repo = Expressir::Express::Parser.from_file(exp_annotated_path)
282
+
283
+ repo.schemas.each do |schema|
284
+ schema.entities.each do |entity|
285
+ old_definition = entity.remarks.first
286
+
287
+ domain = "application module: #{schema.id}"
288
+ entity_definition = generate_entity_definition(entity, domain, old_definition)
289
+
290
+ reference_anchor = bibdata.anchor
291
+ reference_clause = nil
292
+
293
+ concept = Stepmod::Utils::Concept.new(
294
+ designations: [entity.id],
295
+ definition: old_definition,
296
+ converted_definition: entity_definition,
297
+ id: "#{reference_anchor}.#{reference_clause}",
298
+ reference_anchor: reference_anchor,
299
+ reference_clause: reference_clause,
300
+ file_path: Pathname.new(file_path)
301
+ .relative_path_from(stepmod_path),
302
+ language_code: "en",
303
+ )
304
+
305
+ next unless concept
306
+
307
+ current_part_modules_arm[schema.id] ||=
308
+ Glossarist::Collection.new
309
+ find_or_initialize_concept(
310
+ current_part_modules_arm[schema.id], concept
311
+ )
312
+
313
+ # puts part_modules_arm.inspect
314
+ parsed_bibliography << bibdata
315
+ end
280
316
  end
281
317
  end
282
318
 
283
- description_xml_path = "#{stepmod_path}/modules/#{schema_name}/mim_descriptions.xml"
284
- log "INFO: Processing modules schema #{description_xml_path}"
285
-
286
- if File.exists?(description_xml_path)
287
- description_document = Nokogiri::XML(
288
- File.read(description_xml_path),
289
- )
290
- .root
291
- description_document.xpath("//ext_description").each do |ext_description|
292
- linkend_schema = ext_description["linkend"].split(".").first
293
-
294
- concept = Stepmod::Utils::Concept.parse(
295
- ext_description,
296
- reference_anchor: bibdata.anchor,
297
- reference_clause: nil,
298
- file_path: Pathname
299
- .new(description_xml_path)
300
- .relative_path_from(stepmod_path),
301
- )
302
- next unless concept
303
-
304
- current_part_modules_mim[linkend_schema] ||=
305
- Glossarist::Collection.new
306
- find_or_initialize_concept(
307
- current_part_modules_mim[linkend_schema], concept
308
- )
309
-
310
- parsed_bibliography << bibdata
319
+ mim_exp_annotated_path = "#{stepmod_path}/modules/#{schema_name}/mim_annotated.exp"
320
+
321
+ log "INFO: Processing modules schema #{mim_exp_annotated_path}"
322
+
323
+ if File.exists?(mim_exp_annotated_path)
324
+ repo = Expressir::Express::Parser.from_file(mim_exp_annotated_path)
325
+
326
+ repo.schemas.each do |schema|
327
+ schema.entities.each do |entity|
328
+ old_definition = entity.remarks.first
329
+
330
+ domain = "application module: #{schema.id}"
331
+ definition = generate_entity_definition(entity, domain, old_definition)
332
+
333
+ reference_anchor = bibdata.anchor
334
+ reference_clause = nil
335
+
336
+ concept = Stepmod::Utils::Concept.new(
337
+ designations: [entity.id],
338
+ definition: old_definition,
339
+ converted_definition: definition,
340
+ id: "#{reference_anchor}.#{reference_clause}",
341
+ reference_anchor: reference_anchor,
342
+ reference_clause: reference_clause,
343
+ file_path: Pathname.new(file_path)
344
+ .relative_path_from(stepmod_path),
345
+ language_code: "en",
346
+ )
347
+
348
+ next unless concept
349
+
350
+ current_part_modules_mim[schema.id] ||=
351
+ Glossarist::Collection.new
352
+ find_or_initialize_concept(
353
+ current_part_modules_mim[schema.id], concept
354
+ )
355
+
356
+ parsed_bibliography << bibdata
357
+ end
311
358
  end
312
359
  end
313
360
 
@@ -343,10 +390,73 @@ module Stepmod
343
390
  end
344
391
 
345
392
  def find_or_initialize_concept(collection, localized_concept)
393
+ concept_id = SecureRandom.uuid
394
+
346
395
  concept = collection
347
- .store(Glossarist::Concept.new(id: SecureRandom.uuid))
396
+ .store(Glossarist::Concept.new(id: concept_id))
348
397
  concept.add_l10n(localized_concept)
349
398
  end
399
+
400
+ # rubocop:disable Layout/LineLength
401
+ def generate_entity_definition(entity, domain, old_definition)
402
+ return "" if entity.nil?
403
+
404
+ entity_text = if entity.subtype_of.size.zero?
405
+ "entity data type that represents " +
406
+ entity.id.indefinite_article + " **#{entity.id}** entity"
407
+ else
408
+ "entity data type that is a type of "+
409
+ "**#{entity.subtype_of.map(&:id).join('** and **')}** that represents " +
410
+ entity.id.indefinite_article + " **#{entity.id}** entity"
411
+ end
412
+
413
+ definition = <<~DEFINITION
414
+ === #{entity.id}
415
+ domain:[#{domain}]
416
+
417
+ #{entity_text}
418
+
419
+ DEFINITION
420
+
421
+ unless old_definition.nil? || old_definition.blank?
422
+ definition << <<~OLD_DEFINITION
423
+ [NOTE]
424
+ --
425
+ #{old_definition&.strip}
426
+ --
427
+ OLD_DEFINITION
428
+ end
429
+
430
+ # We no longer add Notes and Examples to the extracted terms
431
+ # definition + format_remark_items(entity.remark_items)
432
+
433
+ definition
434
+ end
435
+
436
+ def format_remark_items(remark_items)
437
+ notes = remark_items.detect { |i| i.id == "__note" }&.remarks
438
+ examples = remark_items.detect { |i| i.id == "__example" }&.remarks
439
+
440
+ formatted_notes = format_remarks(notes, "NOTE", "--")
441
+ formatted_examples = format_remarks(examples, "example", "====")
442
+
443
+ formatted_notes + formatted_examples
444
+ end
445
+ # rubocop:enable Layout/LineLength
446
+
447
+ def format_remarks(remarks, remark_item_name, remark_item_symbol)
448
+ return "" if remarks.nil?
449
+
450
+ remarks.map do |remark|
451
+ <<~REMARK
452
+
453
+ [#{remark_item_name}]
454
+ #{remark_item_symbol}
455
+ #{remark}
456
+ #{remark_item_symbol}
457
+ REMARK
458
+ end.join
459
+ end
350
460
  end
351
461
  end
352
462
  end
@@ -1,5 +1,5 @@
1
1
  module Stepmod
2
2
  module Utils
3
- VERSION = "0.3.16".freeze
3
+ VERSION = "0.3.17".freeze
4
4
  end
5
5
  end
@@ -32,7 +32,9 @@ Gem::Specification.new do |spec|
32
32
  spec.require_paths = ["lib"]
33
33
 
34
34
  spec.add_runtime_dependency "concurrent-ruby"
35
+ spec.add_runtime_dependency "expressir"
35
36
  spec.add_runtime_dependency "glossarist", "~> 0.1.0"
37
+ spec.add_runtime_dependency "indefinite_article"
36
38
  spec.add_runtime_dependency "ptools"
37
39
  spec.add_runtime_dependency "reverse_adoc", ">= 0.3.5"
38
40
  spec.add_runtime_dependency "thor", ">= 0.20.3"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stepmod-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.16
4
+ version: 0.3.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-02-21 00:00:00.000000000 Z
11
+ date: 2022-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: expressir
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: glossarist
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +52,20 @@ dependencies:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
54
  version: 0.1.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: indefinite_article
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: ptools
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -178,7 +206,9 @@ files:
178
206
  - lib/stepmod/utils/converters/em_express_description.rb
179
207
  - lib/stepmod/utils/converters/eqn.rb
180
208
  - lib/stepmod/utils/converters/example.rb
209
+ - lib/stepmod/utils/converters/express_example.rb
181
210
  - lib/stepmod/utils/converters/express_g.rb
211
+ - lib/stepmod/utils/converters/express_note.rb
182
212
  - lib/stepmod/utils/converters/express_ref.rb
183
213
  - lib/stepmod/utils/converters/express_ref_express_description.rb
184
214
  - lib/stepmod/utils/converters/ext_description.rb
@@ -190,6 +220,7 @@ files:
190
220
  - lib/stepmod/utils/converters/ignore.rb
191
221
  - lib/stepmod/utils/converters/introduction.rb
192
222
  - lib/stepmod/utils/converters/module_ref.rb
223
+ - lib/stepmod/utils/converters/module_ref_express_description.rb
193
224
  - lib/stepmod/utils/converters/note.rb
194
225
  - lib/stepmod/utils/converters/ol.rb
195
226
  - lib/stepmod/utils/converters/p.rb
@@ -222,7 +253,7 @@ homepage: https://github.com/metanorma/stepmod-utils
222
253
  licenses:
223
254
  - BSD-2-Clause
224
255
  metadata: {}
225
- post_install_message:
256
+ post_install_message:
226
257
  rdoc_options: []
227
258
  require_paths:
228
259
  - lib
@@ -237,8 +268,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
237
268
  - !ruby/object:Gem::Version
238
269
  version: '0'
239
270
  requirements: []
240
- rubygems_version: 3.0.3.1
241
- signing_key:
271
+ rubygems_version: 3.3.7
272
+ signing_key:
242
273
  specification_version: 4
243
274
  summary: Stepmod-utils is a toolkit that works on STEPmod data.
244
275
  test_files: []