lutaml 0.9.27 → 0.9.29

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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +36 -35
  3. data/bin/plantuml2lutaml +11 -7
  4. data/bin/yaml2lutaml +1 -1
  5. data/exe/lutaml-sysml +4 -2
  6. data/exe/lutaml-wsd2uml +11 -7
  7. data/exe/lutaml-yaml2uml +1 -1
  8. data/lib/lutaml/express/parsers/exp.rb +4 -4
  9. data/lib/lutaml/formatter/graphviz.rb +7 -7
  10. data/lib/lutaml/parser.rb +3 -31
  11. data/lib/lutaml/sysml/allocate.rb +6 -7
  12. data/lib/lutaml/sysml/allocated.rb +6 -6
  13. data/lib/lutaml/sysml/binding_connector.rb +6 -6
  14. data/lib/lutaml/sysml/block.rb +28 -25
  15. data/lib/lutaml/sysml/constraint_block.rb +11 -11
  16. data/lib/lutaml/sysml/copy.rb +5 -5
  17. data/lib/lutaml/sysml/derive_requirement.rb +6 -6
  18. data/lib/lutaml/sysml/nested_connector_end.rb +9 -9
  19. data/lib/lutaml/sysml/refine.rb +6 -6
  20. data/lib/lutaml/sysml/requirement_related.rb +6 -6
  21. data/lib/lutaml/sysml/satisfy.rb +6 -6
  22. data/lib/lutaml/sysml/test_case.rb +20 -19
  23. data/lib/lutaml/sysml/trace.rb +6 -6
  24. data/lib/lutaml/sysml/verify.rb +5 -5
  25. data/lib/lutaml/sysml/version.rb +1 -1
  26. data/lib/lutaml/sysml/xmi_file.rb +455 -415
  27. data/lib/lutaml/sysml.rb +1 -1
  28. data/lib/lutaml/uml/association.rb +4 -3
  29. data/lib/lutaml/uml/data_type.rb +1 -0
  30. data/lib/lutaml/uml/document.rb +4 -1
  31. data/lib/lutaml/uml/formatter/graphviz.rb +11 -13
  32. data/lib/lutaml/uml/has_attributes.rb +2 -2
  33. data/lib/lutaml/uml/has_members.rb +4 -3
  34. data/lib/lutaml/uml/node/class_node.rb +5 -7
  35. data/lib/lutaml/uml/node/field.rb +1 -3
  36. data/lib/lutaml/uml/node/method.rb +1 -3
  37. data/lib/lutaml/uml/node/relationship.rb +1 -3
  38. data/lib/lutaml/uml/operation.rb +6 -6
  39. data/lib/lutaml/uml/package.rb +3 -1
  40. data/lib/lutaml/uml/parsers/attribute.rb +1 -3
  41. data/lib/lutaml/uml/parsers/dsl.rb +11 -10
  42. data/lib/lutaml/uml/parsers/dsl_preprocessor.rb +7 -6
  43. data/lib/lutaml/uml/parsers/yaml.rb +2 -2
  44. data/lib/lutaml/uml/serializers/class.rb +1 -1
  45. data/lib/lutaml/uml/top_element.rb +9 -9
  46. data/lib/lutaml/uml/top_element_attribute.rb +6 -6
  47. data/lib/lutaml/uml/value.rb +6 -6
  48. data/lib/lutaml/version.rb +1 -1
  49. data/lib/lutaml/xmi/liquid_drops/association_drop.rb +31 -11
  50. data/lib/lutaml/xmi/liquid_drops/attribute_drop.rb +29 -11
  51. data/lib/lutaml/xmi/liquid_drops/cardinality_drop.rb +8 -2
  52. data/lib/lutaml/xmi/liquid_drops/constraint_drop.rb +6 -4
  53. data/lib/lutaml/xmi/liquid_drops/data_type_drop.rb +76 -18
  54. data/lib/lutaml/xmi/liquid_drops/diagram_drop.rb +13 -6
  55. data/lib/lutaml/xmi/liquid_drops/enum_drop.rb +16 -7
  56. data/lib/lutaml/xmi/liquid_drops/enum_owned_literal_drop.rb +10 -4
  57. data/lib/lutaml/xmi/liquid_drops/generalization_attribute_drop.rb +2 -0
  58. data/lib/lutaml/xmi/liquid_drops/generalization_drop.rb +10 -3
  59. data/lib/lutaml/xmi/liquid_drops/klass_drop.rb +98 -24
  60. data/lib/lutaml/xmi/liquid_drops/operation_drop.rb +11 -5
  61. data/lib/lutaml/xmi/liquid_drops/package_drop.rb +61 -18
  62. data/lib/lutaml/xmi/liquid_drops/root_drop.rb +14 -4
  63. data/lib/lutaml/xmi/parsers/xmi_base.rb +1031 -0
  64. data/lib/lutaml/xmi/parsers/xml.rb +23 -1018
  65. data/lib/lutaml/xml/parsers/xml.rb +6 -19
  66. data/lib/lutaml/xml.rb +0 -8
  67. data/lutaml.gemspec +2 -1
  68. metadata +32 -23
  69. data/lib/lutaml/express/lutaml_path/document_wrapper.rb +0 -22
  70. data/lib/lutaml/express/lutaml_path/formatter.rb +0 -14
  71. data/lib/lutaml/lutaml_path/document_wrapper.rb +0 -51
  72. data/lib/lutaml/uml/lutaml_path/document_wrapper.rb +0 -15
  73. data/lib/lutaml/xml/lutaml_path/document_wrapper.rb +0 -45
  74. data/lib/lutaml/xml/mapper.rb +0 -448
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc816228e490e9cba017c32c1e0d863e5432b3a8f94ebb1ac35661f6e740ef0a
4
- data.tar.gz: 00bb2cdbd8067e59e4b72917277bb885d9e33431b34e657237d8d22388d85776
3
+ metadata.gz: 9906a661e00ac7afb79f61a10c4d73e07ee9103028aab33e7364d50e1e5a45c0
4
+ data.tar.gz: eebdee0a0418f2de61317e2f320f7fc15a1ab79eb32200bccce98c2dc3b55cfd
5
5
  SHA512:
6
- metadata.gz: 6d51dd0a085c47f51970c4c3145f9209c0674a86b85960c61735041a63e852486df8b602bee695495093d9630d77508ef2b4fbaab64ab617c5a1a91f2ebf2467
7
- data.tar.gz: 895128a6a8e4b0cc5cf8f14c8a5a23fc0913dd8d77dfc378147535c68ecf9f2e17b16c530dd36c9af008b5845b9872590e76162091b5f24c93c8887b6701233a
6
+ metadata.gz: 07ad5d9a28f2e5dd7df6b836d810028f4bccfa194ae46dfa95a1d4f923e07707249a0b60f1e05ec80130fc4ecbb9ed626651a63599629deb4da23a68740631e8
7
+ data.tar.gz: 9da4230858d7876cdd83d2748020e4400d14245ab26623d1d18e15422e03a0c7fdaf447ed70328310efd0b396e662027d766c3b832d8a13513812fca6af8c798
data/README.adoc CHANGED
@@ -31,52 +31,53 @@ $ gem install lutaml
31
31
  === Parsing
32
32
 
33
33
  The `Lutaml::Parser.parse` method provides a single point of entry for parsing
34
- data model files.
34
+ data model files, such as:
35
35
 
36
- The return object is always a `Lutaml::LutamlPath::DocumentWrapper` object,
37
- where `#original_document` returns the native parsed models.
36
+ * EXPRESS files with `.exp` extension
37
+ * YAML Compressed EXPRESS CACHE files
38
+ * XMI files with `.xmi` extension
39
+ * XML files with `.xml` extension
40
+ * LutaML files with `.lutaml` extension
41
+ * LutaML YAML files with `.yml` extension
42
+
43
+ Depending on the input file type, `Lutaml::Parser.parse` returns:
44
+
45
+ * `Expressir::Express::Model::Repository` for EXPRESS files
46
+ * `Expressir::Express::Cache` for EXPRESS CACHE files
47
+ * `Lutaml::Uml::Document` for XMI files
48
+ * `Lutaml::Uml::Document` for XML files
49
+ * `Lutaml::Uml::Document` for LutaML files
50
+ * `Lutaml::Uml::Document` for LutaML YAML files
51
+
52
+ Examples to use the `Lutaml::Parser.parse`:
38
53
 
39
54
  [source,ruby]
40
55
  ----
56
+ require "lutaml"
57
+
41
58
  # example.exp is an EXPRESS schema file
42
- wrapper = Lutaml::Parser.parse([File.new("example.exp")])
43
- # => returns a Lutaml::LutamlPath::DocumentWrapper object
44
- wrapper.original_document
45
- # => returns the original Expressir::Repository object
46
- ----
59
+ model = Lutaml::Parser.parse([File.new("example.exp")])
60
+ # => returns Expressir::Express::Model::Repository model
47
61
 
48
- [source,ruby]
49
- ----
50
62
  # example.exp.yaml is an EXPRESS cache file created with Expressir
51
- wrapper = Lutaml::Parser.parse([File.new("example.exp.yaml")], ::Lutaml::Parser::EXPRESS_CACHE_PARSE_TYPE)
52
- # => returns the DocumentWrapper but with the repository loaded from the Expressir cache file
53
- ----
54
-
63
+ model = Lutaml::Parser.parse([File.new("example.exp.yaml")], ::Lutaml::Parser::EXPRESS_CACHE_PARSE_TYPE)
64
+ # => returns Expressir::Express::Cache model
55
65
 
56
- === Selecting EXPRESS schemas
66
+ # example.xmi is an XMI file
67
+ model = Lutaml::Parser.parse([File.new("example.xmi")])
68
+ # => returns Lutaml::Uml::Document model
57
69
 
58
- LutaML supports the `ModelElement#to_hash(..., select_proc:)` functionality
59
- of Expressir, allowing Expressir to only call `to_hash` on schemas that
60
- fit a dynamic criteria.
70
+ # example.xml is an XML file
71
+ model = Lutaml::Parser.parse([File.new("example.xml")])
72
+ # => returns Lutaml::Uml::Document model
61
73
 
62
- The criteria is set via a Ruby `Proc` object, as follows.
74
+ # example.lutaml is an LutaML file
75
+ model = Lutaml::Parser.parse([File.new("example.lutaml")])
76
+ # => returns Lutaml::Uml::Document model
63
77
 
64
- [source,ruby]
65
- ----
66
- # Sets the filter
67
- filtered_schemas = ["action_schema", "date_time_schema"]
68
-
69
- # Sets the Proc
70
- wrapper.select_proc = Proc.new do |value|
71
- if value.is_a?(Expressir::Model::Declarations::Schema)
72
- filtered_schemas.include?(value.id)
73
- else
74
- true
75
- end
76
- end
77
-
78
- serialized = wrapper.to_liquid
79
- # => returns the filtered to_hash method
78
+ # example.yaml is an LutaML YAML file
79
+ model = Lutaml::Parser.parse([File.new("example.yaml")])
80
+ # => returns Lutaml::Uml::Document model
80
81
  ----
81
82
 
82
83
 
data/bin/plantuml2lutaml CHANGED
@@ -14,9 +14,9 @@ def sync_puts(line, level = 0)
14
14
  $stdout.flush
15
15
  end
16
16
 
17
- SKIPPED_LINES_REGEXP = /^(@startuml|'\*{7}|note|@enduml|\!|'\/)/
18
- COMMENT_START = /\/'/
19
- COMMENT_END = /'\//
17
+ SKIPPED_LINES_REGEXP = /^(@startuml|'\*{7}|note|@enduml|!|'\/)/.freeze
18
+ COMMENT_START = /\/'/.freeze
19
+ COMMENT_END = /'\//.freeze
20
20
  ASSOCIATION_MAPPINGS = {
21
21
  /-\|>/ => ",inheritance",
22
22
  /<\|-/ => "inheritance,",
@@ -27,11 +27,15 @@ ASSOCIATION_MAPPINGS = {
27
27
  in_comment_block = false
28
28
 
29
29
  def transform_line(line)
30
- line = line.gsub(/^\s*'/, '** ').gsub(/\|[\sa-zA-Z]+$/, '')
31
- return sync_puts(line, 2) if ASSOCIATION_MAPPINGS.keys.none? { |key| line =~ key }
30
+ line = line.gsub(/^\s*'/, "** ").gsub(/\|[\sa-zA-Z]+$/, "")
31
+ return sync_puts(line, 2) if ASSOCIATION_MAPPINGS.keys.none? do |key|
32
+ line =~ key
33
+ end
32
34
 
33
- owner_type, member_type = ASSOCIATION_MAPPINGS.detect { |(key, _value)| line =~ key }.last.split(",")
34
- blocks = line.split(" ")
35
+ owner_type, member_type = ASSOCIATION_MAPPINGS.detect do |(key, _value)|
36
+ line =~ key
37
+ end.last.split(",")
38
+ blocks = line.split
35
39
  owner = blocks.first
36
40
  member = blocks.last
37
41
  sync_puts("association {", 2)
data/bin/yaml2lutaml CHANGED
@@ -82,7 +82,7 @@ view_yaml["relations"]&.each do |values|
82
82
  process_association(values["source"], values, encountered_relations)
83
83
  end
84
84
 
85
- view_yaml["imports"].keys.each do |entry|
85
+ view_yaml["imports"].each_key do |entry|
86
86
  import = YAML.safe_load(File.read(File.join(models_path, "#{entry}.yml")))
87
87
  import_name = import["name"] || File.basename(entry)
88
88
  # Class notation
data/exe/lutaml-sysml CHANGED
@@ -11,8 +11,10 @@ $:.unshift File.expand_path("../../lib", bin_file)
11
11
  # Fixes https://github.com/rubygems/rubygems/issues/1420
12
12
  require "rubygems/specification"
13
13
 
14
- class Gem::Specification
15
- def this; self; end
14
+ module Gem
15
+ class Specification
16
+ def this; self; end
17
+ end
16
18
  end
17
19
 
18
20
  # start up the CLI
data/exe/lutaml-wsd2uml CHANGED
@@ -14,9 +14,9 @@ def sync_puts(line, level = 0)
14
14
  $stdout.flush
15
15
  end
16
16
 
17
- SKIPPED_LINES_REGEXP = /^(@startuml|'\*{7}|note|@enduml|\!|'\/)/
18
- COMMENT_START = /\/'/
19
- COMMENT_END = /'\//
17
+ SKIPPED_LINES_REGEXP = /^(@startuml|'\*{7}|note|@enduml|!|'\/)/.freeze
18
+ COMMENT_START = /\/'/.freeze
19
+ COMMENT_END = /'\//.freeze
20
20
  ASSOCIATION_MAPPINGS = {
21
21
  /-\|>/ => ",inheritance",
22
22
  /<\|-/ => "inheritance,",
@@ -27,11 +27,15 @@ ASSOCIATION_MAPPINGS = {
27
27
  in_comment_block = false
28
28
 
29
29
  def transform_line(line)
30
- line = line.gsub(/^\s*'/, '** ').gsub(/\|[\sa-zA-Z]+$/, '').gsub(/\r/, '')
31
- return sync_puts(line, 2) if ASSOCIATION_MAPPINGS.keys.none? { |key| line =~ key }
30
+ line = line.gsub(/^\s*'/, "** ").gsub(/\|[\sa-zA-Z]+$/, "").delete("\r")
31
+ return sync_puts(line, 2) if ASSOCIATION_MAPPINGS.keys.none? do |key|
32
+ line =~ key
33
+ end
32
34
 
33
- owner_type, member_type = ASSOCIATION_MAPPINGS.detect { |(key, _value)| line =~ key }.last.split(",")
34
- blocks = line.split(" ")
35
+ owner_type, member_type = ASSOCIATION_MAPPINGS.detect do |(key, _value)|
36
+ line =~ key
37
+ end.last.split(",")
38
+ blocks = line.split
35
39
  owner = blocks.first
36
40
  member = blocks.last
37
41
  sync_puts("association {", 2)
data/exe/lutaml-yaml2uml CHANGED
@@ -82,7 +82,7 @@ view_yaml["relations"]&.each do |values|
82
82
  process_association(values["source"], values, encountered_relations)
83
83
  end
84
84
 
85
- view_yaml["imports"].keys.each do |entry|
85
+ view_yaml["imports"].each_key do |entry|
86
86
  import = YAML.safe_load(File.read(File.join(models_path, "#{entry}.yml")))
87
87
  import_name = import["name"] || File.basename(entry)
88
88
  # Class notation
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'expressir'
4
- require 'expressir/express/parser'
3
+ require "expressir"
4
+ require "expressir/express/parser"
5
5
 
6
6
  module Lutaml
7
7
  module Express
@@ -12,10 +12,10 @@ module Lutaml
12
12
  # [Hash] options - options for parsing
13
13
  #
14
14
  # @return [Expressir::Model::Repository]
15
- def self.parse(io, options = {})
15
+ def self.parse(io, _options = {})
16
16
  Expressir::Express::Parser.from_file(io.path)
17
17
  end
18
18
  end
19
19
  end
20
20
  end
21
- end
21
+ end
@@ -81,10 +81,10 @@ module Lutaml
81
81
 
82
82
  def escape_html_chars(text)
83
83
  text
84
- .gsub(/</, "&#60;")
85
- .gsub(/>/, "&#62;")
86
- .gsub(/\[/, "&#91;")
87
- .gsub(/\]/, "&#93;")
84
+ .gsub("<", "&#60;")
85
+ .gsub(">", "&#62;")
86
+ .gsub("[", "&#91;")
87
+ .gsub("]", "&#93;")
88
88
  end
89
89
 
90
90
  def format_field(node)
@@ -197,7 +197,7 @@ module Lutaml
197
197
  end
198
198
 
199
199
  def format_member_rows(members, hide_members)
200
- unless !hide_members && members && members.length.positive?
200
+ unless !hide_members && members&.length&.positive?
201
201
  return <<~HEREDOC.chomp
202
202
  <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0">
203
203
  <TR><TD ALIGN="LEFT"></TD></TR>
@@ -210,10 +210,10 @@ module Lutaml
210
210
  end
211
211
  field_table = <<~HEREDOC.chomp
212
212
  <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0">
213
- #{field_rows.map { |row| ' ' * 10 + row }.join("\n")}
213
+ #{field_rows.map { |row| (' ' * 10) + row }.join("\n")}
214
214
  </TABLE>
215
215
  HEREDOC
216
- field_table << "\n" << " " * 6
216
+ field_table << "\n" << (" " * 6)
217
217
  field_table
218
218
  end
219
219
 
data/lib/lutaml/parser.rb CHANGED
@@ -2,8 +2,6 @@ require "lutaml/express"
2
2
  require "lutaml/uml"
3
3
  require "lutaml/xmi"
4
4
  require "lutaml/xml"
5
- require "lutaml/uml/lutaml_path/document_wrapper"
6
- require "lutaml/express/lutaml_path/document_wrapper"
7
5
  require "expressir/express/cache"
8
6
 
9
7
  module Lutaml
@@ -14,14 +12,10 @@ module Lutaml
14
12
 
15
13
  class << self
16
14
  def parse(file_list, input_type = nil)
17
- file_list = file_list.is_a?(Array) ? file_list : [file_list]
18
- new(Array(file_list), input_type).parse
19
- end
20
-
21
- def parse_into_document(file_list, input_type = nil)
22
- file_list = file_list.is_a?(Array) ? file_list : [file_list]
15
+ file_list = [file_list] unless file_list.is_a?(Array)
23
16
  new(Array(file_list), input_type).parse_into_document
24
17
  end
18
+ alias_method :parse_into_document, :parse
25
19
  end
26
20
 
27
21
  def initialize(file_list, input_type)
@@ -29,15 +23,7 @@ module Lutaml
29
23
  @file_list = file_list
30
24
  end
31
25
 
32
- def parse
33
- documents = parse_into_document
34
- return document_wrapper(documents) if ["exp",
35
- EXPRESS_CACHE_PARSE_TYPE].include?(parse_type)
36
-
37
- documents.map { |doc| document_wrapper(doc) }
38
- end
39
-
40
- def parse_into_document
26
+ def parse_into_document # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity
41
27
  case parse_type
42
28
  when "exp"
43
29
  Expressir::Express::Parser.from_files(file_list.map(&:path))
@@ -55,19 +41,5 @@ module Lutaml
55
41
  raise ArgumentError, "Unsupported file format"
56
42
  end
57
43
  end
58
-
59
- private
60
-
61
- def document_wrapper(document)
62
- if ["exp", EXPRESS_CACHE_PARSE_TYPE].include?(parse_type)
63
- return Lutaml::Express::LutamlPath::DocumentWrapper.new(document)
64
- end
65
-
66
- if parse_type == "xml"
67
- return Lutaml::Xml::LutamlPath::DocumentWrapper.new(document)
68
- end
69
-
70
- Lutaml::Uml::LutamlPath::DocumentWrapper.new(document)
71
- end
72
44
  end
73
45
  end
@@ -1,8 +1,7 @@
1
- module Lutaml::SysMl
2
-
3
-
4
- class Allocate < Lutaml::Uml::Abstraction
5
- attr_accessor :base_abstraction
1
+ module Lutaml
2
+ module SysMl
3
+ class Allocate < Lutaml::Uml::Abstraction
4
+ attr_accessor :base_abstraction
5
+ end
6
+ end
6
7
  end
7
-
8
- end
@@ -1,7 +1,7 @@
1
- module Lutaml::SysMl
2
-
3
- class Allocated < Lutaml::Uml::TopElement
4
- attr_accessor :base_named_element, :allocated_from, :allocated_to
1
+ module Lutaml
2
+ module SysMl
3
+ class Allocated < Lutaml::Uml::TopElement
4
+ attr_accessor :base_named_element, :allocated_from, :allocated_to
5
+ end
6
+ end
5
7
  end
6
-
7
- end
@@ -1,7 +1,7 @@
1
- module Lutaml::SysMl
2
-
3
- class BindingConnector < Lutaml::Uml::Connector
4
- attr_accessor :base_connector
1
+ module Lutaml
2
+ module SysMl
3
+ class BindingConnector < Lutaml::Uml::Connector
4
+ attr_accessor :base_connector
5
+ end
6
+ end
5
7
  end
6
-
7
- end
@@ -1,27 +1,30 @@
1
- module Lutaml::SysMl
1
+ module Lutaml
2
+ module SysMl
3
+ class Block < Lutaml::Uml::Class
4
+ attr_accessor :base_class
2
5
 
3
- class Block < Lutaml::Uml::Class
4
- attr_accessor :base_class
5
- def initialize
6
- @xmi_id = nil
7
- @nested_classifier = []
8
- @stereotype = []
9
- @namespace = nil
10
- end
11
-
12
- def name
13
- if base_class != nil and base_class.name != nil
14
- return base_class.name
15
- end
16
- return nil
17
- end
18
-
19
- def full_name
20
- if base_class != nil and base_class.name != nil
21
- return base_class.full_name
22
- end
23
- return nil
24
- end
25
- end
6
+ def initialize
7
+ @xmi_id = nil
8
+ @nested_classifier = []
9
+ @stereotype = []
10
+ @namespace = nil
11
+ end
12
+
13
+ def name
14
+ if !base_class.nil? && !base_class.name.nil?
15
+ return base_class.name
16
+ end
17
+
18
+ nil
19
+ end
26
20
 
27
- end
21
+ def full_name
22
+ if !base_class.nil? && !base_class.name.nil?
23
+ return base_class.full_name
24
+ end
25
+
26
+ nil
27
+ end
28
+ end
29
+ end
30
+ end
@@ -1,12 +1,12 @@
1
- module Lutaml::SysMl
2
-
3
- class ConstraintBlock < Block
4
- def initialize
5
- @xmi_id = nil
6
- @nested_classifier = []
7
- @stereotype = []
8
- @namespace = nil
9
- end
1
+ module Lutaml
2
+ module SysMl
3
+ class ConstraintBlock < Block
4
+ def initialize
5
+ @xmi_id = nil
6
+ @nested_classifier = []
7
+ @stereotype = []
8
+ @namespace = nil
9
+ end
10
+ end
11
+ end
10
12
  end
11
-
12
- end
@@ -1,6 +1,6 @@
1
- module Lutaml::SysMl
2
-
3
- class Copy < Trace
1
+ module Lutaml
2
+ module SysMl
3
+ class Copy < Trace
4
+ end
4
5
  end
5
-
6
- end
6
+ end
@@ -1,7 +1,7 @@
1
- module Lutaml::SysMl
2
-
3
- class DeriveRequirement < Lutaml::Uml::TopElement
4
- attr_accessor :base_abstraction
1
+ module Lutaml
2
+ module SysMl
3
+ class DeriveRequirement < Lutaml::Uml::TopElement
4
+ attr_accessor :base_abstraction
5
+ end
6
+ end
5
7
  end
6
-
7
- end
@@ -1,11 +1,11 @@
1
- module Lutaml::SysMl
1
+ module Lutaml
2
+ module SysMl
3
+ class NestedConnectorEnd < Lutaml::Uml::ConnectorEnd
4
+ attr_accessor :base_connectorend, :property_path
2
5
 
3
- class NestedConnectorEnd < Lutaml::Uml::ConnectorEnd
4
- attr_accessor :base_connectorend, :property_path
5
- def initialize
6
- @property_path = []
7
- end
6
+ def initialize
7
+ @property_path = []
8
+ end
9
+ end
10
+ end
8
11
  end
9
-
10
-
11
- end
@@ -1,7 +1,7 @@
1
- module Lutaml::SysMl
2
-
3
- class Refine < Lutaml::Uml::TopElement
4
- attr_accessor :base_abstraction
1
+ module Lutaml
2
+ module SysMl
3
+ class Refine < Lutaml::Uml::TopElement
4
+ attr_accessor :base_abstraction
5
+ end
6
+ end
5
7
  end
6
-
7
- end
@@ -1,7 +1,7 @@
1
- module Lutaml::SysMl
2
-
3
- class RequirementRelated < Lutaml::Uml::TopElement
4
- attr_accessor :base_named_element, :satisfies, :refines
1
+ module Lutaml
2
+ module SysMl
3
+ class RequirementRelated < Lutaml::Uml::TopElement
4
+ attr_accessor :base_named_element, :satisfies, :refines
5
+ end
6
+ end
5
7
  end
6
-
7
- end
@@ -1,7 +1,7 @@
1
- module Lutaml::SysMl
2
-
3
- class Satisfy < Trace
4
- attr_accessor :base_realization
1
+ module Lutaml
2
+ module SysMl
3
+ class Satisfy < Trace
4
+ attr_accessor :base_realization
5
+ end
6
+ end
5
7
  end
6
-
7
- end
@@ -1,22 +1,23 @@
1
- module Lutaml::SysMl
1
+ module Lutaml
2
+ module SysMl
3
+ class TestCase < Lutaml::Uml::TopElement
4
+ attr_accessor :base_behavior, :verifies
2
5
 
3
- class TestCase < Lutaml::Uml::TopElement
4
- attr_accessor :base_behavior, :verifies
5
-
6
- def name
7
- if base_behavior != nil and base_behavior.name != nil
8
- return base_behavior.name
9
- end
10
- return nil
11
- end
12
-
13
- def full_name
14
- if base_behavior != nil and base_behavior.name != nil
15
- return base_behavior.full_name
16
- end
17
- return nil
18
- end
6
+ def name
7
+ if !base_behavior.nil? && !base_behavior.name.nil?
8
+ return base_behavior.name
9
+ end
19
10
 
20
- end
11
+ nil
12
+ end
13
+
14
+ def full_name
15
+ if !base_behavior.nil? && !base_behavior.name.nil?
16
+ return base_behavior.full_name
17
+ end
21
18
 
22
- end
19
+ nil
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,7 +1,7 @@
1
- module Lutaml::SysMl
2
-
3
- class Trace < Lutaml::Uml::TopElement
4
- attr_accessor :base_abstraction
1
+ module Lutaml
2
+ module SysMl
3
+ class Trace < Lutaml::Uml::TopElement
4
+ attr_accessor :base_abstraction
5
+ end
6
+ end
5
7
  end
6
-
7
- end
@@ -1,6 +1,6 @@
1
- module Lutaml::SysMl
2
-
3
- class Verify < Trace
1
+ module Lutaml
2
+ module SysMl
3
+ class Verify < Trace
4
+ end
5
+ end
4
6
  end
5
-
6
- end
@@ -1,5 +1,5 @@
1
1
  module Lutaml
2
2
  module Sysml
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.0".freeze
4
4
  end
5
5
  end