xmi 0.5.8 → 0.5.10
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 +4 -4
- data/.rubocop_todo.yml +5 -5
- data/lib/xmi/add.rb +1 -0
- data/lib/xmi/custom_profile/abstract.rb +1 -0
- data/lib/xmi/custom_profile/basic_doc.rb +1 -0
- data/lib/xmi/custom_profile/bibliography.rb +1 -0
- data/lib/xmi/custom_profile/edition.rb +1 -0
- data/lib/xmi/custom_profile/enumeration.rb +1 -0
- data/lib/xmi/custom_profile/informative.rb +1 -0
- data/lib/xmi/custom_profile/invariant.rb +1 -0
- data/lib/xmi/custom_profile/number.rb +1 -0
- data/lib/xmi/custom_profile/ocl.rb +1 -0
- data/lib/xmi/custom_profile/persistence.rb +1 -0
- data/lib/xmi/custom_profile/publication_date.rb +1 -0
- data/lib/xmi/custom_profile/year_version.rb +1 -0
- data/lib/xmi/delete.rb +1 -0
- data/lib/xmi/difference.rb +1 -0
- data/lib/xmi/documentation.rb +1 -0
- data/lib/xmi/ea_root/code_generation.rb +1 -0
- data/lib/xmi/ea_root/extension_lifecycle.rb +1 -1
- data/lib/xmi/extension.rb +1 -0
- data/lib/xmi/parser_pipeline.rb +2 -2
- data/lib/xmi/parsing.rb +1 -1
- data/lib/xmi/replace.rb +1 -0
- data/lib/xmi/root.rb +5 -0
- data/lib/xmi/sparx/connector/appearance.rb +1 -0
- data/lib/xmi/sparx/connector/connector.rb +1 -0
- data/lib/xmi/sparx/connector/end_base.rb +3 -0
- data/lib/xmi/sparx/connector/end_constraint.rb +1 -0
- data/lib/xmi/sparx/connector/end_modifiers.rb +1 -0
- data/lib/xmi/sparx/connector/end_role.rb +1 -0
- data/lib/xmi/sparx/connector/end_style.rb +1 -0
- data/lib/xmi/sparx/connector/end_type.rb +1 -0
- data/lib/xmi/sparx/connector/labels.rb +1 -0
- data/lib/xmi/sparx/connector/model.rb +1 -0
- data/lib/xmi/sparx/connector/properties.rb +1 -0
- data/lib/xmi/sparx/custom_profile.rb +1 -0
- data/lib/xmi/sparx/diagram.rb +1 -0
- data/lib/xmi/sparx/ea_stub.rb +1 -0
- data/lib/xmi/sparx/ea_uml.rb +1 -0
- data/lib/xmi/sparx/element/association.rb +4 -0
- data/lib/xmi/sparx/element/attribute.rb +1 -0
- data/lib/xmi/sparx/element/bounds.rb +1 -0
- data/lib/xmi/sparx/element/code.rb +1 -0
- data/lib/xmi/sparx/element/containment.rb +1 -0
- data/lib/xmi/sparx/element/coords.rb +1 -0
- data/lib/xmi/sparx/element/documentation.rb +1 -0
- data/lib/xmi/sparx/element/element.rb +1 -0
- data/lib/xmi/sparx/element/extended_properties.rb +1 -0
- data/lib/xmi/sparx/element/flags.rb +1 -0
- data/lib/xmi/sparx/element/links.rb +1 -0
- data/lib/xmi/sparx/element/model.rb +1 -0
- data/lib/xmi/sparx/element/package_properties.rb +1 -0
- data/lib/xmi/sparx/element/paths.rb +1 -0
- data/lib/xmi/sparx/element/project.rb +1 -0
- data/lib/xmi/sparx/element/properties.rb +1 -0
- data/lib/xmi/sparx/element/stereotype.rb +1 -0
- data/lib/xmi/sparx/element/style.rb +1 -0
- data/lib/xmi/sparx/element/styleex.rb +1 -0
- data/lib/xmi/sparx/element/tag.rb +1 -0
- data/lib/xmi/sparx/element/times.rb +1 -0
- data/lib/xmi/sparx/element/xrefs.rb +1 -0
- data/lib/xmi/sparx/extension.rb +1 -0
- data/lib/xmi/sparx/gml/application_schema.rb +1 -0
- data/lib/xmi/sparx/gml/code_list.rb +1 -0
- data/lib/xmi/sparx/gml/data_type.rb +1 -0
- data/lib/xmi/sparx/gml/enumeration.rb +1 -0
- data/lib/xmi/sparx/gml/feature_type.rb +1 -0
- data/lib/xmi/sparx/gml/property.rb +1 -0
- data/lib/xmi/sparx/gml/type.rb +1 -0
- data/lib/xmi/sparx/gml/union.rb +1 -0
- data/lib/xmi/sparx/index.rb +2 -5
- data/lib/xmi/sparx/primitive_type.rb +1 -0
- data/lib/xmi/sparx/root.rb +1 -0
- data/lib/xmi/sparx/sys_ph_s.rb +1 -0
- data/lib/xmi/uml/annotated_element.rb +1 -0
- data/lib/xmi/uml/association_generalization.rb +1 -0
- data/lib/xmi/uml/bounds.rb +1 -0
- data/lib/xmi/uml/default_value.rb +5 -0
- data/lib/xmi/uml/diagram.rb +1 -0
- data/lib/xmi/uml/member_end.rb +1 -0
- data/lib/xmi/uml/owned_attribute.rb +1 -0
- data/lib/xmi/uml/owned_comment.rb +1 -0
- data/lib/xmi/uml/owned_element.rb +1 -0
- data/lib/xmi/uml/owned_end.rb +1 -0
- data/lib/xmi/uml/owned_literal.rb +1 -0
- data/lib/xmi/uml/owned_operation.rb +1 -0
- data/lib/xmi/uml/owned_parameter.rb +1 -0
- data/lib/xmi/uml/package_import.rb +1 -0
- data/lib/xmi/uml/packaged_element.rb +1 -0
- data/lib/xmi/uml/precondition.rb +1 -0
- data/lib/xmi/uml/profile.rb +1 -0
- data/lib/xmi/uml/profile_application.rb +1 -0
- data/lib/xmi/uml/specification.rb +1 -0
- data/lib/xmi/uml/type.rb +1 -0
- data/lib/xmi/uml/uml_model.rb +3 -0
- data/lib/xmi/v20110701.rb +1 -0
- data/lib/xmi/v20131001.rb +1 -0
- data/lib/xmi/v20161101.rb +1 -0
- data/lib/xmi/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 976e5ead605c997e4d73a93c6948f2485a1d206b0cfda550a9a19bb07ddfcc8f
|
|
4
|
+
data.tar.gz: 96c401beee71fb54e99028d1ac97f66b317b0ebd35e82b551099ce9fcb940eb2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ab01fd9cadfac3ee3dde31f738fc39e5d5909914a6cdd2f0a6a74e137c79a9add58573d101a89d8947f57d45dacd62d494607f8f9c8391f43c7b4a9135d51905
|
|
7
|
+
data.tar.gz: 2ba592f2b7dccb3fdb96b48358bdf7d4d9a9fa8339f474cb00efc546c7cff9a99cdebe49617c2287a340f39e5e54f69a692946a3f877948cd692d474d16a2c1e
|
data/.rubocop_todo.yml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# This configuration was generated by
|
|
2
2
|
# `rubocop --auto-gen-config`
|
|
3
|
-
# on 2026-
|
|
3
|
+
# on 2026-05-20 14:51:37 UTC using RuboCop version 1.86.1.
|
|
4
4
|
# The point is for the user to remove these configuration records
|
|
5
5
|
# one by one as the offenses are removed from the code base.
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
|
@@ -11,7 +11,7 @@ Gemspec/RequiredRubyVersion:
|
|
|
11
11
|
Exclude:
|
|
12
12
|
- 'xmi.gemspec'
|
|
13
13
|
|
|
14
|
-
# Offense count:
|
|
14
|
+
# Offense count: 79
|
|
15
15
|
# This cop supports safe autocorrection (--autocorrect).
|
|
16
16
|
# Configuration parameters: Max, AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
|
|
17
17
|
# URISchemes: http, https
|
|
@@ -44,7 +44,7 @@ Metrics/AbcSize:
|
|
|
44
44
|
Metrics/BlockLength:
|
|
45
45
|
Max: 98
|
|
46
46
|
|
|
47
|
-
# Offense count:
|
|
47
|
+
# Offense count: 4
|
|
48
48
|
# Configuration parameters: AllowedMethods, AllowedPatterns, Max.
|
|
49
49
|
Metrics/CyclomaticComplexity:
|
|
50
50
|
Exclude:
|
|
@@ -104,7 +104,7 @@ RSpec/DescribeClass:
|
|
|
104
104
|
- 'spec/xmi/namespace_aliases_spec.rb'
|
|
105
105
|
- 'spec/xmi/versioning_spec.rb'
|
|
106
106
|
|
|
107
|
-
# Offense count:
|
|
107
|
+
# Offense count: 37
|
|
108
108
|
# Configuration parameters: CountAsOne.
|
|
109
109
|
RSpec/ExampleLength:
|
|
110
110
|
Max: 33
|
|
@@ -119,7 +119,7 @@ RSpec/MultipleDescribes:
|
|
|
119
119
|
Exclude:
|
|
120
120
|
- 'spec/xmi/sparx/gml/shared_attributes_spec.rb'
|
|
121
121
|
|
|
122
|
-
# Offense count:
|
|
122
|
+
# Offense count: 57
|
|
123
123
|
RSpec/MultipleExpectations:
|
|
124
124
|
Max: 8
|
|
125
125
|
|
data/lib/xmi/add.rb
CHANGED
data/lib/xmi/delete.rb
CHANGED
data/lib/xmi/difference.rb
CHANGED
data/lib/xmi/documentation.rb
CHANGED
|
@@ -24,7 +24,7 @@ module Xmi
|
|
|
24
24
|
map_entries = []
|
|
25
25
|
new_klasses.each do |klass_name|
|
|
26
26
|
klass = EaRoot.const_get(module_name).const_get(klass_name)
|
|
27
|
-
next unless klass.
|
|
27
|
+
next unless klass.root_tag
|
|
28
28
|
|
|
29
29
|
method_name = Lutaml::Model::Utils.snake_case(klass_name)
|
|
30
30
|
map_entries << [klass.root_tag, method_name.to_sym]
|
data/lib/xmi/extension.rb
CHANGED
data/lib/xmi/parser_pipeline.rb
CHANGED
|
@@ -17,7 +17,7 @@ module Xmi
|
|
|
17
17
|
module FixEncoding
|
|
18
18
|
def self.call(ctx)
|
|
19
19
|
xml = ctx[:xml]
|
|
20
|
-
|
|
20
|
+
unless xml.valid_encoding?
|
|
21
21
|
ctx[:xml] = xml
|
|
22
22
|
.encode("UTF-16be", invalid: :replace, replace: "?")
|
|
23
23
|
.encode("UTF-8")
|
|
@@ -45,7 +45,7 @@ module Xmi
|
|
|
45
45
|
|
|
46
46
|
module BuildIndex
|
|
47
47
|
def self.call(ctx)
|
|
48
|
-
ctx[:root].build_index
|
|
48
|
+
ctx[:root].build_index
|
|
49
49
|
ctx
|
|
50
50
|
end
|
|
51
51
|
end
|
data/lib/xmi/parsing.rb
CHANGED
|
@@ -27,7 +27,7 @@ module Xmi
|
|
|
27
27
|
# @option options [Boolean] :strict Raise on unknown elements
|
|
28
28
|
# @return [Root, Object] Parsed XMI document
|
|
29
29
|
def parse(xml, options = {})
|
|
30
|
-
xml_content = xml.
|
|
30
|
+
xml_content = xml.is_a?(String) ? xml : xml.read
|
|
31
31
|
|
|
32
32
|
Xmi.init_versioning! unless Xmi.versioning_initialized?
|
|
33
33
|
|
data/lib/xmi/replace.rb
CHANGED
data/lib/xmi/root.rb
CHANGED
|
@@ -5,6 +5,7 @@ require_relative "uml"
|
|
|
5
5
|
|
|
6
6
|
module Xmi
|
|
7
7
|
class Root < Lutaml::Model::Serializable
|
|
8
|
+
skip_reference_registration
|
|
8
9
|
include XmiIdentity::Attributes
|
|
9
10
|
|
|
10
11
|
attribute :documentation, Documentation
|
|
@@ -24,6 +25,10 @@ module Xmi
|
|
|
24
25
|
|
|
25
26
|
attribute :model, Uml::UmlModel
|
|
26
27
|
|
|
28
|
+
def build_index
|
|
29
|
+
nil
|
|
30
|
+
end
|
|
31
|
+
|
|
27
32
|
xml do
|
|
28
33
|
root "XMI"
|
|
29
34
|
namespace ::Xmi::Namespace::Omg::Xmi
|
|
@@ -4,6 +4,7 @@ module Xmi
|
|
|
4
4
|
module Sparx
|
|
5
5
|
module Connector
|
|
6
6
|
class End < Lutaml::Model::Serializable
|
|
7
|
+
skip_reference_registration
|
|
7
8
|
attribute :idref, ::Xmi::Type::XmiIdRef
|
|
8
9
|
attribute :model, Model
|
|
9
10
|
attribute :role, EndRole
|
|
@@ -17,6 +18,7 @@ module Xmi
|
|
|
17
18
|
end
|
|
18
19
|
|
|
19
20
|
class Source < End
|
|
21
|
+
skip_reference_registration
|
|
20
22
|
xml do
|
|
21
23
|
root "source"
|
|
22
24
|
|
|
@@ -35,6 +37,7 @@ module Xmi
|
|
|
35
37
|
end
|
|
36
38
|
|
|
37
39
|
class Target < End
|
|
40
|
+
skip_reference_registration
|
|
38
41
|
xml do
|
|
39
42
|
root "target"
|
|
40
43
|
|
|
@@ -6,6 +6,7 @@ module Xmi
|
|
|
6
6
|
# Contains UML Profile definitions
|
|
7
7
|
# Note: PublicationDate, Edition, Number, YearVersion are defined in Xmi::CustomProfile
|
|
8
8
|
class Profiles < Lutaml::Model::Serializable
|
|
9
|
+
skip_reference_registration
|
|
9
10
|
attribute :profile, Uml::Profile, collection: true
|
|
10
11
|
|
|
11
12
|
xml do
|
data/lib/xmi/sparx/diagram.rb
CHANGED
data/lib/xmi/sparx/ea_stub.rb
CHANGED
data/lib/xmi/sparx/ea_uml.rb
CHANGED
|
@@ -4,6 +4,7 @@ module Xmi
|
|
|
4
4
|
module Sparx
|
|
5
5
|
module Element
|
|
6
6
|
class Association < Lutaml::Model::Serializable
|
|
7
|
+
skip_reference_registration
|
|
7
8
|
attribute :id, ::Xmi::Type::XmiId
|
|
8
9
|
attribute :start, :string
|
|
9
10
|
attribute :end, :string
|
|
@@ -19,6 +20,7 @@ module Xmi
|
|
|
19
20
|
end
|
|
20
21
|
|
|
21
22
|
class Generalization < Association
|
|
23
|
+
skip_reference_registration
|
|
22
24
|
attribute :name, :string, default: -> { "Generalization" }
|
|
23
25
|
|
|
24
26
|
xml do
|
|
@@ -31,6 +33,7 @@ module Xmi
|
|
|
31
33
|
end
|
|
32
34
|
|
|
33
35
|
class Aggregation < Association
|
|
36
|
+
skip_reference_registration
|
|
34
37
|
attribute :name, :string, default: -> { "Aggregation" }
|
|
35
38
|
|
|
36
39
|
xml do
|
|
@@ -43,6 +46,7 @@ module Xmi
|
|
|
43
46
|
end
|
|
44
47
|
|
|
45
48
|
class NoteLink < Association
|
|
49
|
+
skip_reference_registration
|
|
46
50
|
attribute :name, :string, default: -> { "NoteLink" }
|
|
47
51
|
|
|
48
52
|
xml do
|
|
@@ -4,6 +4,7 @@ module Xmi
|
|
|
4
4
|
module Sparx
|
|
5
5
|
module Element
|
|
6
6
|
class Links < Lutaml::Model::Serializable
|
|
7
|
+
skip_reference_registration
|
|
7
8
|
attribute :association, Association, collection: true
|
|
8
9
|
attribute :generalization, Generalization, collection: true
|
|
9
10
|
attribute :note_link, NoteLink, collection: true
|
data/lib/xmi/sparx/extension.rb
CHANGED
data/lib/xmi/sparx/gml/type.rb
CHANGED
data/lib/xmi/sparx/gml/union.rb
CHANGED
data/lib/xmi/sparx/index.rb
CHANGED
|
@@ -116,7 +116,7 @@ module Xmi
|
|
|
116
116
|
def build(root)
|
|
117
117
|
model = root.model
|
|
118
118
|
if model
|
|
119
|
-
id = model.id
|
|
119
|
+
id = model.id
|
|
120
120
|
@id_name_map[id] = model.name if id && model.name
|
|
121
121
|
walk_packaged_elements(model.packaged_element, nil)
|
|
122
122
|
end
|
|
@@ -247,10 +247,7 @@ module Xmi
|
|
|
247
247
|
return unless profile_list
|
|
248
248
|
|
|
249
249
|
profile_list.each do |profile|
|
|
250
|
-
|
|
251
|
-
walk_packaged_elements(profile.packaged_element,
|
|
252
|
-
nil)
|
|
253
|
-
end
|
|
250
|
+
walk_packaged_elements(profile.packaged_element, nil)
|
|
254
251
|
end
|
|
255
252
|
end
|
|
256
253
|
end
|
data/lib/xmi/sparx/root.rb
CHANGED
data/lib/xmi/sparx/sys_ph_s.rb
CHANGED
data/lib/xmi/uml/bounds.rb
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
module Xmi
|
|
4
4
|
module Uml
|
|
5
5
|
class DefaultValue < Lutaml::Model::Serializable
|
|
6
|
+
skip_reference_registration
|
|
6
7
|
attribute :type, ::Xmi::Type::XmiType
|
|
7
8
|
attribute :id, ::Xmi::Type::XmiId
|
|
8
9
|
attribute :value, :string
|
|
@@ -18,6 +19,8 @@ module Xmi
|
|
|
18
19
|
end
|
|
19
20
|
|
|
20
21
|
class UpperValue < DefaultValue
|
|
22
|
+
skip_reference_registration
|
|
23
|
+
|
|
21
24
|
xml do
|
|
22
25
|
root "upperValue"
|
|
23
26
|
namespace ::Xmi::Namespace::Omg::Uml
|
|
@@ -29,6 +32,8 @@ module Xmi
|
|
|
29
32
|
end
|
|
30
33
|
|
|
31
34
|
class LowerValue < DefaultValue
|
|
35
|
+
skip_reference_registration
|
|
36
|
+
|
|
32
37
|
xml do
|
|
33
38
|
root "lowerValue"
|
|
34
39
|
namespace ::Xmi::Namespace::Omg::Uml
|
data/lib/xmi/uml/diagram.rb
CHANGED
data/lib/xmi/uml/member_end.rb
CHANGED
data/lib/xmi/uml/owned_end.rb
CHANGED
data/lib/xmi/uml/precondition.rb
CHANGED
data/lib/xmi/uml/profile.rb
CHANGED
data/lib/xmi/uml/type.rb
CHANGED
data/lib/xmi/uml/uml_model.rb
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
module Xmi
|
|
4
4
|
module Uml
|
|
5
5
|
class UmlModel < Lutaml::Model::Serializable
|
|
6
|
+
skip_reference_registration
|
|
7
|
+
attribute :id, ::Xmi::Type::XmiId
|
|
6
8
|
attribute :type, ::Xmi::Type::XmiType
|
|
7
9
|
attribute :name, :string
|
|
8
10
|
attribute :profile_application, ProfileApplication, collection: true
|
|
@@ -14,6 +16,7 @@ module Xmi
|
|
|
14
16
|
root "Model"
|
|
15
17
|
namespace ::Xmi::Namespace::Omg::Uml
|
|
16
18
|
|
|
19
|
+
map_attribute "id", to: :id
|
|
17
20
|
map_attribute "type", to: :type
|
|
18
21
|
map_attribute "name", to: :name
|
|
19
22
|
|
data/lib/xmi/v20110701.rb
CHANGED
data/lib/xmi/v20131001.rb
CHANGED
|
@@ -42,6 +42,7 @@ module Xmi
|
|
|
42
42
|
# Different structure from 2.1 - includes additional fields.
|
|
43
43
|
#
|
|
44
44
|
class Documentation < Lutaml::Model::Serializable
|
|
45
|
+
skip_reference_registration
|
|
45
46
|
attribute :contact, :string
|
|
46
47
|
attribute :exporter, :string
|
|
47
48
|
attribute :exporter_version, :string
|
data/lib/xmi/v20161101.rb
CHANGED
|
@@ -41,6 +41,7 @@ module Xmi
|
|
|
41
41
|
# Different structure from 2.1/2.5.1 - includes additional fields.
|
|
42
42
|
#
|
|
43
43
|
class Extension < Lutaml::Model::Serializable
|
|
44
|
+
skip_reference_registration
|
|
44
45
|
attribute :extender, :string
|
|
45
46
|
attribute :extender_id, :string
|
|
46
47
|
attribute :extender_version, :string # NEW in 2.5.2
|
data/lib/xmi/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: xmi
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.10
|
|
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-05-
|
|
11
|
+
date: 2026-05-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: lutaml-model
|