lhs 24.1.0.pre.1 → 24.1.0.pre.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/lhs/concerns/data/extend.rb +6 -0
- data/lib/lhs/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a418b290339a24c8c2551c84facfe6ace4454dfb412d73ccd4bca16b89c5539
|
4
|
+
data.tar.gz: 1f8c96a3b79392e4bdd3bfde8752b99ad37721bff564a23e2431db85469c02d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7cfc3e5008104bca9f6bea87c3cde06c774946c2c0d4ce56b8f9f2ab589c8d93dba506722e2ef389a48c2432c23d9353529b274930817a6204a0f7eea5d45594
|
7
|
+
data.tar.gz: 49aa488ca17924ff4c4587c5aee20247417946d719ea29dde5f3f9a155c0f6f4099f5cdb53175e82b98ae984cf4b8b5614883cb8520fd224c9a660aa966d1a02
|
@@ -10,6 +10,7 @@ class LHS::Data
|
|
10
10
|
# Extends already fetched data (self) with additionally
|
11
11
|
# fetched data (addition) using the given key
|
12
12
|
def extend!(addition, key)
|
13
|
+
addition = cast_relation_class_for_extension(addition, key)
|
13
14
|
if collection?
|
14
15
|
extend_collection!(addition, key)
|
15
16
|
elsif self[key]._raw.is_a? Array
|
@@ -21,6 +22,11 @@ class LHS::Data
|
|
21
22
|
|
22
23
|
private
|
23
24
|
|
25
|
+
def cast_relation_class_for_extension(addition, key)
|
26
|
+
return addition if _record.nil? || _record._relations.nil? || _record._relations[key].nil?
|
27
|
+
addition.becomes(_record._relations[key][:record_class_name].constantize, errors: addition.errors, warnings: addition.warnings)
|
28
|
+
end
|
29
|
+
|
24
30
|
def extend_collection!(addition, key)
|
25
31
|
map do |item|
|
26
32
|
item_raw = item._raw[key]
|
data/lib/lhs/version.rb
CHANGED