labimotion 1.5.0.rc5 → 1.5.0.rc6

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: 5793040329800aeaa72a6b597114ecd08ff86abbc1605ad857b2c2a6dbfb68ae
4
- data.tar.gz: 4fbe879e2477760252774d845d3d11ada757876ccc35ad8f941ed80497e25e80
3
+ metadata.gz: 1a8123a3e71db321a6b3efef15ecce3cca9e287bce32a268b5447c25dd6ed55d
4
+ data.tar.gz: 36b88fb09d16d5ac4bc2a8eeae2775d20c9197d871e48df5e6dacc34b2934e23
5
5
  SHA512:
6
- metadata.gz: f01ebd2e1452d4ad4f0d3c51dac92effbf6457c83e161e54533a04f0ca3a5c7ec2b8c0ed97f551bd1f3b88187a7aa01d207d8e07299f170887a9819f8699166c
7
- data.tar.gz: f1b02f0cb7f5e810c9a4a08d03a2c8201a9897497dac5962b789c7a29af4ff36a8a846c6a413db7896a8b8b2e9f78c6eba839cb8c1d0629e562a0e7d51b95467
6
+ metadata.gz: 7695e71a516c3fba35fdae8cdb4d4b0081d4ca4da3802eb8703e43189a2dbbdbbe85413650a4d3699f262d9eeb92e6199f87a10a97a52aa7eb0927fab688e536
7
+ data.tar.gz: cb9a7de785d9ddecd6d69d0be45b9323a08c5227cdf7c0e4ed1db2063aaa47b306045534d30a9c5daa5d8c83624b642418badea4810cc9e9fd49a35f6700a753
@@ -12,5 +12,55 @@ module Labimotion
12
12
  def klass_label
13
13
  object&.dataset_klass&.label
14
14
  end
15
+
16
+
17
+ def root_element
18
+ object&.element&.root_element
19
+ end
20
+
21
+ def properties
22
+ properties = object&.properties || {}
23
+ properties[Labimotion::Prop::LAYERS].keys.each do |key|
24
+ layer = properties[Labimotion::Prop::LAYERS][key] || {}
25
+ return properties if layer.empty? || layer[Labimotion::Prop::FIELDS].nil?
26
+
27
+ field_vocs = layer[Labimotion::Prop::FIELDS].select { |ss| ss['is_voc'] == true }
28
+ field_vocs.each do |field|
29
+ idx = properties[Labimotion::Prop::LAYERS][key][Labimotion::Prop::FIELDS].index(field)
30
+ next if idx.nil?
31
+
32
+ case field['source']
33
+ when Labimotion::Prop::ELEMENT
34
+ if field['identifier'] == 'element.name'
35
+ byebug
36
+ properties[Labimotion::Prop::LAYERS][key][Labimotion::Prop::FIELDS][idx]['value'] = root_element&.name
37
+ # dic[field.identifier] = currentElement.name
38
+
39
+ end
40
+ when Labimotion::Prop::SEGMENT
41
+ segs = root_element&.segments&.select { |ss| field['source_id'] == ss.segment_klass&.identifier }
42
+ next if segs.empty? || field['layer_id'].blank? || field['field_id'].blank?
43
+
44
+ seg = segs&.first
45
+ seg_fields = seg.properties.dig(Labimotion::Prop::LAYERS, field['layer_id'], Labimotion::Prop::FIELDS).select { |ff| ff['field'] == field['field_id'] }
46
+ seg_field = seg_fields&.first
47
+ properties[Labimotion::Prop::LAYERS][key][Labimotion::Prop::FIELDS][idx]['value'] = seg_field['value']
48
+ when Labimotion::Prop::DATASET
49
+ byebug
50
+ end
51
+ end
52
+
53
+ # layer[Labimotion::Prop::FIELDS].each do |field|
54
+ # end
55
+ end
56
+
57
+ # byebug
58
+ # layers = properties['layers']
59
+
60
+ # properties['vocabularies'].each_with_object({}) do |v, h|
61
+ # h[v['name']] = v['value']
62
+ # end
63
+ properties
64
+ end
15
65
  end
16
66
  end
@@ -17,7 +17,21 @@ module Labimotion
17
17
  # end
18
18
 
19
19
  expose :voc do |obj|
20
- (obj[:properties] && obj[:properties]['voc']) || {}
20
+ ## byebug
21
+ voc = (obj[:properties] && obj[:properties]['voc']) || {}
22
+
23
+ case voc['source']
24
+ when Labimotion::Prop::ELEMENT
25
+ if voc['identifier'] == 'element.name'
26
+ # byebug
27
+ # voc['source_name'] = ElementKlass.find_by(identifier: voc['source_id'])&.name
28
+ end
29
+ when Labimotion::Prop::SEGMENT
30
+ voc['source_name'] = SegmentKlass.find_by(identifier: voc['source_id'])&.label
31
+ when Labimotion::Prop::DATASET
32
+ voc['source_name'] = DatasetKlass.find_by(identifier: voc['source_id'])&.label
33
+ end
34
+ voc
21
35
  end
22
36
  expose :ontology do |obj|
23
37
  (obj[:properties] && obj[:properties]['ontology']) || {}
@@ -2,5 +2,5 @@
2
2
 
3
3
  ## Labimotion Version
4
4
  module Labimotion
5
- VERSION = '1.5.0.rc5'
5
+ VERSION = '1.5.0.rc6'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: labimotion
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0.rc5
4
+ version: 1.5.0.rc6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chia-Lin Lin
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-10-04 00:00:00.000000000 Z
12
+ date: 2024-10-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails