ecoportal-api 0.2.1 → 0.2.2

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: dc61e1dcd4fce98df40134e6d8803ecb1cf173dfc3fc2e728fffe1651b9b00be
4
- data.tar.gz: edc0798d69fc802c50f0f6fce556e9bb62c4242a05145286332148c3ee4fce72
3
+ metadata.gz: 0a48c4137d9f3a6fd2c2089e984257ee11122bf14e62ab67d8d9d5d5450cd4ec
4
+ data.tar.gz: cf156327767d58bf8b6db87793122fa1790ef8f4ddcf343d86d7f866a395e148
5
5
  SHA512:
6
- metadata.gz: 29ea3c284644656303b702dd507e1d133319bf9cd6b48403ae2b738b4e16ba19d93692ffcd20b110070c571086f0cda7b3ea1db2b0a7f8afd69b7c56bb261b64
7
- data.tar.gz: aeb583b4065f68809d52145913854faac2feb8098ff0e2f993db03916df08fa55a70d3fe27383c02bdc01ebf1988602c20c55e801b5f553abe961f7af7ef2ea7
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
- return details
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
- self.details = person_details_class.new
44
- case schema_or_id
45
- when person_schema_class
46
- schema_or_id.initialize_details(self.details)
47
- when String
48
- self.details.schema_id = schema_or_id
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
@@ -1,5 +1,5 @@
1
1
  module Ecoportal
2
2
  module API
3
- VERSION = "0.2.1"
3
+ VERSION = "0.2.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecoportal-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tapio Saarinen