stepmod-utils 0.3.17 → 0.3.18

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e8be21fe4d04046487ecb36fdebeb74f8dbbb7bda473cbb1b3451b62b15d62a0
4
- data.tar.gz: f3005c150d30d5c8aac9b77f9221cfcfc575e0d541208152087f6ff88623375d
3
+ metadata.gz: 7d666c11f9282db59fefb04c07c40a88f6167cd214d316f2b1a14ae7117ce898
4
+ data.tar.gz: fe07f66170d74a97a95003b0f5e3594c5f2bbeaa3d431b716ce52f01d13d418d
5
5
  SHA512:
6
- metadata.gz: b004697a0c9eeecc570ba7e184fd7165fa991be9b0046f13305106a6cbdff123aca57299c340ce72fb95214ad878a0d0aff140af5e07308070d1c8a336c09921
7
- data.tar.gz: 9aaa80fff000066c954b660592626a9ee0132cfca173c0d93aeb572211adf1929d79dc1f1336858725b031b287d1a9d07f9e4d79e45b8d4a4727819fbe303b9f
6
+ metadata.gz: 7b2fea45d8a30e633e393afac572894481d7de3bf5a33cd19043b6b55cb5b2c948666eb705b4cc9e69a12fe7b43217ca80f8f9a47d7aab4507b1b00c4136476e
7
+ data.tar.gz: 8e5334b99ece0ad5bff37d8ffd7cd70c64fd4998c3e0f4da58825802420f8537493a7858a6158b00ffcfdb3907a532e44067ab4ba07f7cc8f6091b5bb7912517
@@ -238,7 +238,7 @@ module Stepmod
238
238
  id: "#{reference_anchor}.#{reference_clause}",
239
239
  reference_anchor: reference_anchor,
240
240
  reference_clause: reference_clause,
241
- file_path: Pathname.new(file_path)
241
+ file_path: Pathname.new(exp_annotated_path)
242
242
  .relative_path_from(stepmod_path),
243
243
  language_code: "en",
244
244
  )
@@ -297,7 +297,7 @@ module Stepmod
297
297
  id: "#{reference_anchor}.#{reference_clause}",
298
298
  reference_anchor: reference_anchor,
299
299
  reference_clause: reference_clause,
300
- file_path: Pathname.new(file_path)
300
+ file_path: Pathname.new(exp_annotated_path)
301
301
  .relative_path_from(stepmod_path),
302
302
  language_code: "en",
303
303
  )
@@ -340,7 +340,7 @@ module Stepmod
340
340
  id: "#{reference_anchor}.#{reference_clause}",
341
341
  reference_anchor: reference_anchor,
342
342
  reference_clause: reference_clause,
343
- file_path: Pathname.new(file_path)
343
+ file_path: Pathname.new(exp_annotated_path)
344
344
  .relative_path_from(stepmod_path),
345
345
  language_code: "en",
346
346
  )
@@ -397,6 +397,81 @@ module Stepmod
397
397
  concept.add_l10n(localized_concept)
398
398
  end
399
399
 
400
+ def combine_paragraphs(full_paragraph, next_paragraph)
401
+ # If full_paragraph already contains a period, extract that.
402
+ if m = full_paragraph.match(/\A(?<inner_first>[^\n]*?\.)\s/)
403
+ # puts "CONDITION 1"
404
+ if m[:inner_first]
405
+ return m[:inner_first]
406
+ else
407
+ return full_paragraph
408
+ end
409
+ end
410
+
411
+ # If full_paragraph ends with a period, this is the last.
412
+ if full_paragraph =~ /\.\s*\Z/
413
+ # puts "CONDITION 2"
414
+ return full_paragraph
415
+ end
416
+
417
+ # If next_paragraph is a list
418
+ if next_paragraph.match(/\A\*/)
419
+ # puts "CONDITION 3"
420
+ return full_paragraph + "\n\n" + next_paragraph
421
+ end
422
+
423
+ # If next_paragraph is a continuation of a list
424
+ if next_paragraph.match(/\Awhich/) || next_paragraph.match(/\Athat/)
425
+ # puts "CONDITION 4"
426
+ return full_paragraph + "\n\n" + next_paragraph
427
+ end
428
+
429
+ # puts "CONDITION 5"
430
+ full_paragraph
431
+ end
432
+
433
+ def trim_definition(definition)
434
+ # Unless the first paragraph ends with "between" and is followed by a
435
+ # list, don't split
436
+ paragraphs = definition.split("\n\n")
437
+
438
+ # puts paragraphs.inspect
439
+
440
+ first_paragraph = paragraphs.first
441
+
442
+ if paragraphs.length > 1
443
+ combined = paragraphs[1..-1].inject(first_paragraph) do |acc, p|
444
+ combine_paragraphs(acc, p)
445
+ end
446
+ else
447
+ combined = combine_paragraphs(first_paragraph, "")
448
+ end
449
+
450
+ # puts "combined--------- #{combined}"
451
+
452
+ # Remove comments until end of line
453
+ combined = combined + "\n"
454
+ combined.gsub!(/\n\/\/.*?\n/, "\n")
455
+ combined.strip!
456
+
457
+ combined
458
+ # # TODO: If the definition contains a list immediately after the first paragraph, don't split
459
+ # return definition if definition =~ /\n\* /
460
+
461
+ # unless (
462
+ # first_paragraph =~ /between:?\s*\Z/ ||
463
+ # first_paragraph =~ /include:?\s*\Z/ ||
464
+ # first_paragraph =~ /of:?\s*\Z/ ||
465
+ # first_paragraph =~ /[:;]\s*\Z/
466
+ # ) &&
467
+ # definition =~ /\n\n\*/
468
+
469
+ # # Only taking the first paragraph of the definition
470
+ # first_paragraph
471
+ # end
472
+ end
473
+
474
+
400
475
  # rubocop:disable Layout/LineLength
401
476
  def generate_entity_definition(entity, domain, old_definition)
402
477
  return "" if entity.nil?
@@ -419,10 +494,12 @@ module Stepmod
419
494
  DEFINITION
420
495
 
421
496
  unless old_definition.nil? || old_definition.blank?
497
+ old_definition = trim_definition(old_definition)
498
+
422
499
  definition << <<~OLD_DEFINITION
423
500
  [NOTE]
424
501
  --
425
- #{old_definition&.strip}
502
+ #{old_definition.strip}
426
503
  --
427
504
  OLD_DEFINITION
428
505
  end
@@ -1,5 +1,5 @@
1
1
  module Stepmod
2
2
  module Utils
3
- VERSION = "0.3.17".freeze
3
+ VERSION = "0.3.18".freeze
4
4
  end
5
5
  end
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.17
4
+ version: 0.3.18
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-09-07 00:00:00.000000000 Z
11
+ date: 2022-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -253,7 +253,7 @@ homepage: https://github.com/metanorma/stepmod-utils
253
253
  licenses:
254
254
  - BSD-2-Clause
255
255
  metadata: {}
256
- post_install_message:
256
+ post_install_message:
257
257
  rdoc_options: []
258
258
  require_paths:
259
259
  - lib
@@ -268,8 +268,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
268
268
  - !ruby/object:Gem::Version
269
269
  version: '0'
270
270
  requirements: []
271
- rubygems_version: 3.3.7
272
- signing_key:
271
+ rubygems_version: 3.1.6
272
+ signing_key:
273
273
  specification_version: 4
274
274
  summary: Stepmod-utils is a toolkit that works on STEPmod data.
275
275
  test_files: []