ea 0.6.76 → 0.6.77

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8d640b92ddedcf36076a62091fc344a08b85622ede3bee3855541d6705a2ebde
4
- data.tar.gz: ebe4c9068300d79db3aeb0e42494c0dc6175ad638e8e3ca580b39d007fef7170
3
+ metadata.gz: 0b1e7133efe6db7f9c0dcf1f73749934b1887107b4fa37a9c5ac26b10a1c90f9
4
+ data.tar.gz: 8b9d00b0893ac03f2c8608e4faf0b9a12ed7d29413a4bc230e1e88ed205afdd8
5
5
  SHA512:
6
- metadata.gz: 8b025f70911f4c5648c2dce0cc314d2b4276c849cb653886bc0e1276d8d61362af98ffd529089415cd15359b1a04d1f866bf71adbbd183fc76b1b689bb41c68f
7
- data.tar.gz: c682bb77194678ea2652a0e23a1d595c35b0e31d11a94c93ffebbbbf6a55beb3424e148a4dfd9293bf1509faf59430d1bf438eb743527f4f9550d82e4ef57709
6
+ metadata.gz: 86ef660cb14f997a030c8969e6ee1184d5b73b1cc97d1000954dd888dff587490a0b2e80450e98f0ee36cc5324c2ece05b740f12e2bb8391288ff12edf2d9b80
7
+ data.tar.gz: f714a37fe94c165bff0104f545e7ba9332c6b3d91ec1bb7cd62524c72b1940992182f558af1343e35d2ff693b675a8ade451f3b7e04793a4ebbdc76a331fd5c2
data/lib/ea/version.rb CHANGED
@@ -4,5 +4,5 @@ module Ea
4
4
  # Gem release version. Extracted to its own file so the
5
5
  # `gem-release` tool's `gem bump` can find and update it via the
6
6
  # standard `lib/<gem>/version.rb` convention.
7
- VERSION = "0.6.76"
7
+ VERSION = "0.6.77"
8
8
  end
@@ -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, nil, @options
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
@@ -57,7 +57,8 @@ module Ea
57
57
 
58
58
  def data_types
59
59
  Array(@model.data_types).map do |data_type|
60
- ::Ea::Xmi::LiquidDrops::DataTypeDrop.new(data_type, @options)
60
+ ::Ea::Xmi::LiquidDrops::DataTypeDrop.new(data_type, @guidance,
61
+ @options)
61
62
  end
62
63
  end
63
64
 
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.76
4
+ version: 0.6.77
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 00:00:00.000000000 Z
11
+ date: 2026-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lutaml-model