lutaml 0.9.39 → 0.9.41

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.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +7 -1
  3. data/docs/lutaml-express.adoc +35 -0
  4. data/docs/lutaml-sysml.adoc +10 -0
  5. data/docs/lutaml-uml.adoc +111 -0
  6. data/docs/lutaml-xmi.adoc +33 -0
  7. data/exe/lutaml-yaml2uml +1 -1
  8. data/lib/lutaml/command_line.rb +1 -1
  9. data/lib/lutaml/converter/dsl_to_uml.rb +235 -0
  10. data/lib/lutaml/converter/xmi_hash_to_uml.rb +196 -0
  11. data/lib/lutaml/express.rb +0 -1
  12. data/lib/lutaml/formatter/base.rb +7 -7
  13. data/lib/lutaml/formatter/graphviz.rb +19 -8
  14. data/lib/lutaml/formatter.rb +0 -2
  15. data/lib/lutaml/parser.rb +1 -1
  16. data/lib/lutaml/sysml/allocate.rb +1 -1
  17. data/lib/lutaml/sysml/allocated.rb +1 -1
  18. data/lib/lutaml/sysml/binding_connector.rb +1 -1
  19. data/lib/lutaml/sysml/block.rb +1 -1
  20. data/lib/lutaml/sysml/constraint_block.rb +1 -1
  21. data/lib/lutaml/sysml/copy.rb +1 -1
  22. data/lib/lutaml/sysml/derive_requirement.rb +1 -1
  23. data/lib/lutaml/sysml/nested_connector_end.rb +1 -1
  24. data/lib/lutaml/sysml/refine.rb +1 -1
  25. data/lib/lutaml/sysml/requirement_related.rb +1 -1
  26. data/lib/lutaml/sysml/satisfy.rb +1 -1
  27. data/lib/lutaml/sysml/test_case.rb +1 -1
  28. data/lib/lutaml/sysml/trace.rb +1 -1
  29. data/lib/lutaml/sysml/verify.rb +1 -1
  30. data/lib/lutaml/sysml/xmi_file.rb +1 -1
  31. data/lib/lutaml/sysml.rb +0 -1
  32. data/lib/lutaml/uml/action.rb +15 -0
  33. data/lib/lutaml/uml/actor.rb +0 -8
  34. data/lib/lutaml/uml/association.rb +25 -34
  35. data/lib/lutaml/uml/cardinality.rb +10 -0
  36. data/lib/lutaml/uml/class.rb +43 -68
  37. data/lib/lutaml/uml/classifier.rb +5 -3
  38. data/lib/lutaml/uml/connector.rb +5 -8
  39. data/lib/lutaml/uml/connector_end.rb +20 -0
  40. data/lib/lutaml/uml/constraint.rb +11 -1
  41. data/lib/lutaml/uml/data_type.rb +48 -64
  42. data/lib/lutaml/uml/dependency.rb +5 -8
  43. data/lib/lutaml/uml/document.rb +46 -73
  44. data/lib/lutaml/uml/enum.rb +12 -35
  45. data/lib/lutaml/uml/event.rb +0 -1
  46. data/lib/lutaml/uml/fidelity.rb +10 -0
  47. data/lib/lutaml/uml/group.rb +17 -0
  48. data/lib/lutaml/uml/instance.rb +5 -7
  49. data/lib/lutaml/uml/model.rb +3 -3
  50. data/lib/lutaml/uml/namespace.rb +10 -0
  51. data/lib/lutaml/uml/node/base.rb +1 -1
  52. data/lib/lutaml/uml/operation.rb +6 -22
  53. data/lib/lutaml/uml/package.rb +23 -44
  54. data/lib/lutaml/uml/parsers/dsl.rb +5 -2
  55. data/lib/lutaml/uml/parsers/yaml.rb +2 -28
  56. data/lib/lutaml/uml/primitive_type.rb +3 -4
  57. data/lib/lutaml/uml/property.rb +15 -17
  58. data/lib/lutaml/uml/region.rb +0 -1
  59. data/lib/lutaml/uml/state.rb +9 -1
  60. data/lib/lutaml/uml/state_machine.rb +0 -1
  61. data/lib/lutaml/uml/top_element.rb +61 -39
  62. data/lib/lutaml/uml/top_element_attribute.rb +33 -22
  63. data/lib/lutaml/uml/transition.rb +11 -1
  64. data/lib/lutaml/uml/trigger.rb +5 -1
  65. data/lib/lutaml/uml/value.rb +18 -14
  66. data/lib/lutaml/uml.rb +40 -2
  67. data/lib/lutaml/version.rb +1 -1
  68. data/lib/lutaml/xmi/liquid_drops/enum_drop.rb +1 -1
  69. data/lib/lutaml/xmi/liquid_drops/klass_drop.rb +2 -1
  70. data/lib/lutaml/xmi/parsers/xmi_base.rb +20 -2
  71. data/lib/lutaml/xmi/parsers/xml.rb +5 -4
  72. metadata +15 -19
  73. data/lib/lutaml/express/README.adoc +0 -55
  74. data/lib/lutaml/express/version.rb +0 -7
  75. data/lib/lutaml/sysml/README.md +0 -40
  76. data/lib/lutaml/sysml/version.rb +0 -5
  77. data/lib/lutaml/uml/README.adoc +0 -44
  78. data/lib/lutaml/uml/constructor_end.rb +0 -16
  79. data/lib/lutaml/uml/formatter/base.rb +0 -67
  80. data/lib/lutaml/uml/formatter/graphviz.rb +0 -332
  81. data/lib/lutaml/uml/formatter.rb +0 -21
  82. data/lib/lutaml/uml/serializers/association.rb +0 -58
  83. data/lib/lutaml/uml/serializers/base.rb +0 -16
  84. data/lib/lutaml/uml/serializers/class.rb +0 -29
  85. data/lib/lutaml/uml/serializers/top_element_attribute.rb +0 -14
  86. data/lib/lutaml/uml/serializers/yaml_view.rb +0 -18
  87. data/lib/lutaml/uml/version.rb +0 -7
  88. data/lib/lutaml/xmi/README.adoc +0 -24
  89. /data/{LUTAML.adoc → docs/lutaml_syntax.adoc} +0 -0
@@ -3,24 +3,22 @@
3
3
  module Lutaml
4
4
  module Uml
5
5
  class Property < TopElement
6
- attr_accessor :type, # rubocop:disable Naming/MethodName
7
- :aggregation,
8
- :association,
9
- :is_derived,
10
- :lowerValue,
11
- :upperValue
6
+ attribute :type, :string
7
+ attribute :aggregation, :string
8
+ attribute :association, :string
9
+ attribute :is_derived, :boolean, default: false
10
+ attribute :visibility, :string, default: "public"
11
+ attribute :lowerValue, :string, default: "1"
12
+ attribute :upperValue, :string, default: "1"
12
13
 
13
- def initialize # rubocop:disable Lint/MissingSuper
14
- @name = nil
15
- @xmi_id = nil
16
- @xmi_uuid = nil
17
- @aggregation = nil
18
- @association = nil
19
- @namespace = nil
20
- @is_derived = false
21
- @visibility = "public"
22
- @lowerValue = "1" # rubocop:disable Naming/VariableName
23
- @upperValue = "1" # rubocop:disable Naming/VariableName
14
+ yaml do
15
+ map "type", to: :type
16
+ map "aggregation", to: :aggregation
17
+ map "association", to: :association
18
+ map "is_derived", to: :is_derived
19
+ map "visibility", to: :visibility
20
+ map "lowerValue", to: :lowerValue
21
+ map "upperValue", to: :upperValue
24
22
  end
25
23
  end
26
24
  end
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## Behaviour metamodel
5
5
  ##
6
-
7
6
  module Lutaml
8
7
  module Uml
9
8
  class Region < TopElement
@@ -6,7 +6,15 @@
6
6
  module Lutaml
7
7
  module Uml
8
8
  class State < Vertex
9
- attr_accessor :exit, :entry, :do_activity
9
+ attribute :exit, :string
10
+ attribute :entry, :string
11
+ attribute :do_activity, :string
12
+
13
+ yaml do
14
+ map "exit", to: :exit
15
+ map "entry", to: :entry
16
+ map "do_activity", to: :do_activity
17
+ end
10
18
  end
11
19
  end
12
20
  end
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## Behaviour metamodel
5
5
  ##
6
-
7
6
  module Lutaml
8
7
  module Uml
9
8
  class StateMachine < Behavior
@@ -2,57 +2,79 @@
2
2
 
3
3
  module Lutaml
4
4
  module Uml
5
- class TopElement
6
- include HasAttributes
7
-
8
- attr_reader :definition
9
- attr_accessor :name,
10
- :xmi_id,
11
- :xmi_uuid,
12
- :namespace,
13
- :keyword,
14
- :stereotype,
15
- :href,
16
- :visibility,
17
- :comments
18
-
19
- # rubocop:disable Rails/ActiveRecordAliases
20
- def initialize(attributes = {})
21
- @visibility = "public"
22
- @name = attributes["name"]
23
- update_attributes(attributes)
24
- end
25
- # rubocop:enable Rails/ActiveRecordAliases
5
+ class TopElement < Lutaml::Model::Serializable
6
+ attribute :name, :string
7
+ attribute :xmi_id, :string
8
+ attribute :xmi_uuid, :string
9
+ attribute :namespace, NameSpace
10
+ attribute :keyword, :string
11
+ attribute :stereotype, :string, collection: true, default: -> { [] }
12
+ attribute :href, :string
13
+ attribute :visibility, :string, default: "public"
14
+ attribute :comments, :string, collection: true
26
15
 
27
- def full_name # rubocop:disable Metrics/MethodLength
28
- if name == nil
29
- return nil
30
- end
16
+ attribute :definition, :string
17
+ attribute :full_name, :string
31
18
 
32
- the_name = name
33
- next_namespace = namespace
19
+ yaml do
20
+ map "name", to: :name
21
+ map "xmi_id", to: :xmi_id
22
+ map "xmi_uuid", to: :xmi_uuid
23
+ map "namespace", to: :namespace
24
+ map "keyword", to: :keyword
25
+ map "stereotype", to: :stereotype
26
+ map "href", to: :href
27
+ map "visibility", to: :visibility
28
+ map "comments", to: :comments
34
29
 
35
- while !next_namespace.nil?
36
- the_name = if next_namespace.name.nil?
37
- "::#{the_name}"
38
- else
39
- "#{next_namespace.name}::#{the_name}"
40
- end
41
- next_namespace = next_namespace.namespace
42
- end
30
+ map "definition", to: :definition, with: {
31
+ to: :definition_to_yaml, from: :definition_from_yaml
32
+ }
33
+ map "full_name", with: {
34
+ to: :full_name_to_yaml, from: :full_name_from_yaml
35
+ }
36
+ end
43
37
 
44
- the_name
38
+ def definition_to_yaml(model, doc)
39
+ doc["definition"] = model.definition if model.definition
45
40
  end
46
41
 
47
- def definition=(value)
48
- @definition = value
49
- .to_s
42
+ def definition_from_yaml(model, value)
43
+ model.definition = value.to_s
50
44
  .gsub(/\\}/, "}")
51
45
  .gsub(/\\{/, "{")
52
46
  .split("\n")
53
47
  .map(&:strip)
54
48
  .join("\n")
55
49
  end
50
+
51
+ def full_name_to_yaml(model, doc) # rubocop:disable Metrics/MethodLength
52
+ return model.full_name if model.full_name
53
+
54
+ # If full_name is not set, calculate it
55
+ full_name = nil
56
+ if model.name == nil
57
+ return full_name
58
+ end
59
+
60
+ full_name = model.name
61
+ next_namespace = model.namespace
62
+
63
+ while !next_namespace.nil?
64
+ full_name = if next_namespace.name.nil?
65
+ "::#{full_name}"
66
+ else
67
+ "#{next_namespace.name}::#{full_name}"
68
+ end
69
+ next_namespace = next_namespace.namespace
70
+ end
71
+
72
+ doc["full_name"] = full_name
73
+ end
74
+
75
+ def full_name_from_yaml(model, value)
76
+ model.full_name = value
77
+ end
56
78
  end
57
79
  end
58
80
  end
@@ -2,32 +2,43 @@
2
2
 
3
3
  module Lutaml
4
4
  module Uml
5
- class TopElementAttribute
6
- include HasAttributes
7
- include HasMembers
5
+ class TopElementAttribute < Lutaml::Model::Serializable
6
+ attribute :name, :string
7
+ attribute :visibility, :string, default: "public"
8
+ attribute :type, :string
9
+ attribute :id, :string
10
+ attribute :xmi_id, :string
11
+ attribute :contain, :string
12
+ attribute :static, :string
13
+ attribute :cardinality, Cardinality
14
+ attribute :keyword, :string
15
+ attribute :is_derived, :boolean, default: false
8
16
 
9
- attr_reader :definition
10
- attr_accessor :name,
11
- :visibility,
12
- :type,
13
- :id,
14
- :xmi_id,
15
- :contain,
16
- :static,
17
- :cardinality,
18
- :keyword,
19
- :is_derived
17
+ attribute :definition, :string
20
18
 
21
- # rubocop:disable Rails/ActiveRecordAliases
22
- def initialize(attributes = {})
23
- @visibility = "public"
24
- update_attributes(attributes)
19
+ yaml do
20
+ map "name", to: :name
21
+ map "visibility", to: :visibility
22
+ map "type", to: :type
23
+ map "id", to: :id
24
+ map "xmi_id", to: :xmi_id
25
+ map "contain", to: :contain
26
+ map "static", to: :static
27
+ map "cardinality", to: :cardinality
28
+ map "keyword", to: :keyword
29
+ map "is_derived", to: :is_derived
30
+
31
+ map "definition", to: :definition, with: {
32
+ to: :definition_to_yaml, from: :definition_from_yaml
33
+ }
34
+ end
35
+
36
+ def definition_to_yaml(model, doc)
37
+ doc["definition"] = model.definition if model.definition
25
38
  end
26
- # rubocop:enable Rails/ActiveRecordAliases
27
39
 
28
- def definition=(value)
29
- @definition = value
30
- .to_s
40
+ def definition_from_yaml(model, value)
41
+ model.definition = value.to_s
31
42
  .gsub(/\\}/, "}")
32
43
  .gsub(/\\{/, "{")
33
44
  .split("\n")
@@ -6,7 +6,17 @@
6
6
  module Lutaml
7
7
  module Uml
8
8
  class Transition < TopElement
9
- attr_accessor :source, :target, :guard, :effect
9
+ attribute :source, :string
10
+ attribute :target, :string
11
+ attribute :guard, :string
12
+ attribute :effect, :string
13
+
14
+ yaml do
15
+ map "source", to: :source
16
+ map "target", to: :target
17
+ map "guard", to: :guard
18
+ map "effect", to: :effect
19
+ end
10
20
  end
11
21
  end
12
22
  end
@@ -6,7 +6,11 @@
6
6
  module Lutaml
7
7
  module Uml
8
8
  class Trigger < TopElement
9
- attr_accessor :event
9
+ attribute :event, :string
10
+
11
+ yaml do
12
+ map "event", to: :event
13
+ end
10
14
  end
11
15
  end
12
16
  end
@@ -2,24 +2,28 @@
2
2
 
3
3
  module Lutaml
4
4
  module Uml
5
- class Value
6
- include HasAttributes
7
- include HasMembers
5
+ class Value < Lutaml::Model::Serializable
6
+ attribute :definition, :string
7
+ attribute :name, :string
8
+ attribute :id, :string
9
+ attribute :type, :string
8
10
 
9
- attr_reader :definition
10
- attr_accessor :name,
11
- :id,
12
- :type
11
+ yaml do
12
+ map "name", to: :name
13
+ map "id", to: :id
14
+ map "type", to: :type
13
15
 
14
- # rubocop:disable Rails/ActiveRecordAliases
15
- def initialize(attributes = {})
16
- update_attributes(attributes)
16
+ map "definition", to: :definition, with: {
17
+ to: :definition_to_yaml, from: :definition_from_yaml
18
+ }
17
19
  end
18
- # rubocop:enable Rails/ActiveRecordAliases
19
20
 
20
- def definition=(value)
21
- @definition = value
22
- .to_s
21
+ def definition_to_yaml(model, doc)
22
+ doc["definition"] = model.definition if model.definition
23
+ end
24
+
25
+ def definition_from_yaml(model, value)
26
+ model.definition = value.to_s
23
27
  .gsub(/\\}/, "}")
24
28
  .gsub(/\\{/, "{")
25
29
  .split("\n")
data/lib/lutaml/uml.rb CHANGED
@@ -1,10 +1,48 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/uml/version"
3
+ require "lutaml/model"
4
+
5
+ require "lutaml/uml/has_attributes"
6
+ require "lutaml/uml/has_members"
7
+ require "lutaml/uml/namespace"
8
+ require "lutaml/uml/cardinality"
9
+ require "lutaml/uml/fidelity"
10
+ require "lutaml/uml/top_element"
11
+ require "lutaml/uml/top_element_attribute"
12
+ require "lutaml/uml/value"
13
+ require "lutaml/uml/action"
14
+ require "lutaml/uml/classifier"
15
+ require "lutaml/uml/dependency"
16
+ require "lutaml/uml/association"
17
+ require "lutaml/uml/constraint"
18
+ require "lutaml/uml/operation"
19
+ require "lutaml/uml/class"
20
+ require "lutaml/uml/data_type"
21
+ require "lutaml/uml/enum"
22
+ require "lutaml/uml/diagram"
23
+ require "lutaml/uml/package"
24
+ require "lutaml/uml/primitive_type"
25
+ require "lutaml/uml/group"
26
+ require "lutaml/uml/connector"
27
+ require "lutaml/uml/connector_end"
28
+ require "lutaml/uml/behavior"
29
+ require "lutaml/uml/activity"
30
+ require "lutaml/uml/vertex"
31
+ require "lutaml/uml/state"
32
+ require "lutaml/uml/final_state"
33
+ require "lutaml/uml/property"
34
+ require "lutaml/uml/port"
35
+ require "lutaml/uml/document"
36
+
4
37
  require "lutaml/uml/parsers/dsl"
5
38
  require "lutaml/uml/parsers/yaml"
6
39
  require "lutaml/uml/parsers/attribute"
7
- require "lutaml/uml/formatter"
40
+ require "lutaml/formatter"
41
+ require "lutaml/formatter/graphviz"
42
+
43
+ Dir.glob(File.expand_path("./uml/**/*.rb", __dir__)).sort.each do |file|
44
+ require file
45
+ end
8
46
 
9
47
  module Lutaml
10
48
  module Uml
@@ -1,3 +1,3 @@
1
1
  module Lutaml
2
- VERSION = "0.9.39".freeze
2
+ VERSION = "0.9.41".freeze
3
3
  end
@@ -46,7 +46,7 @@ module Lutaml
46
46
  end
47
47
 
48
48
  def subtype_of
49
- find_subtype_of(@model.id)
49
+ find_subtype_of_from_owned_attribute_type(@model.id)
50
50
  end
51
51
  end
52
52
  end
@@ -186,7 +186,8 @@ module Lutaml
186
186
  end
187
187
 
188
188
  def subtype_of
189
- find_subtype_of(@model.id)
189
+ find_subtype_of_from_generalization(@model.id) ||
190
+ find_subtype_of_from_owned_attribute_type(@model.id)
190
191
  end
191
192
 
192
193
  def has_guidance?
@@ -297,7 +297,7 @@ module Lutaml
297
297
  @upper_level_cache[klass_id]
298
298
  end
299
299
 
300
- def find_subtype_of(id) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity
300
+ def find_subtype_of_from_owned_attribute_type(id) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity
301
301
  @pkg_elements_owned_attributes ||= all_packaged_elements.map do |e|
302
302
  {
303
303
  name: e.name,
@@ -306,7 +306,6 @@ module Lutaml
306
306
  end || [],
307
307
  }
308
308
  end
309
-
310
309
  result = @pkg_elements_owned_attributes.find do |e|
311
310
  e[:idrefs].include?(id)
312
311
  end
@@ -314,6 +313,25 @@ module Lutaml
314
313
  result[:name] if result
315
314
  end
316
315
 
316
+ def find_subtype_of_from_generalization(id) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity
317
+ matched_element = @xmi_root_model.extension.elements.element
318
+ .find { |e| e.idref == id }
319
+
320
+ return if !matched_element || !matched_element.links
321
+
322
+ matched_generalization = nil
323
+ matched_element.links.each do |link|
324
+ matched_generalization = link&.generalization&.find do |g|
325
+ g.start == id
326
+ end
327
+ break if matched_generalization
328
+ end
329
+
330
+ return if matched_generalization&.end.nil?
331
+
332
+ lookup_entity_name(matched_generalization.end)
333
+ end
334
+
317
335
  # Build cache once for all packaged elements
318
336
  def build_upper_level_cache
319
337
  @upper_level_cache = {}
@@ -1,16 +1,18 @@
1
1
  require "nokogiri"
2
2
  require "htmlentities"
3
- require "lutaml/uml/has_attributes"
4
- require "lutaml/uml/document"
5
3
  require "lutaml/xmi"
6
4
  require "xmi"
7
5
  require "lutaml/xmi/parsers/xmi_base"
6
+ require "lutaml/uml"
7
+ require "lutaml/converter/xmi_hash_to_uml"
8
8
 
9
9
  module Lutaml
10
10
  module XMI
11
11
  module Parsers
12
12
  # Class for parsing .xmi schema files into ::Lutaml::Uml::Document
13
13
  class XML
14
+ include Lutaml::Converter::XmiHashToUml
15
+
14
16
  @id_name_mapping_static = {}
15
17
  @xmi_root_model_cache_static = {}
16
18
 
@@ -98,8 +100,7 @@ module Lutaml
98
100
  def parse(xmi_model)
99
101
  set_xmi_model(xmi_model)
100
102
  serialized_hash = serialize_xmi(xmi_model)
101
-
102
- ::Lutaml::Uml::Document.new(serialized_hash)
103
+ create_uml_document(serialized_hash)
103
104
  end
104
105
 
105
106
  # @param xmi_model [Lutaml::Model::Serializable]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lutaml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.39
4
+ version: 0.9.41
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-08-19 00:00:00.000000000 Z
11
+ date: 2025-09-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: expressir
@@ -197,7 +197,6 @@ files:
197
197
  - ".rubocop.yml"
198
198
  - CODE_OF_CONDUCT.md
199
199
  - Gemfile
200
- - LUTAML.adoc
201
200
  - Makefile
202
201
  - README.adoc
203
202
  - Rakefile
@@ -206,16 +205,21 @@ files:
206
205
  - bin/plantuml2lutaml
207
206
  - bin/setup
208
207
  - bin/yaml2lutaml
208
+ - docs/lutaml-express.adoc
209
+ - docs/lutaml-sysml.adoc
210
+ - docs/lutaml-uml.adoc
211
+ - docs/lutaml-xmi.adoc
212
+ - docs/lutaml_syntax.adoc
209
213
  - exe/lutaml
210
214
  - exe/lutaml-sysml
211
215
  - exe/lutaml-wsd2uml
212
216
  - exe/lutaml-yaml2uml
213
217
  - lib/lutaml.rb
214
218
  - lib/lutaml/command_line.rb
219
+ - lib/lutaml/converter/dsl_to_uml.rb
220
+ - lib/lutaml/converter/xmi_hash_to_uml.rb
215
221
  - lib/lutaml/express.rb
216
- - lib/lutaml/express/README.adoc
217
222
  - lib/lutaml/express/parsers/exp.rb
218
- - lib/lutaml/express/version.rb
219
223
  - lib/lutaml/formatter.rb
220
224
  - lib/lutaml/formatter/base.rb
221
225
  - lib/lutaml/formatter/graphviz.rb
@@ -223,7 +227,6 @@ files:
223
227
  - lib/lutaml/layout/graph_viz_engine.rb
224
228
  - lib/lutaml/parser.rb
225
229
  - lib/lutaml/sysml.rb
226
- - lib/lutaml/sysml/README.md
227
230
  - lib/lutaml/sysml/allocate.rb
228
231
  - lib/lutaml/sysml/allocated.rb
229
232
  - lib/lutaml/sysml/binding_connector.rb
@@ -239,34 +242,34 @@ files:
239
242
  - lib/lutaml/sysml/test_case.rb
240
243
  - lib/lutaml/sysml/trace.rb
241
244
  - lib/lutaml/sysml/verify.rb
242
- - lib/lutaml/sysml/version.rb
243
245
  - lib/lutaml/sysml/xmi_file.rb
244
246
  - lib/lutaml/uml.rb
245
- - lib/lutaml/uml/README.adoc
246
247
  - lib/lutaml/uml/abstraction.rb
248
+ - lib/lutaml/uml/action.rb
247
249
  - lib/lutaml/uml/activity.rb
248
250
  - lib/lutaml/uml/actor.rb
249
251
  - lib/lutaml/uml/association.rb
250
252
  - lib/lutaml/uml/behavior.rb
253
+ - lib/lutaml/uml/cardinality.rb
251
254
  - lib/lutaml/uml/class.rb
252
255
  - lib/lutaml/uml/classifier.rb
253
256
  - lib/lutaml/uml/connector.rb
257
+ - lib/lutaml/uml/connector_end.rb
254
258
  - lib/lutaml/uml/constraint.rb
255
- - lib/lutaml/uml/constructor_end.rb
256
259
  - lib/lutaml/uml/data_type.rb
257
260
  - lib/lutaml/uml/dependency.rb
258
261
  - lib/lutaml/uml/diagram.rb
259
262
  - lib/lutaml/uml/document.rb
260
263
  - lib/lutaml/uml/enum.rb
261
264
  - lib/lutaml/uml/event.rb
265
+ - lib/lutaml/uml/fidelity.rb
262
266
  - lib/lutaml/uml/final_state.rb
263
- - lib/lutaml/uml/formatter.rb
264
- - lib/lutaml/uml/formatter/base.rb
265
- - lib/lutaml/uml/formatter/graphviz.rb
267
+ - lib/lutaml/uml/group.rb
266
268
  - lib/lutaml/uml/has_attributes.rb
267
269
  - lib/lutaml/uml/has_members.rb
268
270
  - lib/lutaml/uml/instance.rb
269
271
  - lib/lutaml/uml/model.rb
272
+ - lib/lutaml/uml/namespace.rb
270
273
  - lib/lutaml/uml/node/base.rb
271
274
  - lib/lutaml/uml/node/class_node.rb
272
275
  - lib/lutaml/uml/node/class_relationship.rb
@@ -291,11 +294,6 @@ files:
291
294
  - lib/lutaml/uml/pseudostate.rb
292
295
  - lib/lutaml/uml/realization.rb
293
296
  - lib/lutaml/uml/region.rb
294
- - lib/lutaml/uml/serializers/association.rb
295
- - lib/lutaml/uml/serializers/base.rb
296
- - lib/lutaml/uml/serializers/class.rb
297
- - lib/lutaml/uml/serializers/top_element_attribute.rb
298
- - lib/lutaml/uml/serializers/yaml_view.rb
299
297
  - lib/lutaml/uml/state.rb
300
298
  - lib/lutaml/uml/state_machine.rb
301
299
  - lib/lutaml/uml/top_element.rb
@@ -303,11 +301,9 @@ files:
303
301
  - lib/lutaml/uml/transition.rb
304
302
  - lib/lutaml/uml/trigger.rb
305
303
  - lib/lutaml/uml/value.rb
306
- - lib/lutaml/uml/version.rb
307
304
  - lib/lutaml/uml/vertex.rb
308
305
  - lib/lutaml/version.rb
309
306
  - lib/lutaml/xmi.rb
310
- - lib/lutaml/xmi/README.adoc
311
307
  - lib/lutaml/xmi/liquid_drops/association_drop.rb
312
308
  - lib/lutaml/xmi/liquid_drops/attribute_drop.rb
313
309
  - lib/lutaml/xmi/liquid_drops/cardinality_drop.rb
@@ -1,55 +0,0 @@
1
- image:https://img.shields.io/gem/v/lutaml-express.svg["Gem Version", link="https://rubygems.org/gems/lutaml-express"]
2
- // image:https://codeclimate.com/github/lutaml/lutaml-express/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/lutaml/lutaml-express"]
3
- image:https://github.com/lutaml/lutaml-express/workflows/rake/badge.svg["Build Status", link="https://github.com/lutaml/lutaml-express/actions?workflow=rake"]
4
-
5
- = lutaml-express
6
-
7
- == Functionality
8
-
9
- Gem-extention for lutaml, works with EXPRESS files
10
-
11
- === Installation
12
-
13
- With bundler:
14
-
15
- [source,ruby]
16
- ----
17
- # Gemfile
18
- gem "lutaml-express"
19
- ----
20
-
21
- Then in console:
22
-
23
- [source,console]
24
- ----
25
- $ bundle
26
- ----
27
-
28
- With RubyGems:
29
-
30
- [source,console]
31
- ----
32
- $ gem install lutaml-express
33
- ----
34
-
35
- === Usage
36
-
37
- [source,ruby]
38
- ----
39
- Lutaml::Express::Parsers::Exp.parse(File.new('/path/to/file.exp')) # => Expressir::Model::Repository
40
- ----
41
-
42
- == Development
43
-
44
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
45
-
46
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
47
-
48
- ## Contributing
49
-
50
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/lutaml-express. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/lutaml-express/blob/master/CODE_OF_CONDUCT.md).
51
-
52
-
53
- == Code of Conduct
54
-
55
- Everyone interacting in the Lutaml::Uml project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/lutaml-express/blob/master/CODE_OF_CONDUCT.md).