metanorma-cli 1.15.3 → 1.15.6

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: fe8f54dc10e8f8acc7cc23f56ca289103ee441b81952fd61e724eeed5da7b722
4
- data.tar.gz: cb3086b488114b02339a15c630e8d275456f4a95829e14ecb80fb96144f3dc15
3
+ metadata.gz: 1c00002c926c9a151084f7edb410da9000b99a1d42f5929eeff66951025d2fae
4
+ data.tar.gz: dc4778b04f2f924d103e56daf651bc50203404fc74e43ab36eb19cf9c4b54545
5
5
  SHA512:
6
- metadata.gz: c5ab355cde8c7fc147f5f16a4b6c84b3a394c097e4a64a9a632545e6b5c00f9c546ec1c32fe391205a9fbb6f597bef4dec0632d243e29fb7a6a70aa771cb3ac3
7
- data.tar.gz: ecc62ec38bbf17b268990456f56596d22c2dd0b913cbbb6cf1f94e5069765b067065bb3e5b9b11c5e3440db4fa31abc0943eff70d1a29ffe9cdc1f9125c662ca
6
+ metadata.gz: 5fa0e6292a2014ab46a6cf46aba39866f5a226a85488ecd6ee501a3cc504550621f1f49e9e2d7329d2c6610b6560b65027f5fc8eec3574348c283489d46a507d
7
+ data.tar.gz: 9556d4cfe121a9ed03a65e421a629b7ef52906f7ad83cdaa9138264c0828a64046db8c927e9a43a546aba28cbb98186cb2eb2d44ffa2668aec54fd2b85639dc8
@@ -39,7 +39,7 @@ module Metanorma
39
39
  # ooption, and in that case it will use that template.
40
40
  #
41
41
  def self.run(name, type:, doctype:, **options)
42
- new(name, **options.merge(type: type, doctype: doctype)).run
42
+ new(name, **options, type: type, doctype: doctype).run
43
43
  end
44
44
 
45
45
  private
@@ -53,9 +53,13 @@ module Metanorma
53
53
  def create_metanorma_document
54
54
  type_template = type_specific_template
55
55
 
56
- if type_template.empty?
56
+ if type_template.nil?
57
57
  UI.say(
58
- "Unable to generate document:\n#{create_metanorma_document_error}",
58
+ "Unable to generate document:\n#{type_not_found_error}",
59
+ )
60
+ elsif type_template.empty?
61
+ UI.say(
62
+ "Unable to generate document:\n#{doctype_not_found_error}",
59
63
  )
60
64
  else
61
65
  templates = base_templates.merge(type_template)
@@ -63,12 +67,29 @@ module Metanorma
63
67
  end
64
68
  end
65
69
 
66
- def create_metanorma_document_error
70
+ def type_not_found_error
71
+ "Templates for type #{type} cannot be found -- " \
72
+ "please provide a valid `type` or a template URL"
73
+ end
74
+
75
+ def doctype_not_found_error
67
76
  type == "ogc" && doctype == "charter" and return <<~ERR
68
77
  The template for OGC charter documents can be downloaded from https://github.com/opengeospatial/templates/tree/master/charter_templates
69
78
  ERR
70
- "Templates for type #{type} cannot be found -- "\
71
- "please provide a valid `type` or a template URL"
79
+ available = available_template_doctypes
80
+ msg = "Doctype '#{doctype}' not found in templates for type '#{type}'."
81
+ msg += " Available doctypes: #{available.join(', ')}." unless available.empty?
82
+ msg
83
+ end
84
+
85
+ def available_template_doctypes
86
+ return [] unless @type_template_path
87
+
88
+ Pathname.new(@type_template_path).children
89
+ .select(&:directory?)
90
+ .map { |d| d.basename.to_s }
91
+ .reject { |d| d == "common" || d.start_with?(".") }
92
+ .sort
72
93
  end
73
94
 
74
95
  def find_standard_template(type)
@@ -85,13 +106,13 @@ module Metanorma
85
106
  end
86
107
 
87
108
  def type_specific_template
88
- template_path = custom_template || find_standard_template(type)
89
- return {} if template_path.nil?
109
+ @type_template_path = custom_template || find_standard_template(type)
110
+ return nil if @type_template_path.nil?
90
111
 
91
- result = build_template_hash(template_path, doctype)
112
+ result = build_template_hash(@type_template_path, doctype)
92
113
  return result if result.empty?
93
114
 
94
- result.merge(build_template_common_hash(template_path))
115
+ result.merge(build_template_common_hash(@type_template_path))
95
116
  end
96
117
 
97
118
  def custom_template
@@ -86,6 +86,11 @@ module Metanorma
86
86
  iec: "https://github.com/metanorma/mn-templates-iec",
87
87
  itu: "https://github.com/metanorma/mn-templates-itu",
88
88
  ietf: "https://github.com/metanorma/mn-templates-ietf",
89
+ iho: "https://github.com/metanorma/mn-templates-iho",
90
+ cc: "https://github.com/metanorma/mn-templates-cc",
91
+ un: "https://github.com/metanorma/mn-templates-un",
92
+ nist: "https://github.com/metanorma/mn-templates-nist",
93
+ m3aawg: "https://github.com/metanorma/mn-templates-m3aawg",
89
94
  }
90
95
  end
91
96
 
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Cli
3
- VERSION = "1.15.3".freeze
3
+ VERSION = "1.15.6".freeze
4
4
  end
5
5
  end
@@ -26,20 +26,20 @@ Gem::Specification.new do |spec|
26
26
  spec.required_ruby_version = ">= 3.1.0"
27
27
 
28
28
  spec.add_dependency "metanorma-ietf", "~> 3.7.0"
29
- spec.add_dependency "metanorma-iso", "~> 3.3.1"
29
+ spec.add_dependency "metanorma-iso", "~> 3.4.0"
30
30
  spec.add_dependency "mnconvert"
31
31
  # spec.add_dependency "thor", "~> 1.0" # inherited from vectory
32
32
  # spec.add_dependency "metanorma-gb", "~> 1.5.0"
33
33
  spec.add_dependency "metanorma-bipm", "~> 2.8.0"
34
34
  spec.add_dependency "metanorma-cc", "~> 2.8.0"
35
- spec.add_dependency "metanorma-generic", "~> 3.3.0"
35
+ spec.add_dependency "metanorma-generic", "~> 3.3.3"
36
36
  spec.add_dependency "metanorma-iec", "~> 2.8.0"
37
37
  spec.add_dependency "metanorma-ribose", "~> 2.8.0"
38
- spec.add_dependency "metanorma-standoc", "~> 3.3.1"
38
+ spec.add_dependency "metanorma-standoc", "~> 3.4.0"
39
39
  # spec.add_dependency 'metanorma-mpfa', "~> 0.9.0"
40
40
  spec.add_dependency "git", ">= 3.0"
41
41
  spec.add_dependency "lutaml-model"
42
- spec.add_dependency "metanorma", "~> 2.3.0"
42
+ spec.add_dependency "metanorma", "~> 2.3.3"
43
43
  spec.add_dependency "metanorma-iho", "~> 1.3.0"
44
44
  spec.add_dependency "metanorma-itu", "~> 2.8.0"
45
45
  # spec.add_dependency "metanorma-nist", "~> 2.7.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.15.3
4
+ version: 1.15.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-03-17 00:00:00.000000000 Z
11
+ date: 2026-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-ietf
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 3.3.1
33
+ version: 3.4.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 3.3.1
40
+ version: 3.4.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: mnconvert
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 3.3.0
89
+ version: 3.3.3
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 3.3.0
96
+ version: 3.3.3
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: metanorma-iec
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 3.3.1
131
+ version: 3.4.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 3.3.1
138
+ version: 3.4.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: git
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 2.3.0
173
+ version: 2.3.3
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 2.3.0
180
+ version: 2.3.3
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: metanorma-iho
183
183
  requirement: !ruby/object:Gem::Requirement