stepmod-utils 0.3.5 → 0.3.10

Sign up to get free protection for your applications and to get access to all the features.
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: []