lutaml 0.9.6 → 0.9.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a28dfbb8000b5253d9d608012982cd3a2452f19eac1323cf034a198b87fdc384
4
- data.tar.gz: 4290b8b705eb7c39c76fe7189581186d41bdaa46cf1c0f2999adb14d6b422103
3
+ metadata.gz: 4db5dffc542b1571b200b43d83253caafa1f90cd67aec5ece16af26a31ac5f8b
4
+ data.tar.gz: 9e12f4317fb3a5690d5475ebec249cbafa92de81d1f813845438062dfd51083d
5
5
  SHA512:
6
- metadata.gz: 1a08b0cb64f7aa47270690672a51e66214bbb0f5b23824a3b5b96f669b1a78fd5d9219afaa527ea1e5777f59803738b08a756cf77bf81408399871203fd48359
7
- data.tar.gz: 7ad597883806052a6b487008b3202406b824f636e75bb98df640d025bc69662117b2de626ce492f268ac8489707a22954650976bfbbd3f68ddb45e0ed469b1fb
6
+ metadata.gz: 2e15272b553e564a0432e758d56e00cae2c79a8c8e166615812ad5e05004b9c5fe2e33a667d6910ffd6fc1156365fed895d1aa2c4412da4892511edd324c0785
7
+ data.tar.gz: 16281e22ee7b86fba771f7eee75455bfcd175c0ac4af02ecdda5538bd75a63ecaaa71cbdfde4e5815f5d5a15db1bbf11be5d129fd71285d3219cc4702d9c4561
@@ -1,3 +1,3 @@
1
1
  module Lutaml
2
- VERSION = "0.9.6".freeze
2
+ VERSION = "0.9.7".freeze
3
3
  end
@@ -337,12 +337,19 @@ module Lutaml
337
337
  source_or_target = :target
338
338
  end
339
339
 
340
- member_end = lookup_entity_name(xmi_id) ||
341
- connector_name_by_source_or_target(xmi_id, source_or_target)
342
-
340
+ member_end = member_end_name(xmi_id, source_or_target)
343
341
  [member_end, xmi_id]
344
342
  end
345
343
 
344
+ # @param xmi_id [String]
345
+ # @param source_or_target [Symbol]
346
+ # @return [String]
347
+ def member_end_name(xmi_id, source_or_target)
348
+ connector_labels(xmi_id, source_or_target) ||
349
+ lookup_entity_name(xmi_id) ||
350
+ connector_name_by_source_or_target(xmi_id, source_or_target)
351
+ end
352
+
346
353
  # @param owner_xmi_id [String]
347
354
  # @param link [Shale::Mapper]
348
355
  # @param link_member_name [String]
@@ -402,8 +409,7 @@ module Lutaml
402
409
  source_or_target = :target
403
410
  end
404
411
 
405
- member_end = lookup_entity_name(xmi_id) ||
406
- connector_name_by_source_or_target(xmi_id, source_or_target)
412
+ member_end = member_end_name(xmi_id, source_or_target)
407
413
 
408
414
  member_end_cardinality, _member_end_attribute_name =
409
415
  fetch_owned_attribute_node(xmi_id)
@@ -535,15 +541,32 @@ module Lutaml
535
541
  # @param xmi_id [String]
536
542
  # @param source_or_target [String]
537
543
  # @return [String]
538
- def connector_name_by_source_or_target(xmi_id, source_or_target)
539
- node = @xmi_root_model.extension.connectors.connector.select do |con|
544
+ def connector_node_by_id(xmi_id, source_or_target)
545
+ @xmi_root_model.extension.connectors.connector.find do |con|
540
546
  con.send(source_or_target.to_sym).idref == xmi_id
541
547
  end
542
- return if node.empty? ||
543
- node.first.send(source_or_target.to_sym).nil? ||
544
- node.first.send(source_or_target.to_sym).model.nil?
548
+ end
549
+
550
+ # @param xmi_id [String]
551
+ # @param source_or_target [String]
552
+ # @return [String]
553
+ def connector_name_by_source_or_target(xmi_id, source_or_target)
554
+ node = connector_node_by_id(xmi_id, source_or_target)
555
+ return if node.nil? ||
556
+ node.send(source_or_target.to_sym).nil? ||
557
+ node.send(source_or_target.to_sym).model.nil?
558
+
559
+ node.send(source_or_target.to_sym).model.name
560
+ end
561
+
562
+ # @param xmi_id [String]
563
+ # @param source_or_target [String]
564
+ # @return [String]
565
+ def connector_labels(xmi_id, source_or_target)
566
+ node = connector_node_by_id(xmi_id, source_or_target)
567
+ return if node.nil?
545
568
 
546
- node.first.send(source_or_target.to_sym).model.name
569
+ node.labels&.rt || node.labels&.lt
547
570
  end
548
571
 
549
572
  # @param xmi_id [String]
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.6
4
+ version: 0.9.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-17 00:00:00.000000000 Z
11
+ date: 2024-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: expressir