stepmod-utils 0.3.5 → 0.3.10

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.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +1 -1
  3. data/.github/workflows/release.yml +4 -3
  4. data/.rubocop.yml +1 -1
  5. data/Gemfile +3 -3
  6. data/Rakefile +1 -1
  7. data/exe/stepmod-annotate-all +17 -11
  8. data/exe/stepmod-build-resource-docs-cache +8 -7
  9. data/exe/stepmod-convert-express-description +6 -4
  10. data/exe/stepmod-convert-express-resource +6 -4
  11. data/exe/stepmod-extract-terms +99 -28
  12. data/exe/stepmod-find-express-files +8 -7
  13. data/lib/stepmod/utils/bibdata.rb +31 -35
  14. data/lib/stepmod/utils/cleaner.rb +3 -3
  15. data/lib/stepmod/utils/concept.rb +54 -36
  16. data/lib/stepmod/utils/converters/a.rb +6 -13
  17. data/lib/stepmod/utils/converters/blockquote.rb +4 -4
  18. data/lib/stepmod/utils/converters/br.rb +1 -1
  19. data/lib/stepmod/utils/converters/bypass.rb +33 -33
  20. data/lib/stepmod/utils/converters/clause_ref.rb +3 -3
  21. data/lib/stepmod/utils/converters/code.rb +1 -1
  22. data/lib/stepmod/utils/converters/comment.rb +5 -3
  23. data/lib/stepmod/utils/converters/dd.rb +2 -2
  24. data/lib/stepmod/utils/converters/def.rb +19 -19
  25. data/lib/stepmod/utils/converters/drop.rb +2 -2
  26. data/lib/stepmod/utils/converters/dt.rb +2 -2
  27. data/lib/stepmod/utils/converters/em.rb +1 -1
  28. data/lib/stepmod/utils/converters/em_express_description.rb +1 -1
  29. data/lib/stepmod/utils/converters/eqn.rb +28 -26
  30. data/lib/stepmod/utils/converters/example.rb +5 -6
  31. data/lib/stepmod/utils/converters/express_g.rb +10 -9
  32. data/lib/stepmod/utils/converters/express_ref.rb +2 -2
  33. data/lib/stepmod/utils/converters/express_ref_express_description.rb +3 -2
  34. data/lib/stepmod/utils/converters/ext_description.rb +1 -1
  35. data/lib/stepmod/utils/converters/figure.rb +3 -3
  36. data/lib/stepmod/utils/converters/fund_cons.rb +1 -1
  37. data/lib/stepmod/utils/converters/head.rb +3 -2
  38. data/lib/stepmod/utils/converters/hr.rb +2 -2
  39. data/lib/stepmod/utils/converters/ignore.rb +3 -3
  40. data/lib/stepmod/utils/converters/introduction.rb +1 -1
  41. data/lib/stepmod/utils/converters/module_ref.rb +7 -7
  42. data/lib/stepmod/utils/converters/note.rb +5 -6
  43. data/lib/stepmod/utils/converters/ol.rb +7 -5
  44. data/lib/stepmod/utils/converters/p.rb +2 -2
  45. data/lib/stepmod/utils/converters/pass_through.rb +2 -2
  46. data/lib/stepmod/utils/converters/q.rb +1 -1
  47. data/lib/stepmod/utils/converters/schema.rb +1 -1
  48. data/lib/stepmod/utils/converters/stem.rb +1 -1
  49. data/lib/stepmod/utils/converters/stepmod_ext_description.rb +20 -6
  50. data/lib/stepmod/utils/converters/strong.rb +7 -4
  51. data/lib/stepmod/utils/converters/sub.rb +2 -2
  52. data/lib/stepmod/utils/converters/sup.rb +2 -2
  53. data/lib/stepmod/utils/converters/synonym.rb +2 -2
  54. data/lib/stepmod/utils/converters/table.rb +7 -9
  55. data/lib/stepmod/utils/converters/term.rb +27 -9
  56. data/lib/stepmod/utils/converters/text.rb +11 -13
  57. data/lib/stepmod/utils/converters/uof.rb +3 -4
  58. data/lib/stepmod/utils/html_to_asciimath.rb +91 -90
  59. data/lib/stepmod/utils/smrl_description_converter.rb +34 -33
  60. data/lib/stepmod/utils/smrl_resource_converter.rb +50 -49
  61. data/lib/stepmod/utils/stepmod_definition_converter.rb +39 -38
  62. data/lib/stepmod/utils/stepmod_file_annotator.rb +26 -19
  63. data/lib/stepmod/utils/terms_extractor.rb +138 -86
  64. data/lib/stepmod/utils/version.rb +1 -1
  65. data/stepmod-utils.gemspec +11 -6
  66. metadata +62 -20
@@ -1,6 +1,8 @@
1
- require 'stepmod/utils/stepmod_definition_converter'
2
- require 'stepmod/utils/bibdata'
3
- require 'stepmod/utils/concept'
1
+ require "stepmod/utils/stepmod_definition_converter"
2
+ require "stepmod/utils/bibdata"
3
+ require "stepmod/utils/concept"
4
+ require "glossarist"
5
+ require "securerandom"
4
6
 
5
7
  ReverseAdoc.config.unknown_tags = :bypass
6
8
 
@@ -8,21 +10,22 @@ module Stepmod
8
10
  module Utils
9
11
  class TermsExtractor
10
12
  # TODO: we may want a command line option to override this in the future
11
- ACCEPTED_STAGES = %w(IS DIS FDIS TS)
13
+ ACCEPTED_STAGES = %w(IS DIS FDIS TS).freeze
14
+ WITHDRAWN_STATUS = "withdrawn".freeze
12
15
 
13
16
  attr_reader :stepmod_path,
14
- :stepmod_dir,
15
- :general_concepts,
16
- :resource_concepts,
17
- :parsed_bibliography,
18
- :encountered_terms,
19
- :cvs_mode,
20
- :part_concepts,
21
- :part_resources,
22
- :part_modules,
23
- :stdout
24
-
25
- def self.call(stepmod_dir, stdout = STDOUT)
17
+ :stepmod_dir,
18
+ :general_concepts,
19
+ :resource_concepts,
20
+ :parsed_bibliography,
21
+ :encountered_terms,
22
+ :cvs_mode,
23
+ :part_concepts,
24
+ :part_resources,
25
+ :part_modules,
26
+ :stdout
27
+
28
+ def self.call(stepmod_dir, stdout = $stdout)
26
29
  new(stepmod_dir, stdout).call
27
30
  end
28
31
 
@@ -30,8 +33,8 @@ module Stepmod
30
33
  @stdout = stdout
31
34
  @stepmod_dir = stepmod_dir
32
35
  @stepmod_path = Pathname.new(stepmod_dir).realpath
33
- @general_concepts = []
34
- @resource_concepts = []
36
+ @general_concepts = Glossarist::Collection.new
37
+ @resource_concepts = Glossarist::Collection.new
35
38
  @parsed_bibliography = []
36
39
  @part_concepts = []
37
40
  @part_resources = []
@@ -39,13 +42,13 @@ module Stepmod
39
42
  @encountered_terms = {}
40
43
  end
41
44
 
42
- def log message
45
+ def log(message)
43
46
  stdout.puts "[stepmod-utils] #{message}"
44
47
  end
45
48
 
46
49
  def term_special_category(bibdata)
47
50
  case bibdata.part.to_i
48
- when 41,42,43,44,45,46,47,51
51
+ when 41, 42, 43, 44, 45, 46, 47, 51
49
52
  true
50
53
  when [56..112]
51
54
  true
@@ -56,47 +59,58 @@ module Stepmod
56
59
 
57
60
  def call
58
61
  # If we are using the stepmod CVS repository, provide the revision number per file
59
- @cvs_mode = if Dir.exists?(stepmod_path.join('CVS'))
60
- require 'ptools'
61
- # ptools provides File.which
62
- File.which("cvs")
63
- end
62
+ @cvs_mode = if Dir.exists?(stepmod_path.join("CVS"))
63
+ require "ptools"
64
+ # ptools provides File.which
65
+ File.which("cvs")
66
+ end
64
67
 
65
68
  log "INFO: STEPmod directory set to #{stepmod_dir}."
66
69
 
67
70
  if cvs_mode
68
- log "INFO: STEPmod directory is a CVS repository and will detect revisions."
69
- log "INFO: [CVS] Detecting file revisions can be slow, please be patient!"
71
+ log "INFO: STEPmod directory is a \
72
+ CVS repository and will detect revisions."
73
+ log "INFO: [CVS] Detecting file revisions can be slow, \
74
+ please be patient!"
70
75
  else
71
- log "INFO: STEPmod directory is not a CVS repository, skipping revision detection."
76
+ log "INFO: STEPmod directory is not a CVS repository, \
77
+ skipping revision detection."
72
78
  end
73
79
 
74
80
  log "INFO: Detecting paths..."
75
81
 
76
- repo_index = Nokogiri::XML(File.read(stepmod_path.join('repository_index.xml'))).root
82
+ repo_index = Nokogiri::XML(File.read(stepmod_path.join("repository_index.xml"))).root
77
83
 
78
84
  files = []
79
85
 
80
86
  # add module paths
81
- repo_index.xpath('//module').each do |x|
87
+ repo_index.xpath("//module").each do |x|
88
+ next if x['status'] == WITHDRAWN_STATUS
89
+
82
90
  path = Pathname.new("#{stepmod_dir}/modules/#{x['name']}/module.xml")
83
91
  files << path if File.exists? path
84
92
  end
85
93
 
86
94
  # add resource_docs paths
87
- repo_index.xpath('//resource_doc').each do |x|
95
+ repo_index.xpath("//resource_doc").each do |x|
96
+ next if x['status'] == WITHDRAWN_STATUS
97
+
88
98
  path = Pathname.new("#{stepmod_dir}/resource_docs/#{x['name']}/resource.xml")
89
99
  files << path if File.exists? path
90
100
  end
91
101
 
92
102
  # add business_object_models paths
93
- repo_index.xpath('//business_object_model').each do |x|
103
+ repo_index.xpath("//business_object_model").each do |x|
104
+ next if x['status'] == WITHDRAWN_STATUS
105
+
94
106
  path = Pathname.new("#{stepmod_dir}/business_object_models/#{x['name']}/business_object_model.xml")
95
107
  files << path if File.exists? path
96
108
  end
97
109
 
98
110
  # add application_protocols paths
99
- repo_index.xpath('//application_protocol').each do |x|
111
+ repo_index.xpath("//application_protocol").each do |x|
112
+ next if x['status'] == WITHDRAWN_STATUS
113
+
100
114
  path = Pathname.new("#{stepmod_dir}/application_protocols/#{x['name']}/application_protocol.xml")
101
115
  files << path if File.exists? path
102
116
  end
@@ -110,7 +124,7 @@ module Stepmod
110
124
  parsed_bibliography,
111
125
  part_concepts,
112
126
  part_resources,
113
- part_modules
127
+ part_modules,
114
128
  ]
115
129
  end
116
130
 
@@ -128,13 +142,14 @@ module Stepmod
128
142
  bibdata = nil
129
143
  begin
130
144
  bibdata = Stepmod::Utils::Bibdata.new(document: current_document)
131
- rescue
145
+ rescue StandardError
132
146
  log "WARNING: Unknown file #{fpath}, skipped"
133
147
  next
134
148
  end
135
149
 
136
150
  unless ACCEPTED_STAGES.include? bibdata.doctype
137
- log "INFO: skipped #{bibdata.docid} as it is not one of (#{ACCEPTED_STAGES.join(", ")})."
151
+ log "INFO: skipped #{bibdata.docid} as it is not \
152
+ one of (#{ACCEPTED_STAGES.join(', ')})."
138
153
  next
139
154
  end
140
155
 
@@ -153,9 +168,12 @@ module Stepmod
153
168
  status = `cvs status #{fpath}`
154
169
 
155
170
  unless status.empty?
156
- working_rev = status.split(/\n/).grep(/Working revision:/).first.match(/revision:\s+(.+)$/)[1]
157
- repo_rev = status.split(/\n/).grep(/Repository revision:/).first.match(/revision:\t(.+)\t/)[1]
158
- log "INFO: CVS working rev (#{working_rev}), repo rev (#{repo_rev})"
171
+ working_rev = status.split(/\n/).grep(/Working revision:/)
172
+ .first.match(/revision:\s+(.+)$/)[1]
173
+ repo_rev = status.split(/\n/).grep(/Repository revision:/)
174
+ .first.match(/revision:\t(.+)\t/)[1]
175
+ log "INFO: CVS working rev (#{working_rev}), \
176
+ repo rev (#{repo_rev})"
159
177
  revision_string = "\n// CVS working rev: (#{working_rev}), repo rev (#{repo_rev})\n" +
160
178
  "// CVS: revision #{working_rev == repo_rev ? 'up to date' : 'differs'}"
161
179
  end
@@ -163,11 +181,11 @@ module Stepmod
163
181
  end
164
182
 
165
183
  # read definitions
166
- current_part_concepts = []
184
+ current_part_concepts = Glossarist::Collection.new
167
185
  definition_index = 0
168
- current_document.xpath('//definition').each do |definition|
186
+ current_document.xpath("//definition").each do |definition|
169
187
  definition_index += 1
170
- term_id = definition['id']
188
+ term_id = definition["id"]
171
189
  unless term_id.nil?
172
190
  if encountered_terms[term_id]
173
191
  log "FATAL: Duplicated term with id: #{term_id}, #{fpath}"
@@ -183,22 +201,22 @@ module Stepmod
183
201
  definition,
184
202
  reference_anchor: bibdata.anchor,
185
203
  reference_clause: ref_clause,
186
- file_path: fpath + revision_string
204
+ file_path: fpath + revision_string,
187
205
  )
188
206
  next unless concept
189
207
 
190
- unless term_special_category(bibdata)
191
- # log "INFO: this part is generic"
192
- general_concepts << concept
193
- else
208
+ if term_special_category(bibdata)
194
209
  # log "INFO: this part is special"
195
- current_part_concepts << concept
210
+ find_or_initialize_concept(current_part_concepts, concept)
211
+ else
212
+ # log "INFO: this part is generic"
213
+ find_or_initialize_concept(general_concepts, concept)
196
214
  end
197
215
 
198
216
  parsed_bibliography << bibdata
199
217
  end
200
218
 
201
- current_part_resources = []
219
+ current_part_resources = Glossarist::Collection.new
202
220
  current_part_modules_arm = {}
203
221
  current_part_modules_mim = {}
204
222
 
@@ -207,10 +225,12 @@ module Stepmod
207
225
  when /resource.xml$/
208
226
  log "INFO: Processing resource.xml for #{file_path}"
209
227
  # Assumption: every schema is only linked by a single resource_docs document.
210
- current_document.xpath('//schema').each do |schema_node|
211
- schema_name = schema_node['name']
228
+ current_document.xpath("//schema").each do |schema_node|
229
+ schema_name = schema_node["name"]
212
230
  if parsed_schema_names[schema_name]
213
- log "ERROR: We have encountered this schema before: #{schema_name} from path #{parsed_schema_names[schema_name]}, now at #{file_path}"
231
+ log "ERROR: We have encountered this schema before: \
232
+ #{schema_name} from path \
233
+ #{parsed_schema_names[schema_name]}, now at #{file_path}"
214
234
  next
215
235
  else
216
236
  parsed_schema_names[schema_name] = file_path
@@ -219,24 +239,24 @@ module Stepmod
219
239
  Dir["#{stepmod_path}/resources/#{schema_name}/descriptions.xml"].each do |description_xml_path|
220
240
  log "INFO: Processing resources schema #{description_xml_path}"
221
241
  description_document = Nokogiri::XML(File.read(description_xml_path)).root
222
- description_document.xpath('//ext_description').each do |ext_description|
223
-
242
+ description_document.xpath("//ext_description").each do |ext_description|
224
243
  # log "INFO: Processing linkend[#{ext_description['linkend']}]"
225
244
 
226
245
  concept = Stepmod::Utils::Concept.parse(
227
246
  ext_description,
228
247
  reference_anchor: bibdata.anchor,
229
248
  reference_clause: nil,
230
- file_path: Pathname.new(description_xml_path).relative_path_from(stepmod_path)
249
+ file_path: Pathname.new(description_xml_path)
250
+ .relative_path_from(stepmod_path),
231
251
  )
232
252
  next unless concept
233
253
 
234
- unless term_special_category(bibdata)
235
- # log "INFO: this part is generic"
236
- resource_concepts << concept
237
- else
254
+ if term_special_category(bibdata)
238
255
  # log "INFO: this part is special"
239
- current_part_resources << concept
256
+ find_or_initialize_concept(current_part_resources, concept)
257
+ else
258
+ # log "INFO: this part is generic"
259
+ find_or_initialize_concept(resource_concepts, concept)
240
260
  end
241
261
 
242
262
  parsed_bibliography << bibdata
@@ -248,9 +268,11 @@ module Stepmod
248
268
  log "INFO: Processing module.xml for #{file_path}"
249
269
  # Assumption: every schema is only linked by a single module document.
250
270
  # puts current_document.xpath('//module').length
251
- schema_name = current_document.xpath('//module').first['name']
271
+ schema_name = current_document.xpath("//module").first["name"]
252
272
  if parsed_schema_names[schema_name]
253
- log "ERROR: We have encountered this schema before: #{schema_name} from path #{parsed_schema_names[schema_name]}, now at #{file_path}"
273
+ log "ERROR: We have encountered this schema before: \
274
+ #{schema_name} from path #{parsed_schema_names[schema_name]}, \
275
+ now at #{file_path}"
254
276
  next
255
277
  else
256
278
  parsed_schema_names[schema_name] = file_path
@@ -260,20 +282,25 @@ module Stepmod
260
282
  log "INFO: Processing modules schema #{description_xml_path}"
261
283
 
262
284
  if File.exists?(description_xml_path)
263
- description_document = Nokogiri::XML(File.read(description_xml_path)).root
264
- description_document.xpath('//ext_description').each do |ext_description|
265
-
266
- linkend_schema = ext_description['linkend'].split('.').first
285
+ description_document = Nokogiri::XML(
286
+ File.read(description_xml_path),
287
+ )
288
+ .root
289
+ description_document.xpath("//ext_description").each do |ext_description|
290
+ linkend_schema = ext_description["linkend"].split(".").first
267
291
  concept = Stepmod::Utils::Concept.parse(
268
292
  ext_description,
269
293
  reference_anchor: bibdata.anchor,
270
294
  reference_clause: nil,
271
- file_path: Pathname.new(description_xml_path).relative_path_from(stepmod_path)
295
+ file_path: Pathname.new(description_xml_path)
296
+ .relative_path_from(stepmod_path),
272
297
  )
273
298
  next unless concept
274
299
 
275
- current_part_modules_arm[linkend_schema] ||= []
276
- current_part_modules_arm[linkend_schema] << concept
300
+ current_part_modules_arm[linkend_schema] ||= Glossarist::Collection.new
301
+ find_or_initialize_concept(
302
+ current_part_modules_arm[linkend_schema], concept
303
+ )
277
304
  # puts part_modules_arm.inspect
278
305
  parsed_bibliography << bibdata
279
306
  end
@@ -283,21 +310,28 @@ module Stepmod
283
310
  log "INFO: Processing modules schema #{description_xml_path}"
284
311
 
285
312
  if File.exists?(description_xml_path)
286
- description_document = Nokogiri::XML(File.read(description_xml_path)).root
287
- description_document.xpath('//ext_description').each do |ext_description|
288
-
289
- linkend_schema = ext_description['linkend'].split('.').first
313
+ description_document = Nokogiri::XML(
314
+ File.read(description_xml_path),
315
+ )
316
+ .root
317
+ description_document.xpath("//ext_description").each do |ext_description|
318
+ linkend_schema = ext_description["linkend"].split(".").first
290
319
 
291
320
  concept = Stepmod::Utils::Concept.parse(
292
321
  ext_description,
293
322
  reference_anchor: bibdata.anchor,
294
323
  reference_clause: nil,
295
- file_path: Pathname.new(description_xml_path).relative_path_from(stepmod_path)
324
+ file_path: Pathname
325
+ .new(description_xml_path)
326
+ .relative_path_from(stepmod_path),
296
327
  )
297
328
  next unless concept
298
329
 
299
- current_part_modules_mim[linkend_schema] ||= []
300
- current_part_modules_mim[linkend_schema] << concept
330
+ current_part_modules_mim[linkend_schema] ||=
331
+ Glossarist::Collection.new
332
+ find_or_initialize_concept(
333
+ current_part_modules_mim[linkend_schema], concept
334
+ )
301
335
 
302
336
  parsed_bibliography << bibdata
303
337
  end
@@ -306,21 +340,39 @@ module Stepmod
306
340
  end
307
341
 
308
342
  log "INFO: Completed processing XML file #{fpath}"
309
- if current_part_concepts.empty?
310
- log "INFO: Skipping #{fpath} (#{bibdata.docid}) because it contains no concepts."
311
- elsif current_part_concepts.length < 3
312
- log "INFO: Skipping #{fpath} (#{bibdata.docid}) because it only has #{current_part_concepts.length} terms."
313
-
314
- current_part_concepts.each do |x|
315
- general_concepts << x
343
+ if current_part_concepts.to_a.empty?
344
+ log "INFO: Skipping #{fpath} (#{bibdata.docid}) \
345
+ because it contains no concepts."
346
+ elsif current_part_concepts.to_a.length < 3
347
+ log "INFO: Skipping #{fpath} (#{bibdata.docid}) \
348
+ because it only has #{current_part_concepts.to_a.length} terms."
349
+
350
+ current_part_concepts.to_a.each do |x|
351
+ general_concepts.store(x)
316
352
  end
317
353
  else
318
- part_concepts << [bibdata, current_part_concepts] unless current_part_concepts.empty?
354
+ unless current_part_concepts.to_a.empty?
355
+ part_concepts << [bibdata,
356
+ current_part_concepts]
357
+ end
358
+ end
359
+ unless current_part_resources.to_a.empty?
360
+ part_resources << [bibdata,
361
+ current_part_resources]
362
+ end
363
+ if (current_part_modules_arm.to_a.size +
364
+ current_part_modules_mim.to_a.size).positive?
365
+ part_modules << [bibdata, current_part_modules_arm,
366
+ current_part_modules_mim]
319
367
  end
320
- part_resources << [bibdata, current_part_resources] unless current_part_resources.empty?
321
- part_modules << [bibdata, current_part_modules_arm, current_part_modules_mim] if current_part_modules_arm.size + current_part_modules_mim.size > 0
322
368
  end
323
369
  end
370
+
371
+ def find_or_initialize_concept(collection, localized_concept)
372
+ concept = collection
373
+ .store(Glossarist::Concept.new(id: SecureRandom.uuid))
374
+ concept.add_l10n(localized_concept)
375
+ end
324
376
  end
325
377
  end
326
378
  end
@@ -1,5 +1,5 @@
1
1
  module Stepmod
2
2
  module Utils
3
- VERSION = "0.3.5"
3
+ VERSION = "0.3.10".freeze
4
4
  end
5
5
  end
@@ -1,4 +1,4 @@
1
- require_relative 'lib/stepmod/utils/version'
1
+ require_relative "lib/stepmod/utils/version"
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "stepmod-utils"
@@ -22,16 +22,21 @@ Gem::Specification.new do |spec|
22
22
 
23
23
  # Specify which files should be added to the gem when it is released.
24
24
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
26
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
25
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
26
+ `git ls-files -z`.split("\x0").reject do |f|
27
+ f.match(%r{^(test|spec|features)/})
28
+ end
27
29
  end
28
30
  spec.bindir = "exe"
29
31
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
30
32
  spec.require_paths = ["lib"]
31
33
 
32
- spec.add_runtime_dependency "thor", ">= 0.20.3"
33
- spec.add_runtime_dependency "reverse_adoc", ">= 0.2.9"
34
34
  spec.add_runtime_dependency "concurrent-ruby"
35
+ spec.add_runtime_dependency "glossarist", "~> 0.1.0"
35
36
  spec.add_runtime_dependency "ptools"
36
- spec.add_development_dependency "byebug", "~> 11.1"
37
+ spec.add_runtime_dependency "reverse_adoc", ">= 0.3.5"
38
+ spec.add_runtime_dependency "thor", ">= 0.20.3"
39
+ spec.add_development_dependency "rubocop"
40
+ spec.add_development_dependency "rubocop-performance"
41
+ spec.add_development_dependency "rubocop-rails"
37
42
  end
metadata CHANGED
@@ -1,65 +1,107 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stepmod-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.10
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: 2021-06-08 00:00:00.000000000 Z
11
+ date: 2021-10-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: thor
14
+ name: concurrent-ruby
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.20.3
19
+ version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.20.3
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: glossarist
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.1.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.1.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: ptools
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: reverse_adoc
29
57
  requirement: !ruby/object:Gem::Requirement
30
58
  requirements:
31
59
  - - ">="
32
60
  - !ruby/object:Gem::Version
33
- version: 0.2.9
61
+ version: 0.3.5
34
62
  type: :runtime
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
66
  - - ">="
39
67
  - !ruby/object:Gem::Version
40
- version: 0.2.9
68
+ version: 0.3.5
41
69
  - !ruby/object:Gem::Dependency
42
- name: concurrent-ruby
70
+ name: thor
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
73
  - - ">="
46
74
  - !ruby/object:Gem::Version
47
- version: '0'
75
+ version: 0.20.3
48
76
  type: :runtime
49
77
  prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 0.20.3
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
50
92
  version_requirements: !ruby/object:Gem::Requirement
51
93
  requirements:
52
94
  - - ">="
53
95
  - !ruby/object:Gem::Version
54
96
  version: '0'
55
97
  - !ruby/object:Gem::Dependency
56
- name: ptools
98
+ name: rubocop-performance
57
99
  requirement: !ruby/object:Gem::Requirement
58
100
  requirements:
59
101
  - - ">="
60
102
  - !ruby/object:Gem::Version
61
103
  version: '0'
62
- type: :runtime
104
+ type: :development
63
105
  prerelease: false
64
106
  version_requirements: !ruby/object:Gem::Requirement
65
107
  requirements:
@@ -67,19 +109,19 @@ dependencies:
67
109
  - !ruby/object:Gem::Version
68
110
  version: '0'
69
111
  - !ruby/object:Gem::Dependency
70
- name: byebug
112
+ name: rubocop-rails
71
113
  requirement: !ruby/object:Gem::Requirement
72
114
  requirements:
73
- - - "~>"
115
+ - - ">="
74
116
  - !ruby/object:Gem::Version
75
- version: '11.1'
117
+ version: '0'
76
118
  type: :development
77
119
  prerelease: false
78
120
  version_requirements: !ruby/object:Gem::Requirement
79
121
  requirements:
80
- - - "~>"
122
+ - - ">="
81
123
  - !ruby/object:Gem::Version
82
- version: '11.1'
124
+ version: '0'
83
125
  description: 'Stepmod-utils is a toolkit that works on STEPmod data.
84
126
 
85
127
  '
@@ -180,7 +222,7 @@ homepage: https://github.com/metanorma/stepmod-utils
180
222
  licenses:
181
223
  - BSD-2-Clause
182
224
  metadata: {}
183
- post_install_message:
225
+ post_install_message:
184
226
  rdoc_options: []
185
227
  require_paths:
186
228
  - lib
@@ -195,8 +237,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
195
237
  - !ruby/object:Gem::Version
196
238
  version: '0'
197
239
  requirements: []
198
- rubygems_version: 3.1.6
199
- signing_key:
240
+ rubygems_version: 3.0.3.1
241
+ signing_key:
200
242
  specification_version: 4
201
243
  summary: Stepmod-utils is a toolkit that works on STEPmod data.
202
244
  test_files: []