metanorma-plugin-lutaml 0.4.14 → 0.4.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: d32e2622337e811833b81c4a3be6ff720d5b062807cd1e11532a4178e75a7f50
4
- data.tar.gz: d048df682f6c5cc77770d74585b87644cf43d27e4bad65cfad6829fe3c75c2ad
3
+ metadata.gz: 6c9422de6e2f133c37c7cae0195312bf6ca63f763a544535fbe21f62f4c1b7ef
4
+ data.tar.gz: 4a88c4264ab7f8f6bca636902d3e06c17b0aa2ca349fb7c7f1ee9240eb4c13c2
5
5
  SHA512:
6
- metadata.gz: 51972b3a3ca4fa2701813aefb8425cee81499725e8b488dd99098e446b1b37e8580cad84629e058ddab4ff8bd8db272558cd3f2666316623a9801407bd65ead6
7
- data.tar.gz: 198d5703597a8c28a55e0d8c8845bc74738fbb3248fbc376d9c8488836c606f4d4e198bff24c24444d5c019455baa5f72ed970f51ef02f85845d1cc55c63f5a8
6
+ metadata.gz: '08e44fa7e98636dcabccc17c1f43bd7abec874328c5e8db2f6005bb9804e75e6b427aad4a2c41157f8fdb54a846014c3041b8aded4b4071f1802351ad2add5ae'
7
+ data.tar.gz: 32aa9bd9de63aa8c07517ed72425685f565c600f4f9e8996fcebbc5fbe8afdfcb77e130f4f499b0ba5dce36e85f9dfa6c33f5e8b52f103175d6ab8700e69ed6e
@@ -10,34 +10,6 @@ on:
10
10
 
11
11
  jobs:
12
12
  rake:
13
- name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }}
14
- runs-on: ${{ matrix.os }}
15
- continue-on-error: ${{ matrix.experimental }}
16
- strategy:
17
- fail-fast: false
18
- matrix:
19
- ruby: [ '3.0', '2.7', '2.6', '2.5' ]
20
- os: [ ubuntu-latest, windows-latest, macos-latest ]
21
- experimental: [ false ]
22
- steps:
23
- - uses: actions/checkout@master
24
-
25
- - uses: ruby/setup-ruby@v1
26
- with:
27
- ruby-version: ${{ matrix.ruby }}
28
- bundler-cache: true
29
-
30
- - uses: metanorma/metanorma-build-scripts/plantuml-setup-action@master
31
-
32
- - run: bundle exec rake
33
-
34
- tests-passed:
35
- needs: rake
36
- runs-on: ubuntu-latest
37
- steps:
38
- - uses: peter-evans/repository-dispatch@v1
39
- with:
40
- token: ${{ secrets.METANORMA_CI_PAT_TOKEN || secrets.GITHUB_TOKEN }}
41
- repository: ${{ github.repository }}
42
- event-type: tests-passed
43
- client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
13
+ uses: metanorma/ci/.github/workflows/plantuml-rake.yml@main
14
+ secrets:
15
+ pat_token: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
@@ -0,0 +1,24 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ name: release
4
+
5
+ on:
6
+ workflow_dispatch:
7
+ inputs:
8
+ next_version:
9
+ description: |
10
+ Next release version. Possible values: x.y.z, major, minor, patch or pre|rc|etc
11
+ required: true
12
+ default: 'skip'
13
+ push:
14
+ tags: [ v* ]
15
+
16
+ jobs:
17
+ release:
18
+ uses: metanorma/ci/.github/workflows/rubygems-release.yml@main
19
+ with:
20
+ next_version: ${{ github.event.inputs.next_version }}
21
+ secrets:
22
+ rubygems-api-key: ${{ secrets.METANORMA_CI_RUBYGEMS_API_KEY }}
23
+ pat_token: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
24
+
data/.gitignore CHANGED
@@ -1,4 +1,6 @@
1
1
  Gemfile.lock
2
2
  .rspec_status
3
3
  spec/assets/lutaml
4
- test.err
4
+ test.err
5
+
6
+ .rubocop-https--*
data/Gemfile CHANGED
@@ -2,3 +2,4 @@ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in metanorma-plugin-lutaml.gemspec
4
4
  gemspec
5
+ require 'debug'
data/README.adoc CHANGED
@@ -212,6 +212,80 @@ diagram MyView {
212
212
  ....
213
213
  ----
214
214
 
215
+ === Generating UML class and attributes: `lutaml_uml_class`
216
+
217
+ This command allows rendering a definition clause for a UML class.
218
+
219
+ Given `example.lutaml` with this content:
220
+
221
+ [source,java]
222
+ ----
223
+ class Register {
224
+ definition {
225
+ A register of information.
226
+ }
227
+
228
+ identifier: String[1] {
229
+ definition {
230
+ Unique identifier of the register.
231
+ }
232
+ }
233
+
234
+ concepts: Concept[0..*] {
235
+ definition {
236
+ Concepts.
237
+ }
238
+ }
239
+ }
240
+ ----
241
+
242
+ The command:
243
+
244
+ [source,adoc]
245
+ ----
246
+ [lutaml_uml_class,views/Register_Register.lutaml,Register]
247
+ ----
248
+
249
+ Will produce this output:
250
+
251
+ ____
252
+ == Register
253
+
254
+ A register of information.
255
+
256
+ === Attributes
257
+
258
+ ==== identifier
259
+
260
+ Unique identifier of the register.
261
+
262
+ .Specification of `Register.identifier`
263
+ |===
264
+ h|Value type and multiplicity | `String [1]`
265
+ |===
266
+
267
+ ==== concepts
268
+
269
+ Concepts.
270
+
271
+ .Specification of `Register.concepts`
272
+ |===
273
+ h|Value type and multiplicity | `Concepts [0..*]`
274
+ |===
275
+
276
+ ____
277
+
278
+ The command accepts two options:
279
+
280
+ * `skip_headers=true` (or just `skip_headers`). The initial heading (the UML class name)
281
+ will not be generated. This is useful if additional content is to be supplied
282
+ to the clause, such as diagrams that are defined outside the UML model.
283
+
284
+ * `depth={n}`. (default: `2`) This determines the depth of the generated headings.
285
+ A depth of `2` means the initial heading will have 2 equal signs, and so forth.
286
+ The heading depth of the attributes are in relation to the initial depth, so
287
+ a depth of `2` will have the "Attributes" section at depth `3`.
288
+
215
289
 
216
290
  === `lutaml_uml_attributes_table`
217
291
 
@@ -92,7 +92,7 @@
92
92
  {% if additional_context.external_classes[klass.name] %}
93
93
  | <<{{ additional_context.external_classes[klass.name] }},{{ klass.name }}>> «{{ klass.stereotype }}»
94
94
  {% else %}
95
- | | <<section-{{ klass.xmi_id }},{{ klass.name }}>> «{{ klass.stereotype }}»
95
+ | <<section-{{ klass.xmi_id }},{{ klass.name }}>> «{{ klass.stereotype }}»
96
96
  {% endif %}
97
97
  | {{ klass.definition | replace: '|', '\|' }}
98
98
 
@@ -101,7 +101,7 @@
101
101
  |===
102
102
  {% endunless %}
103
103
 
104
- {% assign non_unions = package.data_types | where: "stereotype", "DataType" %}
104
+ {% assign non_unions = package.data_types | where: "stereotype", "DataType" %}
105
105
  {% if non_unions.size > 0 %}
106
106
  {% include "packages_entity_list_classes", classes: non_unions, type: "Data types", depth: nested_depth %}
107
107
  {% endif %}
@@ -5,7 +5,6 @@ require "asciidoctor"
5
5
  require "asciidoctor/reader"
6
6
  require "lutaml"
7
7
  require "metanorma/plugin/lutaml/utils"
8
- require "metanorma/plugin/lutaml/utils"
9
8
  require "metanorma/plugin/lutaml/express_remarks_decorator"
10
9
 
11
10
  module Metanorma
@@ -17,7 +17,7 @@ module Metanorma
17
17
  xmi_id = parent.document.attributes['lutaml_entity_id'][entity_key]
18
18
  return unless xmi_id
19
19
 
20
- %Q(<xref target="section-#{xmi_id}"></xref>)
20
+ %Q(<xref target="section-#{xmi_id}"/>)
21
21
  end
22
22
  end
23
23
  end
@@ -1,75 +1,20 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "liquid"
4
- require "asciidoctor"
5
- require "asciidoctor/reader"
6
- require "lutaml"
7
- require "lutaml/uml"
8
- require "metanorma/plugin/lutaml/utils"
3
+ require_relative "./lutaml_uml_class_preprocessor.rb"
9
4
 
10
5
  module Metanorma
11
6
  module Plugin
12
7
  module Lutaml
13
8
  # Macro for quick rendering of datamodel attributes/values table
14
9
  # @example [lutaml_uml_attributes_table,path/to/lutaml,EntityName]
15
- class LutamlUmlAttributesTablePreprocessor < Asciidoctor::Extensions::Preprocessor
16
- MARCO_REGEXP =
10
+ class LutamlUmlAttributesTablePreprocessor < LutamlUmlClassPreprocessor
11
+ MACRO_REGEXP =
17
12
  /\[lutaml_uml_attributes_table,([^,]+),?([^,]+),?(.+?)?\]/
18
- # search document for block `datamodel_attributes_table`
19
- # read include derectives that goes after that in block and transform
20
- # into yaml2text blocks
21
- def process(document, reader)
22
- input_lines = reader.readlines.to_enum
23
- Asciidoctor::Reader.new(processed_lines(document, input_lines))
24
- end
25
-
26
- private
27
-
28
- def lutaml_document_from_file(document, file_path)
29
- ::Lutaml::Parser
30
- .parse(File.new(Utils.relative_file_path(document, file_path),
31
- encoding: "UTF-8"))
32
- .first
33
- end
34
-
35
- def processed_lines(document, input_lines)
36
- input_lines.each_with_object([]) do |line, result|
37
- if match = line.match(MARCO_REGEXP)
38
- lutaml_path = match[1]
39
- entity_name = match[2]
40
- skip_headers = match[3]
41
- result.push(*parse_marco(lutaml_path, entity_name, document, skip_headers))
42
- else
43
- result.push(line)
44
- end
45
- end
46
- end
47
-
48
- def parse_marco(lutaml_path, entity_name, document, skip_headers)
49
- lutaml_document = lutaml_document_from_file(document, lutaml_path)
50
- .serialized_document
51
- entities = [lutaml_document["classes"], lutaml_document["enums"]]
52
- .compact
53
- .flatten
54
- entity_definition = entities.detect do |klass|
55
- klass["name"] == entity_name.strip
56
- end
57
- model_representation(entity_definition, document, skip_headers)
58
- end
59
-
60
- def model_representation(entity_definition, document, skip_headers)
61
- render_result, errors = Utils.render_liquid_string(
62
- template_string: table_template(skip_headers),
63
- context_items: entity_definition,
64
- context_name: "definition",
65
- document: document
66
- )
67
- Utils.notify_render_errors(document, errors)
68
- render_result.split("\n")
69
- end
70
13
 
71
14
  # rubocop:disable Layout/IndentHeredoc
72
- def table_template(skip_headers)
15
+ def template(options)
16
+ skip_headers = options[:skip_headers]
17
+
73
18
  <<~TEMPLATE
74
19
  #{"=== {{ definition.name }}" unless skip_headers}
75
20
  {{ definition.definition }}
@@ -100,6 +45,7 @@ module Metanorma
100
45
  end
101
46
  # rubocop:enable Layout/IndentHeredoc
102
47
  end
48
+
103
49
  end
104
50
  end
105
51
  end
@@ -0,0 +1,163 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "liquid"
4
+ require "asciidoctor"
5
+ require "asciidoctor/reader"
6
+ require "lutaml"
7
+ require "lutaml/uml"
8
+ require "metanorma/plugin/lutaml/utils"
9
+
10
+ module Metanorma
11
+ module Plugin
12
+ module Lutaml
13
+ # Macro for quick rendering of datamodel attributes/values table
14
+ # @example [lutaml_uml_class,path/to/lutaml,EntityName]
15
+ class LutamlUmlClassPreprocessor < Asciidoctor::Extensions::Preprocessor
16
+ MACRO_REGEXP =
17
+ /\[lutaml_uml_class,([^,]+),?([^,]+),?(.+?)?\]/
18
+
19
+ def get_macro_regexp
20
+ self.class.const_get(:MACRO_REGEXP)
21
+ end
22
+
23
+ # search document for block `datamodel_attributes_table`
24
+ # read include derectives that goes after that in block and transform
25
+ # into yaml2text blocks
26
+ def process(document, reader)
27
+ input_lines = reader.readlines.to_enum
28
+ Asciidoctor::Reader.new(processed_lines(document, input_lines))
29
+ end
30
+
31
+ private
32
+
33
+ def lutaml_document_from_file(document, file_path)
34
+ ::Lutaml::Parser.parse(
35
+ File.new(
36
+ Utils.relative_file_path(document, file_path),
37
+ encoding: "UTF-8")
38
+ ).first
39
+ end
40
+
41
+ DEFAULT_OPTIONS = {
42
+ depth: 2
43
+ }
44
+ def parse_options_to_hash(options_string)
45
+ return DEFAULT_OPTIONS.dup if options_string.nil? || options_string.empty?
46
+
47
+ opts = options_string.split(",").inject({}) do |acc,pair|
48
+ key, value = pair.split("=")
49
+ key = key.to_sym
50
+ value = true if value.nil?
51
+ value = value.to_i if key == :depth
52
+ acc[key] = value if key
53
+ acc
54
+ end
55
+
56
+ DEFAULT_OPTIONS.dup.merge(opts)
57
+ end
58
+
59
+ def processed_lines(document, input_lines)
60
+ input_lines.each_with_object([]) do |line, result|
61
+ if match = line.match(get_macro_regexp)
62
+ lutaml_path = match[1]
63
+ entity_name = match[2]
64
+ options = parse_options_to_hash(match[3])
65
+
66
+ result.push(*parse_marco(lutaml_path, entity_name, document, options))
67
+ else
68
+ result.push(line)
69
+ end
70
+ end
71
+ end
72
+
73
+ def parse_marco(lutaml_path, entity_name, document, options)
74
+ lutaml_document = lutaml_document_from_file(document, lutaml_path)
75
+ .serialized_document
76
+ entities = [lutaml_document["classes"], lutaml_document["enums"]]
77
+ .compact
78
+ .flatten
79
+ entity_definition = entities.detect do |klass|
80
+ klass["name"] == entity_name.strip
81
+ end
82
+ model_representation(entity_definition, document, options)
83
+ end
84
+
85
+ def model_representation(entity_definition, document, options)
86
+ render_result, errors = Utils.render_liquid_string(
87
+ template_string: template(options),
88
+ context_items: entity_definition,
89
+ context_name: "definition",
90
+ document: document
91
+ )
92
+ Utils.notify_render_errors(document, errors)
93
+ render_result.split("\n")
94
+ end
95
+
96
+ def equalsigns(depth)
97
+ "=" * depth
98
+ end
99
+
100
+ # rubocop:disable Layout/IndentHeredoc
101
+ def template(options)
102
+ skip_headers = options[:skip_headers]
103
+ depth = options[:depth]
104
+
105
+ <<~TEMPLATE
106
+ {% if definition.keyword == 'enumeration' %}
107
+ #{equalsigns(depth) + " Enumeration: {{ definition.name }}" unless skip_headers}
108
+ {% else %}
109
+ #{equalsigns(depth) + " Class: {{ definition.name }}" unless skip_headers}
110
+ {% endif %}
111
+
112
+ #{equalsigns(depth+1)} Description
113
+
114
+ {{ definition.definition }}
115
+
116
+ {% if definition.attributes %}
117
+ {% if definition.keyword == 'enumeration' %}
118
+ {% for item in definition.attributes %}
119
+ #{equalsigns(depth+1)} Enumeration value: {{item.name}}
120
+
121
+ {% if item.definition %}
122
+ {{ item.definition }}
123
+ {% endif %}
124
+
125
+ {% endfor %}
126
+
127
+ {% else %}
128
+
129
+ {% for item in definition.attributes %}
130
+ #{equalsigns(depth+1)} Attribute: {{item.name}}
131
+
132
+ {% if item.definition %}
133
+ {{ item.definition }}
134
+ {% endif %}
135
+
136
+ Value type and multiplicity:
137
+ {% if item.type -%}{{ item.type }}{% else -%}(no type specified){% endif %}
138
+ {% if item.cardinality.min -%}
139
+ {% if item.cardinality.max -%}
140
+ {blank}[{{item.cardinality.min}}..{{item.cardinality.max}}]
141
+ {% else -%}
142
+ {blank}[{{item.cardinality.min}}]
143
+ {% endif -%}
144
+ {% else -%}
145
+ (multiplicity unspecified)
146
+ {% endif %}
147
+
148
+ {% if item.origin %}
149
+ Origin: <<{{ item.origin }}>>
150
+ {% endif %}
151
+
152
+ {% endfor %}
153
+
154
+ {% endif %}
155
+ {% endif %}
156
+
157
+ TEMPLATE
158
+ end
159
+ # rubocop:enable Layout/IndentHeredoc
160
+ end
161
+ end
162
+ end
163
+ end
@@ -14,7 +14,7 @@ module Metanorma
14
14
  # @example [lutaml_uml_attributes_table,path/to/lutaml,EntityName]
15
15
  class LutamlUmlDatamodelDescriptionPreprocessor <
16
16
  Asciidoctor::Extensions::Preprocessor
17
- MARCO_REGEXP =
17
+ MACRO_REGEXP =
18
18
  /\[lutaml_uml_datamodel_description,([^,]+),?(.+)?\]/
19
19
  LIQUID_INCLUDE_PATH = File.join(
20
20
  Gem.loaded_specs["metanorma-plugin-lutaml"].full_gem_path,
@@ -72,7 +72,7 @@ module Metanorma
72
72
 
73
73
  def process_text_blocks(document, input_lines)
74
74
  line = input_lines.next
75
- block_match = line.match(MARCO_REGEXP)
75
+ block_match = line.match(MACRO_REGEXP)
76
76
  return [line] if block_match.nil?
77
77
 
78
78
  lutaml_document = lutaml_document_from_file_or_cache(document, block_match[1])
@@ -232,7 +232,7 @@ module Metanorma
232
232
  def model_representation(lutaml_document, document, additional_context, options)
233
233
  fill_in_entities_refs_attributes(document, lutaml_document, options)
234
234
  render_result, errors = Utils.render_liquid_string(
235
- template_string: table_template(options['section_depth'] || 2, options['render_style'], options['include_root']),
235
+ template_string: template(options['section_depth'] || 2, options['render_style'], options['include_root']),
236
236
  context_items: create_context_object(lutaml_document,
237
237
  additional_context,
238
238
  options),
@@ -244,7 +244,7 @@ module Metanorma
244
244
  render_result.split("\n")
245
245
  end
246
246
 
247
- def table_template(section_depth, render_style, include_root)
247
+ def template(section_depth, render_style, include_root)
248
248
  include_name = RENDER_STYLES_INCLUDES.fetch(render_style, DEFAULT_RENDER_INCLUDE)
249
249
  result = ""
250
250
  if include_root
@@ -1,3 +1,5 @@
1
+ require "expressir"
2
+ require "expressir/express/parser"
1
3
  require "expressir/express/cache"
2
4
  require "metanorma/plugin/lutaml/liquid/custom_filters"
3
5
  require "metanorma/plugin/lutaml/liquid/multiply_local_file_system"
@@ -1,7 +1,7 @@
1
1
  module Metanorma
2
2
  module Plugin
3
3
  module Lutaml
4
- VERSION = "0.4.14".freeze
4
+ VERSION = "0.4.18".freeze
5
5
  end
6
6
  end
7
7
  end
@@ -1,5 +1,6 @@
1
1
  require "metanorma/plugin/lutaml/version"
2
2
  require "metanorma/plugin/lutaml/lutaml_preprocessor"
3
+ require "metanorma/plugin/lutaml/lutaml_uml_class_preprocessor"
3
4
  require "metanorma/plugin/lutaml/lutaml_uml_attributes_table_preprocessor"
4
5
  require "metanorma/plugin/lutaml/lutaml_uml_datamodel_description_preprocessor"
5
6
  require "metanorma/plugin/lutaml/lutaml_diagram_block"
@@ -12,4 +13,15 @@ module Metanorma
12
13
  module Lutaml
13
14
  end
14
15
  end
16
+
17
+ Asciidoctor::Extensions.register do
18
+ preprocessor Metanorma::Plugin::Lutaml::LutamlPreprocessor
19
+ preprocessor Metanorma::Plugin::Lutaml::LutamlUmlAttributesTablePreprocessor
20
+ preprocessor Metanorma::Plugin::Lutaml::LutamlUmlDatamodelDescriptionPreprocessor
21
+ preprocessor Metanorma::Plugin::Lutaml::LutamlUmlClassPreprocessor
22
+ inline_macro Metanorma::Plugin::Lutaml::LutamlFigureInlineMacro
23
+ inline_macro Metanorma::Plugin::Lutaml::LutamlTableInlineMacro
24
+ block_macro Metanorma::Plugin::Lutaml::LutamlDiagramBlockMacro
25
+ block Metanorma::Plugin::Lutaml::LutamlDiagramBlock
26
+ end
15
27
  end
@@ -23,9 +23,10 @@ Gem::Specification.new do |spec|
23
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
24
  spec.require_paths = ["lib"]
25
25
 
26
+ spec.add_dependency "asciidoctor"
27
+ spec.add_dependency "expressir"
26
28
  spec.add_dependency "liquid"
27
29
  spec.add_dependency "lutaml"
28
- spec.add_dependency "metanorma"
29
30
  spec.add_dependency "relaton-cli"
30
31
  spec.add_dependency "reverse_adoc"
31
32
 
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-plugin-lutaml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.14
4
+ version: 0.4.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-23 00:00:00.000000000 Z
11
+ date: 2022-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: liquid
14
+ name: asciidoctor
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: lutaml
28
+ name: expressir
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,21 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: metanorma
42
+ name: liquid
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'
55
+ - !ruby/object:Gem::Dependency
56
+ name: lutaml
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - ">="
@@ -242,6 +256,7 @@ extensions: []
242
256
  extra_rdoc_files: []
243
257
  files:
244
258
  - ".github/workflows/rake.yml"
259
+ - ".github/workflows/release.yml"
245
260
  - ".gitignore"
246
261
  - ".hound.yml"
247
262
  - ".rubocop.yml"
@@ -277,11 +292,11 @@ files:
277
292
  - lib/metanorma/plugin/lutaml/lutaml_preprocessor.rb
278
293
  - lib/metanorma/plugin/lutaml/lutaml_table_inline_macro.rb
279
294
  - lib/metanorma/plugin/lutaml/lutaml_uml_attributes_table_preprocessor.rb
295
+ - lib/metanorma/plugin/lutaml/lutaml_uml_class_preprocessor.rb
280
296
  - lib/metanorma/plugin/lutaml/lutaml_uml_datamodel_description_preprocessor.rb
281
297
  - lib/metanorma/plugin/lutaml/utils.rb
282
298
  - lib/metanorma/plugin/lutaml/version.rb
283
299
  - metanorma-plugin-lutaml.gemspec
284
- - pkg/metanorma-plugin-lutaml-0.2.0.gem
285
300
  homepage: https://github.com/metanorma/metanorma-plugin-lutaml
286
301
  licenses:
287
302
  - BSD-2-Clause
@@ -301,7 +316,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
301
316
  - !ruby/object:Gem::Version
302
317
  version: '0'
303
318
  requirements: []
304
- rubygems_version: 3.2.22
319
+ rubygems_version: 3.3.16
305
320
  signing_key:
306
321
  specification_version: 4
307
322
  summary: Metanorma plugin for LutaML
Binary file