isomorfeus-data 1.0.0.zeta13 → 1.0.0.zeta14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isomorfeus/data/generic_class_api.rb +2 -2
- data/lib/isomorfeus/data/version.rb +1 -1
- data/lib/isomorfeus_data/lucid_data/collection/mixin.rb +4 -4
- data/lib/isomorfeus_data/lucid_data/composition/mixin.rb +4 -4
- data/lib/isomorfeus_data/lucid_data/edge/mixin.rb +4 -4
- data/lib/isomorfeus_data/lucid_data/edge_collection/mixin.rb +4 -4
- data/lib/isomorfeus_data/lucid_data/graph/mixin.rb +21 -17
- data/lib/isomorfeus_data/lucid_data/hash/mixin.rb +1 -1
- data/lib/isomorfeus_data/lucid_data/node/mixin.rb +4 -4
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 93156d6e98ea25e9b5710ccfa92e5efadfa0e1f0f5e9e1fa2d9a1aa239a25693
|
4
|
+
data.tar.gz: ee280984d99c9a45734a29f99d1108f1da5b37083f6f861573ba3c1b4c40e0e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 938d8e16c20f5cc9600397d30c9c95c2efaa2774391eda20131c94a0347ec5a724208f1cd2c83fe7d890ea16223c8d68ef9994cf14d495f1db90c00a3bf6627e
|
7
|
+
data.tar.gz: 58b5ad7dbe2a9ff0d73b4c86ec93ab62d8f4804a78de8ee22184693aa2cc7b9e6cac55ddb70038486de288f31e10949908557319507d9aa07de2c3082c36a69f
|
@@ -100,7 +100,7 @@ module Isomorfeus
|
|
100
100
|
data = instance_exec(key: key, &@_load_block)
|
101
101
|
return nil unless data
|
102
102
|
return data if data.class == self
|
103
|
-
Isomorfeus.raise_error "#{self.to_s}: execute_load must return a instance of #{self.to_s} or nil. Returned was: #{data.class}." if data.class != self
|
103
|
+
Isomorfeus.raise_error(message: "#{self.to_s}: execute_load must return a instance of #{self.to_s} or nil. Returned was: #{data.class}.") if data.class != self
|
104
104
|
data
|
105
105
|
end
|
106
106
|
|
@@ -108,7 +108,7 @@ module Isomorfeus
|
|
108
108
|
previous_key = instance.key
|
109
109
|
data = instance_exec(instance: instance, &@_save_block)
|
110
110
|
return nil unless data
|
111
|
-
Isomorfeus.raise_error "#{self.to_s}: execute_save must return a instance of #{self.to_s} or nil. Returned was: #{data.class}." if data.class != self
|
111
|
+
Isomorfeus.raise_error(message: "#{self.to_s}: execute_save must return a instance of #{self.to_s} or nil. Returned was: #{data.class}.") if data.class != self
|
112
112
|
data.instance_variable_set(:@previous_key, previous_key) if data.key != previous_key
|
113
113
|
data._unchange!
|
114
114
|
data
|
@@ -461,18 +461,18 @@ module LucidData
|
|
461
461
|
def instance_from_transport(instance_data, included_items_data)
|
462
462
|
key = instance_data[self.name].keys.first
|
463
463
|
revision = instance_data[self.name][key].key?('revision') ? instance_data[self.name][key]['revision'] : nil
|
464
|
-
attributes = instance_data[self.name][key].key?('attributes') ? instance_data[self.name][key]['attributes'] : nil
|
464
|
+
attributes = instance_data[self.name][key].key?('attributes') ? instance_data[self.name][key]['attributes'].transform_keys!(&:to_sym) : nil
|
465
465
|
nodes_sids = instance_data[self.name][key].key?('nodes') ? instance_data[self.name][key]['nodes'] : []
|
466
466
|
nodes = []
|
467
467
|
nodes_sids.each do |sid|
|
468
468
|
node_class_name = sid[0]
|
469
469
|
node_key = sid[1]
|
470
|
-
Isomorfeus.raise_error "#{self.name}: #{node_class_name}: Not a valid LucidData class!" unless Isomorfeus.valid_data_class_name?(node_class_name)
|
470
|
+
Isomorfeus.raise_error(message: "#{self.name}: #{node_class_name}: Not a valid LucidData class!") unless Isomorfeus.valid_data_class_name?(node_class_name)
|
471
471
|
if included_items_data.key?(node_class_name) && included_items_data[node_class_name].key?(node_key)
|
472
472
|
node_class = Isomorfeus.cached_data_class(node_class_name)
|
473
|
-
Isomorfeus.raise_error "#{self.name}: #{node_class_name}: Cannot get class!" unless node_class
|
473
|
+
Isomorfeus.raise_error(message: "#{self.name}: #{node_class_name}: Cannot get class!") unless node_class
|
474
474
|
node = node_class.instance_from_transport({ node_class_name => { node_key => included_items_data[node_class_name][node_key] }}, included_items_data)
|
475
|
-
Isomorfeus.raise_error "#{self.name}: #{node_class_name} with key #{node_key} could not be extracted from transport data!" unless node
|
475
|
+
Isomorfeus.raise_error(message: "#{self.name}: #{node_class_name} with key #{node_key} could not be extracted from transport data!") unless node
|
476
476
|
nodes << node
|
477
477
|
end
|
478
478
|
end
|
@@ -176,18 +176,18 @@ module LucidData
|
|
176
176
|
def instance_from_transport(instance_data, included_items_data)
|
177
177
|
key = instance_data[self.name].keys.first
|
178
178
|
revision = instance_data[self.name][key].key?('revision') ? instance_data[self.name][key]['revision'] : nil
|
179
|
-
attributes = instance_data[self.name][key].key?('attributes') ? instance_data[self.name][key]['attributes'] : nil
|
179
|
+
attributes = instance_data[self.name][key].key?('attributes') ? instance_data[self.name][key]['attributes'].transform_keys!(&:to_sym) : nil
|
180
180
|
source_parts = instance_data[self.name][key].key?('parts') ? instance_data[self.name][key]['parts'] : {}
|
181
181
|
parts = {}
|
182
182
|
source_parts.each do |part_name, sid|
|
183
183
|
part_class_name = sid[0]
|
184
184
|
part_key = sid[1]
|
185
|
-
Isomorfeus.raise_error "#{self.name}: #{part_class_name}: Not a valid LucidData class!" unless Isomorfeus.valid_data_class_name?(part_class_name)
|
185
|
+
Isomorfeus.raise_error(message: "#{self.name}: #{part_class_name}: Not a valid LucidData class!") unless Isomorfeus.valid_data_class_name?(part_class_name)
|
186
186
|
if included_items_data.key?(part_class_name) && included_items_data[part_class_name].key?(part_key)
|
187
187
|
part_class = Isomorfeus.cached_data_class(part_class_name)
|
188
|
-
Isomorfeus.raise_error "#{self.name}: #{part_class_name}: Cannot get class!" unless part_class
|
188
|
+
Isomorfeus.raise_error(message: "#{self.name}: #{part_class_name}: Cannot get class!") unless part_class
|
189
189
|
part = part_class.instance_from_transport({ part_class_name => { part_key => included_items_data[part_class_name][part_key] }}, included_items_data)
|
190
|
-
Isomorfeus.raise_error "#{self.name}: #{part_class_name} with key #{part_key} could not be extracted from transport data!" unless part
|
190
|
+
Isomorfeus.raise_error(message: "#{self.name}: #{part_class_name} with key #{part_key} could not be extracted from transport data!") unless part
|
191
191
|
parts[part_name.to_sym] = part
|
192
192
|
end
|
193
193
|
end
|
@@ -173,7 +173,7 @@ module LucidData
|
|
173
173
|
def instance_from_transport(instance_data, included_items_data)
|
174
174
|
key = instance_data[self.name].keys.first
|
175
175
|
revision = instance_data[self.name][key].key?('revision') ? instance_data[self.name][key]['revision'] : nil
|
176
|
-
attributes = instance_data[self.name][key].key?('attributes') ? instance_data[self.name][key]['attributes'] : nil
|
176
|
+
attributes = instance_data[self.name][key].key?('attributes') ? instance_data[self.name][key]['attributes'].transform_keys!(&:to_sym) : nil
|
177
177
|
from_node_sid = instance_data[self.name][key].key?('from') ? instance_data[self.name][key]['from'] : nil
|
178
178
|
to_node_sid = instance_data[self.name][key].key?('to') ? instance_data[self.name][key]['to'] : nil
|
179
179
|
from_to = []
|
@@ -181,12 +181,12 @@ module LucidData
|
|
181
181
|
[from_node_sid, to_node_sid].each do |sid|
|
182
182
|
node_class_name = sid[0]
|
183
183
|
node_key = sid[1]
|
184
|
-
Isomorfeus.raise_error "#{self.name}: #{node_class_name}: Not a valid LucidData class!" unless Isomorfeus.valid_data_class_name?(node_class_name)
|
184
|
+
Isomorfeus.raise_error(message: "#{self.name}: #{node_class_name}: Not a valid LucidData class!") unless Isomorfeus.valid_data_class_name?(node_class_name)
|
185
185
|
if included_items_data.key?(node_class_name) && included_items_data[node_class_name].key?(node_key)
|
186
186
|
node_class = Isomorfeus.cached_data_class(node_class_name)
|
187
|
-
Isomorfeus.raise_error "#{self.name}: #{node_class_name}: Cannot get class!" unless node_class
|
187
|
+
Isomorfeus.raise_error(message: "#{self.name}: #{node_class_name}: Cannot get class!") unless node_class
|
188
188
|
node = node_class.instance_from_transport({ node_class_name => { node_key => included_items_data[node_class_name][node_key] }}, included_items_data)
|
189
|
-
Isomorfeus.raise_error "#{self.name}: #{node_class_name} with key #{node_key} could not be extracted from transport data!" unless node
|
189
|
+
Isomorfeus.raise_error(message: "#{self.name}: #{node_class_name} with key #{node_key} could not be extracted from transport data!") unless node
|
190
190
|
from_to << node
|
191
191
|
end
|
192
192
|
end
|
@@ -470,18 +470,18 @@ module LucidData
|
|
470
470
|
def instance_from_transport(instance_data, included_items_data)
|
471
471
|
key = instance_data[self.name].keys.first
|
472
472
|
revision = instance_data[self.name][key].key?('revision') ? instance_data[self.name][key]['revision'] : nil
|
473
|
-
attributes = instance_data[self.name][key].key?('attributes') ? instance_data[self.name][key]['attributes'] : nil
|
473
|
+
attributes = instance_data[self.name][key].key?('attributes') ? instance_data[self.name][key]['attributes'].transform_keys!(&:to_sym) : nil
|
474
474
|
edges_sids = instance_data[self.name][key].key?('edges') ? instance_data[self.name][key]['edges'] : []
|
475
475
|
edges = []
|
476
476
|
edges_sids.each do |sid|
|
477
477
|
edge_class_name = sid[0]
|
478
478
|
edge_key = sid[1]
|
479
|
-
Isomorfeus.raise_error "#{self.name}: #{edge_class_name}: Not a valid LucidData class!" unless Isomorfeus.valid_data_class_name?(edge_class_name)
|
479
|
+
Isomorfeus.raise_error(message: "#{self.name}: #{edge_class_name}: Not a valid LucidData class!") unless Isomorfeus.valid_data_class_name?(edge_class_name)
|
480
480
|
if included_items_data.key?(edge_class_name) && included_items_data[edge_class_name].key?(edge_key)
|
481
481
|
edge_class = Isomorfeus.cached_data_class(edge_class_name)
|
482
|
-
Isomorfeus.raise_error "#{self.name}: #{edge_class_name}: Cannot get class!" unless edge_class
|
482
|
+
Isomorfeus.raise_error(message: "#{self.name}: #{edge_class_name}: Cannot get class!") unless edge_class
|
483
483
|
edge = edge_class.instance_from_transport({ edge_class_name => { edge_key => included_items_data[edge_class_name][edge_key] }}, included_items_data)
|
484
|
-
Isomorfeus.raise_error "#{self.name}: #{edge_class_name} with key #{edge_key} could not be extracted from transport data!" unless edge
|
484
|
+
Isomorfeus.raise_error(message: "#{self.name}: #{edge_class_name} with key #{edge_key} could not be extracted from transport data!") unless edge
|
485
485
|
edges << edge
|
486
486
|
end
|
487
487
|
end
|
@@ -392,23 +392,27 @@ module LucidData
|
|
392
392
|
def instance_from_transport(instance_data, included_items_data)
|
393
393
|
key = instance_data[self.name].keys.first
|
394
394
|
revision = instance_data[self.name][key].key?('revision') ? instance_data[self.name][key]['revision'] : nil
|
395
|
-
attributes = instance_data[self.name][key].key?('attributes') ? instance_data[self.name][key]['attributes'] : nil
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
nodes_edges = [
|
401
|
-
[
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
Isomorfeus.raise_error "#{self.name}: #{node_class_name}:
|
409
|
-
|
410
|
-
|
411
|
-
|
395
|
+
attributes = instance_data[self.name][key].key?('attributes') ? instance_data[self.name][key]['attributes'].transform_keys!(&:to_sym) : nil
|
396
|
+
|
397
|
+
nodes_hash = instance_data[self.name][key].key?('nodes') ? instance_data[self.name][key]['nodes'] : {}
|
398
|
+
edges_hash = instance_data[self.name][key].key?('edges') ? instance_data[self.name][key]['edges'] : {}
|
399
|
+
|
400
|
+
nodes_edges = [{},{}]
|
401
|
+
[nodes_hash, edges_hash].each_with_index do |hash, hash_index|
|
402
|
+
hash.each do |name, value|
|
403
|
+
namsy = name.to_sym
|
404
|
+
nodes_edges[namsy] = []
|
405
|
+
hash[name].each do |sid|
|
406
|
+
node_class_name = sid[0]
|
407
|
+
node_key = sid[1]
|
408
|
+
Isomorfeus.raise_error(message: "#{self.name}: #{node_class_name}: Not a valid LucidData class!") unless Isomorfeus.valid_data_class_name?(node_class_name)
|
409
|
+
if included_items_data.key?(node_class_name) && included_items_data[node_class_name].key?(node_key)
|
410
|
+
node_class = Isomorfeus.cached_data_class(node_class_name)
|
411
|
+
Isomorfeus.raise_error(message: "#{self.name}: #{node_class_name}: Cannot get class!") unless node_class
|
412
|
+
node = node_class.instance_from_transport({ node_class_name => { node_key => included_items_data[node_class_name][node_key] }}, included_items_data)
|
413
|
+
Isomorfeus.raise_error(message: "#{self.name}: #{node_class_name} with key #{node_key} could not be extracted from transport data!") unless node
|
414
|
+
nodes_edges[namsy] << node
|
415
|
+
end
|
412
416
|
end
|
413
417
|
end
|
414
418
|
end
|
@@ -287,7 +287,7 @@ module LucidData
|
|
287
287
|
def instance_from_transport(instance_data, _included_items_data)
|
288
288
|
key = instance_data[self.name].keys.first
|
289
289
|
revision = instance_data[self.name][key].key?('revision') ? instance_data[self.name][key]['revision'] : nil
|
290
|
-
attributes = instance_data[self.name][key].key?('attributes') ? instance_data[self.name][key]['attributes'] : nil
|
290
|
+
attributes = instance_data[self.name][key].key?('attributes') ? instance_data[self.name][key]['attributes'].transform_keys!(&:to_sym) : nil
|
291
291
|
new(key: key, revision: revision, attributes: attributes)
|
292
292
|
end
|
293
293
|
end
|
@@ -45,8 +45,8 @@ module LucidData
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def to_transport
|
48
|
-
hash = _get_selected_attributes
|
49
|
-
hash.merge!(
|
48
|
+
hash = { 'attributes' => _get_selected_attributes }
|
49
|
+
hash.merge!('revision' => revision) if revision
|
50
50
|
result = { @class_name => { @key => hash }}
|
51
51
|
result.deep_merge!(@class_name => { @previous_key => { new_key: @key}}) if @previous_key
|
52
52
|
result
|
@@ -86,7 +86,7 @@ module LucidData
|
|
86
86
|
end
|
87
87
|
|
88
88
|
def _update_paths
|
89
|
-
@_store_path = [:data_state, @class_name, @key]
|
89
|
+
@_store_path = [:data_state, @class_name, @key, :attributes]
|
90
90
|
end
|
91
91
|
|
92
92
|
def each(&block)
|
@@ -149,7 +149,7 @@ module LucidData
|
|
149
149
|
def instance_from_transport(instance_data, _included_items_data)
|
150
150
|
key = instance_data[self.name].keys.first
|
151
151
|
revision = instance_data[self.name][key].key?('revision') ? instance_data[self.name][key]['revision'] : nil
|
152
|
-
attributes = instance_data[self.name][key].key?('attributes') ? instance_data[self.name][key]['attributes'] : nil
|
152
|
+
attributes = instance_data[self.name][key].key?('attributes') ? instance_data[self.name][key]['attributes'].transform_keys!(&:to_sym) : nil
|
153
153
|
new(key: key, revision: revision, attributes: attributes)
|
154
154
|
end
|
155
155
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: isomorfeus-data
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.zeta14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan Biedermann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -114,28 +114,28 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - '='
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 1.0.0.
|
117
|
+
version: 1.0.0.zeta14
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - '='
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 1.0.0.
|
124
|
+
version: 1.0.0.zeta14
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: isomorfeus
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - '='
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 1.0.0.
|
131
|
+
version: 1.0.0.zeta14
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - '='
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 1.0.0.
|
138
|
+
version: 1.0.0.zeta14
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: opal-webpack-loader
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|