mn-requirements 0.5.12 → 0.5.14.pre.alpha.1

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: a9c3746379428caff796ce59625c1642ec417399c50bd0544227a80a0152ca61
4
- data.tar.gz: 0ebf8d83e75efca52ea7b76b81e6aaf2f8d02236b2ad37ed670784832e1bd9e4
3
+ metadata.gz: cac56f19a103b1f27d059c9efad55266b42140663a1e7e7aea47ab59b90e7822
4
+ data.tar.gz: 787e5e00511ffeb146ea01a40dc9b4fa46f6a841577e5aa6287af572f85943be
5
5
  SHA512:
6
- metadata.gz: a0f30d1674c1d097d8494eac7606d7275a1df0f180ddc9fbc8b92eb9f6ea5020f4470c603f02e1597844e884bf882f86f4ca5787bb2c6bacde9519c39ce40a39
7
- data.tar.gz: 10547de736b015b3e4ca782ebee129fbfc46b0c27fbe7f946f24ac4e2e42e6323e5599e131442837f3e157714c1596443dcc703eed2596999ed20dbcf6339c18
6
+ metadata.gz: f943f8779ed6c4116769efc81f3c8ba042fc41d71c2d5d60a1dcced3758dc5439e67624905a3fccc18f7188444545be47de5e2844a4c6ef57ee446a16a9f6de9
7
+ data.tar.gz: 49a7f77a67dde0fd4c9a2e8474e2fe2f52e7f7e5d6267a6d145b7d9d7bade9d46de67bf4483eec82ceb0560f0f9f7633fedce579e7d99ad8b726633d2b194666
data/.rubocop.yml CHANGED
@@ -2,6 +2,15 @@
2
2
  # See https://github.com/metanorma/cimas
3
3
  inherit_from:
4
4
  - https://raw.githubusercontent.com/riboseinc/oss-guides/main/ci/rubocop.yml
5
+ # .rubocop_todo.yml MUST be the last entry. inherit_from is last-wins:
6
+ # if listed before oss-guides, the shared config's stricter Metrics/
7
+ # (MethodLength, BlockLength, etc.) rules override the todo's per-file
8
+ # grandfathering, and the todo becomes inert on those cops. Empirically
9
+ # verified on suma 2026-07-06: with todo listed first, 34 Metrics/* offenses
10
+ # remained; moved last, cleared. Every gem in the metanorma-org fleet
11
+ # already ships a `.rubocop_todo.yml` on its live tree (audited 2026-07-06,
12
+ # 54/54 have it), so this reference is safe to emit unconditionally.
13
+ - .rubocop_todo.yml
5
14
 
6
15
  # Rubocop plugins enabled centrally so every metanorma-org gem picks them up
7
16
  # on cimas sync — best practice belongs at the shared-template layer, not
data/Gemfile CHANGED
@@ -7,3 +7,10 @@ git_source(:github) { |repo| "https://github.com/#{repo}" }
7
7
  gemspec
8
8
 
9
9
  eval_gemfile("Gemfile.devel") rescue nil
10
+
11
+ gem "isodoc", github: "metanorma/isodoc", branch: "main"
12
+ gem "isodoc-i18n", github: "metanorma/isodoc-i18n", branch: "main"
13
+ # released standoc still caps relaton-cli ~> 2.1.0; isodoc main's
14
+ # relaton-cli floor is the 3.x pre monogem — resolve standoc from main
15
+ gem "metanorma-standoc", github: "metanorma/metanorma-standoc", branch: "main"
16
+ gem "metanorma-document", github: "metanorma/metanorma-document", branch: "main" # standoc main needs SvgmapElement (> 0.2.13)
@@ -72,6 +72,26 @@ module Metanorma
72
72
  requirement_metadata1(reqt, dl, reqt.at("./title"))
73
73
  end
74
74
 
75
+ # The provisions model fixes the metadata head order
76
+ # (title?, identifier?, subject*, inherit*, classification*), but the
77
+ # elements are emitted in authored order, so a requirement authoring its
78
+ # subject after its classifications is invalid. Reorder the metadata head
79
+ # into the canonical sequence, preserving relative order within each type.
80
+ # https://github.com/metanorma/metanorma-standoc/issues/1239
81
+ REQT_METADATA_HEAD = %w(title identifier subject inherit
82
+ classification).freeze
83
+
84
+ def requirement_metadata_reorder(reqt)
85
+ ordered = REQT_METADATA_HEAD.flat_map { |n| reqt.xpath("./#{n}").to_a }
86
+ ordered.size < 2 and return
87
+ ordered.reverse_each do |e|
88
+ e.unlink
89
+ if reqt.children.empty? then reqt.add_child(e)
90
+ else reqt.children.first.previous = e
91
+ end
92
+ end
93
+ end
94
+
75
95
  def requirement_metadata1_attrs
76
96
  %w(obligation model type class render)
77
97
  end
@@ -79,6 +79,13 @@ module Metanorma
79
79
  requirement_inherit_cleanup(xmldoc)
80
80
  requirement_descriptions_cleanup(xmldoc)
81
81
  requirement_identifier_cleanup(xmldoc)
82
+ requirement_metadata_reorder(xmldoc)
83
+ end
84
+
85
+ def requirement_metadata_reorder(xmldoc)
86
+ xmldoc.xpath(REQRECPER).each do |r|
87
+ model(r["model"]).requirement_metadata_reorder(r)
88
+ end
82
89
  end
83
90
 
84
91
  def requirement_type_cleanup(xmldoc)
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  class Requirements
3
- VERSION = "0.5.12".freeze
3
+ VERSION = "0.5.14.pre.alpha.1".freeze
4
4
  end
5
5
  end
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency "isodoc-i18n", ">= 1.2.0"
30
30
  spec.add_dependency "metanorma-utils", ">= 2.0.0"
31
31
  spec.add_dependency "metanorma-core", ">= 0.1.0"
32
- spec.add_dependency "relaton-render", ">= 1.0.0"
32
+ spec.add_dependency "relaton-render", "~> 3.0.0.pre.alpha"
33
33
 
34
34
  spec.add_development_dependency "benchmark"
35
35
  spec.add_development_dependency "canon"
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mn-requirements
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.12
4
+ version: 0.5.14.pre.alpha.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
+ autorequire:
8
9
  bindir: exe
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2026-10-22 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: isodoc-i18n
@@ -55,16 +56,16 @@ dependencies:
55
56
  name: relaton-render
56
57
  requirement: !ruby/object:Gem::Requirement
57
58
  requirements:
58
- - - ">="
59
+ - - "~>"
59
60
  - !ruby/object:Gem::Version
60
- version: 1.0.0
61
+ version: 3.0.0.pre.alpha
61
62
  type: :runtime
62
63
  prerelease: false
63
64
  version_requirements: !ruby/object:Gem::Requirement
64
65
  requirements:
65
- - - ">="
66
+ - - "~>"
66
67
  - !ruby/object:Gem::Version
67
- version: 1.0.0
68
+ version: 3.0.0.pre.alpha
68
69
  - !ruby/object:Gem::Dependency
69
70
  name: benchmark
70
71
  requirement: !ruby/object:Gem::Requirement
@@ -305,6 +306,7 @@ homepage: https://github.com/metanorma/mn-requirements
305
306
  licenses:
306
307
  - BSD-2-Clause
307
308
  metadata: {}
309
+ post_install_message:
308
310
  rdoc_options: []
309
311
  require_paths:
310
312
  - lib
@@ -319,7 +321,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
319
321
  - !ruby/object:Gem::Version
320
322
  version: '0'
321
323
  requirements: []
322
- rubygems_version: 4.0.10
324
+ rubygems_version: 3.5.22
325
+ signing_key:
323
326
  specification_version: 4
324
327
  summary: Requirements processing and rendering according to different models
325
328
  test_files: []