ecoportal-api-v2 0.9.6 → 0.9.7

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: 9502632e0f39a86587a093fb54bcadcd42b7a3db38ed98d5ec35ea5a56a9b257
4
- data.tar.gz: 393ff91c773c047ffa031350a88af80f395847f326ec4b13011f33dc2477c6b5
3
+ metadata.gz: cd61279f012c243d8ac7dc7168273fb76ad2555871f464c17c38a2a54147aea8
4
+ data.tar.gz: a7837403a1df3d5e386d9fd71a24cb29eb98c43ea12637c9a4dd19301ac13bec
5
5
  SHA512:
6
- metadata.gz: c7733b21b7d7dec324c7561cb495e83ffc39f6e567eb5332613590ca914f611ec8361d6a356506f4f6eb846f0cbc5f7361e6235e9c1eb0b992ef7010dff0d093
7
- data.tar.gz: 80d8a90e09c22ddd80854fa4d38ab6b7b6c0d533db3f694059818f20573c9a2f023888f3959fa8c67db8a37a6bbb9597a1d66fda0485e418c4197fcd1788d9e3
6
+ metadata.gz: bb9cdb7833b7eae455274cd89348e395c01bd423d8d9591c62b1f66a129b8e3ef9a13f6301870cf75b4707be6306e4ee83299b6bcc9ce05d3224741d44141019
7
+ data.tar.gz: 9009e8341f147df8610777d99026f6a2107b2fe64d5e0e0c5fa0b7623d632982899e00728a02c6a737395a6755a40f19a54e805b86ab6648cef51e46e3c3c9a4
data/CHANGELOG.md CHANGED
@@ -1,10 +1,22 @@
1
1
  # Change Log
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
- ## [0.9.7] - 2022-11-xx
4
+ ## [0.9.8] - 2022-11-xx
5
5
 
6
6
  ### Added
7
7
  ### Changed
8
+ ### Fixed
9
+
10
+ ## [0.9.7] - 2022-11-29
11
+
12
+ ### Added
13
+ - `Ecoportal::API::V2::Page::Component::ReferenceField` added methods `#delete` and `#clear`
14
+
15
+ ### Changed
16
+ - `Ecoportal::API::V2::Page::Component::ReferenceField#add`
17
+ - be able to add multiple references
18
+ - prevent double-ups, just in case the server doesn't handle this
19
+
8
20
  ### Fixed
9
21
  - `Ecoportal::API::V2::Page::Component#bindings`
10
22
 
@@ -175,7 +175,7 @@ module Ecoportal
175
175
  # @return [Object] the `items_class` element object
176
176
  def upsert!(value, pos: NOT_USED, before: NOT_USED, after: NOT_USED)
177
177
  unless value.is_a?(Hash) || value.is_a?(Content::DoubleModel)
178
- raise "'Content::DoubleModel' or 'Hash' doc required"
178
+ raise "'Content::DoubleModel' or 'Hash' doc required. Given #{value.class}"
179
179
  end
180
180
  item_doc = value.is_a?(Content::DoubleModel)? value.doc : value
181
181
  item_doc = JSON.parse(item_doc.to_json)
@@ -13,19 +13,36 @@ module Ecoportal
13
13
  def empty?
14
14
  reference_ids.empty?
15
15
  end
16
-
16
+
17
17
  def reference_ids
18
18
  references.map do |ref|
19
19
  ref["id"]
20
20
  end
21
21
  end
22
22
 
23
- def add(ref_id)
24
- doc["references"].push({
25
- "id" => ref_id,
26
- "weight" => 0,
27
- "patch_ver" => 0
28
- })
23
+ def add(*ref_ids)
24
+ doc["references"].tap do |refs|
25
+ ref_ids.each do |ref_id|
26
+ next if reference_ids.include?(ref_id)
27
+ refs.push({
28
+ "id" => ref_id,
29
+ "weight" => 0,
30
+ "patch_ver" => 0
31
+ })
32
+ end
33
+ end
34
+ end
35
+
36
+ def clear
37
+ delete(*reference_ids)
38
+ end
39
+
40
+ def delete(*ref_ids)
41
+ ref_ids.each do |ref_id|
42
+ if doc_ref = doc["references"].find {|doc_ref| doc_ref["id"] == ref_id}
43
+ doc["references"].delete(doc_ref)
44
+ end
45
+ end
29
46
  end
30
47
 
31
48
  def to_s(delimiter: "\n")
@@ -1,5 +1,5 @@
1
1
  module Ecoportal
2
2
  module API
3
- GEM2_VERSION = "0.9.6"
3
+ GEM2_VERSION = "0.9.7"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecoportal-api-v2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.6
4
+ version: 0.9.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-11-18 00:00:00.000000000 Z
11
+ date: 2022-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler