lutaml 0.9.34 → 0.9.35

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: d209094b579492db86b7f110e3cca4a8c5e14b21107b55d901beb42ed5bf6cf8
4
- data.tar.gz: 5e01c3afabf5acfd93274763419c42a4bf90055d48b4e9eb6a66c462a768bdad
3
+ metadata.gz: ca966781f52ce9978f570ef4a2eaaccaf50cc58afae2b0f58767700983becbe1
4
+ data.tar.gz: '08378b29643e433382e78eb49fdb836309fab0750f3f8491542c1bc4b084fc2e'
5
5
  SHA512:
6
- metadata.gz: 81f816d09ac98a2c129b8864487ea0783ca4d794af29735c4ca71983f0235548d076d1e7bce046a7d30ae65257be195900ae299936e224704cb94d0f03950de8
7
- data.tar.gz: bf7a607d36342a5f44c38722f049f7516eb40dc3374248623c2cf528ea24a4db36dddf6ee9c8e3fcc4c556ad3b942dae8e9fa7d02be0104a596ac24d8b11bbf9
6
+ metadata.gz: 6f631a08c0e17860697147994b5f588ec2ced711f9660c83d3c8a6026bbf9f0f551c35e0d460734383caa733f29db4963a64ffb6934e79fb95e03cf46e8b57d0
7
+ data.tar.gz: 0150c791377dbc0a1d045f8b52124c9a956b8357001c572a533a29b99eb322146706b50f4c0c4a87c1712f27e19a28fca6dcb35f3ca7d8048b7ebc280edcfcbd
@@ -1,3 +1,3 @@
1
1
  module Lutaml
2
- VERSION = "0.9.34".freeze
2
+ VERSION = "0.9.35".freeze
3
3
  end
@@ -28,6 +28,14 @@ module Lutaml
28
28
  @model&.documentation&.value
29
29
  end
30
30
 
31
+ def ea_type
32
+ @model&.properties&.ea_type
33
+ end
34
+
35
+ def direction
36
+ @model&.properties&.direction
37
+ end
38
+
31
39
  def source
32
40
  ::Lutaml::XMI::SourceTargetDrop.new(@model.source)
33
41
  end
@@ -72,9 +72,14 @@ module Lutaml
72
72
  def associations # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity,Metrics/MethodLength
73
73
  return if !@matched_element ||
74
74
  !@matched_element.links ||
75
- @matched_element.links.association.empty?
75
+ (
76
+ @matched_element.links.association.empty? &&
77
+ @matched_element.links.generalization.empty?
78
+ )
76
79
 
77
- @matched_element.links.association.map do |assoc|
80
+ links = @matched_element.links.association +
81
+ @matched_element.links.generalization
82
+ links.map do |assoc|
78
83
  link_member = assoc.start == xmi_id ? "end" : "start"
79
84
  link_owner_name = link_member == "start" ? "end" : "start"
80
85
 
@@ -585,7 +585,9 @@ module Lutaml
585
585
  when "NoteLink"
586
586
  return
587
587
  when "Generalization"
588
- return generalization_association(owner_xmi_id, link)
588
+ owner_end, _owner_end_type, _owner_xmi_id =
589
+ generalization_association(owner_xmi_id, link)
590
+ return owner_end
589
591
  end
590
592
 
591
593
  xmi_id = link.send(linke_owner_name.to_sym)
@@ -623,7 +625,7 @@ module Lutaml
623
625
  end
624
626
 
625
627
  member_end = member_end_name(xmi_id, source_or_target, link.name)
626
- [member_end, xmi_id]
628
+ [member_end, "aggregation", xmi_id]
627
629
  end
628
630
 
629
631
  # @param xmi_id [String]
@@ -648,8 +650,9 @@ module Lutaml
648
650
  # @param link [Lutaml::Model::Serializable]
649
651
  # @param link_member_name [String]
650
652
  # @return [Array<String, String, Hash, String, String>]
651
- def serialize_member_type(owner_xmi_id, link, link_member_name) # rubocop:disable Metrics/MethodLength
652
- member_end, xmi_id = serialize_member_end(owner_xmi_id, link)
653
+ def serialize_member_type(owner_xmi_id, link, link_member_name) # rubocop:disable Metrics/MethodLength,Metrics/AbcSize
654
+ member_end, member_end_type, xmi_id =
655
+ serialize_member_end(owner_xmi_id, link)
653
656
 
654
657
  if link.name == "Association"
655
658
  connector_type = link_member_name == "start" ? "source" : "target"
@@ -664,7 +667,7 @@ module Lutaml
664
667
  member_end = fetch_connector_name(link.id)
665
668
  end
666
669
 
667
- [member_end, "aggregation", member_end_cardinality,
670
+ [member_end, member_end_type, member_end_cardinality,
668
671
  member_end_attribute_name, xmi_id]
669
672
  end
670
673
 
@@ -714,10 +717,10 @@ module Lutaml
714
717
 
715
718
  member_end = member_end_name(xmi_id, source_or_target, link.name)
716
719
 
717
- member_end_cardinality, _member_end_attribute_name =
718
- fetch_owned_attribute_node(xmi_id)
719
-
720
- [member_end, member_end_type, member_end_cardinality, nil, xmi_id]
720
+ # member_end_cardinality, _member_end_attribute_name =
721
+ # fetch_owned_attribute_node(xmi_id)
722
+ # [member_end, member_end_type, member_end_cardinality, nil, xmi_id]
723
+ [member_end, member_end_type, xmi_id]
721
724
  end
722
725
 
723
726
  # Multiple items if search type is idref. Should search association?
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.34
4
+ version: 0.9.35
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-06-26 00:00:00.000000000 Z
11
+ date: 2025-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: expressir