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 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