ea 0.6.76 → 0.6.78
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/lib/ea/model/classifier.rb +1 -0
- data/lib/ea/sources/qea/classifier_builder.rb +1 -0
- data/lib/ea/svg/ea_emitter/elements.rb +6 -0
- data/lib/ea/version.rb +1 -1
- data/lib/ea/xmi/liquid_drops/data_type_drop.rb +33 -2
- data/lib/ea/xmi/liquid_drops/package_drop.rb +2 -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: bfe9a94594b0658c534f301154308f235bf478f392175e3dff76db196a478ef8
|
|
4
|
+
data.tar.gz: f77951d18da4cb89f7772ced481a99c9288e6b953cf6ee17ab4318cd23485085
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a5d2dd6eda5f9a89292235c7d8981a7d7a85664533966c3f284f2679f8722bae5ee62272de28cc2c0d7cd0ca5b243157610b80e26d44a075e9510a89d80b3777
|
|
7
|
+
data.tar.gz: f56cb6b66a358364c8c341bb6b79a422073a2e361f369949fda807b04d2c00082785215ecf1062a3a36b42a5aa75099db75e6eab860f77f5423c99bd925df571
|
data/lib/ea/model/classifier.rb
CHANGED
|
@@ -12,6 +12,7 @@ module Ea
|
|
|
12
12
|
# (t_object.Object_Type, xmi:type) to pick the right subclass.
|
|
13
13
|
class Classifier < Base
|
|
14
14
|
attribute :qualified_name, :string
|
|
15
|
+
attribute :nested_parent_name, :string # t_object.ParentID owner class
|
|
15
16
|
attribute :package_id, :string # containing package
|
|
16
17
|
attribute :package_name, :string # containing package name
|
|
17
18
|
attribute :is_abstract, :boolean, default: false
|
|
@@ -93,6 +93,7 @@ module Ea
|
|
|
93
93
|
package_id: package_id_for(object),
|
|
94
94
|
package_name: package_name_for(object),
|
|
95
95
|
qualified_name: qualified_name_for(object),
|
|
96
|
+
nested_parent_name: nested_parent_name(object),
|
|
96
97
|
is_abstract: abstract?(object),
|
|
97
98
|
is_root: object.isroot.to_i == 1,
|
|
98
99
|
is_leaf: object.isleaf.to_i == 1,
|
|
@@ -492,6 +492,12 @@ module Ea
|
|
|
492
492
|
return nil unless diagram.show_foreign
|
|
493
493
|
return nil unless classifier.is_a?(Ea::Model::Classifier)
|
|
494
494
|
|
|
495
|
+
# Nested classifiers (t_object.ParentID -> a Class) qualify
|
|
496
|
+
# with the OWNER CLASS name even when the package matches
|
|
497
|
+
# the diagram's (026D353E: 'set::ComplexTypeClass3').
|
|
498
|
+
nested = classifier.nested_parent_name.to_s
|
|
499
|
+
return nested.empty? ? nil : nested unless nested.empty?
|
|
500
|
+
|
|
495
501
|
pkg_id = classifier.package_id
|
|
496
502
|
return nil if pkg_id.nil? || pkg_id == diagram.package_id
|
|
497
503
|
|
data/lib/ea/version.rb
CHANGED
|
@@ -4,13 +4,26 @@ module Ea
|
|
|
4
4
|
module Xmi
|
|
5
5
|
module LiquidDrops
|
|
6
6
|
class DataTypeDrop < Liquid::Drop
|
|
7
|
-
def initialize(model, options = {}) # rubocop:disable Lint/MissingSuper
|
|
7
|
+
def initialize(model, guidance = nil, options = {}) # rubocop:disable Lint/MissingSuper
|
|
8
8
|
@model = model
|
|
9
|
+
@guidance = guidance
|
|
9
10
|
@options = options
|
|
10
11
|
@lookup = options[:lookup]
|
|
11
12
|
@xmi_root_model = options[:xmi_root_model]
|
|
13
|
+
|
|
14
|
+
init_guidance(guidance) if guidance
|
|
12
15
|
end
|
|
13
16
|
|
|
17
|
+
private
|
|
18
|
+
|
|
19
|
+
def init_guidance(guidance)
|
|
20
|
+
@data_type_guidance = guidance["data_types"]&.find do |data_type|
|
|
21
|
+
data_type["name"] == name || data_type["name"] == absolute_path
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
public
|
|
26
|
+
|
|
14
27
|
def xmi_id
|
|
15
28
|
@model.xmi_id
|
|
16
29
|
end
|
|
@@ -19,6 +32,20 @@ module Ea
|
|
|
19
32
|
@model.name
|
|
20
33
|
end
|
|
21
34
|
|
|
35
|
+
def absolute_path
|
|
36
|
+
absolute_path_arr = [@model.name]
|
|
37
|
+
e = @lookup.find_upper_level_packaged_element(@model.xmi_id)
|
|
38
|
+
absolute_path_arr << e.name if e
|
|
39
|
+
|
|
40
|
+
while e
|
|
41
|
+
e = @lookup.find_upper_level_packaged_element(e.id)
|
|
42
|
+
absolute_path_arr << e.name if e
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
absolute_path_arr << "::#{@xmi_root_model.model.name}"
|
|
46
|
+
absolute_path_arr.reverse.join("::")
|
|
47
|
+
end
|
|
48
|
+
|
|
22
49
|
def attributes
|
|
23
50
|
Array(@model.attributes).filter_map do |owned_attr|
|
|
24
51
|
if @options[:with_assoc] || owned_attr.association.nil?
|
|
@@ -67,11 +94,15 @@ module Ea
|
|
|
67
94
|
def generalization
|
|
68
95
|
if @model.generalization
|
|
69
96
|
::Ea::Xmi::LiquidDrops::GeneralizationDrop.new(
|
|
70
|
-
@model.generalization,
|
|
97
|
+
@model.generalization, @data_type_guidance, @options
|
|
71
98
|
)
|
|
72
99
|
end
|
|
73
100
|
end
|
|
74
101
|
|
|
102
|
+
def has_guidance?
|
|
103
|
+
!!@data_type_guidance
|
|
104
|
+
end
|
|
105
|
+
|
|
75
106
|
def upper_packaged_element
|
|
76
107
|
e = @lookup.find_upper_level_packaged_element(@model.xmi_id)
|
|
77
108
|
e&.name
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ea
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.6.
|
|
4
|
+
version: 0.6.78
|
|
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-10-
|
|
11
|
+
date: 2026-10-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: lutaml-model
|