ecoportal-api 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ecoportal/api/v1/person.rb +21 -8
- data/lib/ecoportal/api/v1/person_schema.rb +0 -4
- data/lib/ecoportal/api/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: 0a48c4137d9f3a6fd2c2089e984257ee11122bf14e62ab67d8d9d5d5450cd4ec
|
4
|
+
data.tar.gz: cf156327767d58bf8b6db87793122fa1790ef8f4ddcf343d86d7f866a395e148
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b63ff282e00e7d550cc90d350712505ab57d258f84365b13f8484be00c440f01c9b98183dcbecad42e124ca714076277a6ffd668cea997125496e3ee852530e
|
7
|
+
data.tar.gz: 162e54978d470815a3c2c43e3f9c39b84a5bb591b50567e3e338e26ef9715eca2a91a1a4fa76e72fb70658af2e45aafa36d2a6ac0b4b00c9de71f9ad83491f17
|
@@ -36,18 +36,31 @@ module Ecoportal
|
|
36
36
|
raise "Invalid set on details: Need nil, PersonDetails or Hash; got #{value.class}"
|
37
37
|
end
|
38
38
|
remove_instance_variable("@details") if defined?(@details)
|
39
|
-
|
39
|
+
details.tap do |details|
|
40
|
+
# When reassigning details, mark the whole thing as dirty
|
41
|
+
details&.instance_variable_set("@original_doc", {})
|
42
|
+
end
|
40
43
|
end
|
41
44
|
|
42
45
|
def add_details(schema_or_id)
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
46
|
+
person_details_class.new.tap do |new_details|
|
47
|
+
case schema_or_id
|
48
|
+
when person_schema_class
|
49
|
+
schema_or_id.initialize_details(new_details)
|
50
|
+
when String
|
51
|
+
new_details.schema_id = schema_or_id
|
52
|
+
end
|
53
|
+
self.details = new_details
|
54
|
+
# Patch out static data from as_update
|
55
|
+
@original_doc["details"] = {
|
56
|
+
"fields" => JSON.parse(doc["details"]["fields"].to_json)
|
57
|
+
}
|
58
|
+
end
|
59
|
+
self.details.tap do |details|
|
60
|
+
# Patch out static data from as_update
|
61
|
+
original = details.instance_variable_get("@original_doc")
|
62
|
+
original["fields"] = JSON.parse(doc["details"]["fields"].to_json)
|
49
63
|
end
|
50
|
-
self.details
|
51
64
|
end
|
52
65
|
|
53
66
|
private
|
@@ -41,10 +41,6 @@ module Ecoportal
|
|
41
41
|
"value" => field.multiple ? [] : nil
|
42
42
|
)
|
43
43
|
end
|
44
|
-
# Patch out static data from as_update
|
45
|
-
original = details.instance_variable_get("@original_doc")
|
46
|
-
original["fields"] = JSON.parse(details.doc["fields"].to_json)
|
47
|
-
return
|
48
44
|
end
|
49
45
|
|
50
46
|
private
|