ecoportal-api-v2 1.1.4 → 1.1.6

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: e7774c15da9ae5d6ff253f7a3d3035d6943e6d4de9b68dbd648ea16b6b815b9e
4
- data.tar.gz: b87045d030a5648294c0d9ed186cb2324d4df008e19fdb97d6ae2d8a4cc3fe38
3
+ metadata.gz: b6294103b68ebdbf099d1137865856b10baec21683bd648727976f245cf197ad
4
+ data.tar.gz: e0500e2c784a46c7a82ca3aa29e44f96d116bd6898e5b35f9174162457208165
5
5
  SHA512:
6
- metadata.gz: c4586c46e7921caa02d561e9a4b13ff2f2c1cc41d64f4501fff54edb6edb733a43b9adb8d38e93a95c1fbd475f6e837ef6a5ce4a003c338e81dd1d729201f223
7
- data.tar.gz: b388223450b1324e3a6e46051b07e2266e275c561ffdc2506354714f259a81e825e5772c22a9608d13c6d90b3e76b2b4a2ce372fc231108f78532a7068335c3b
6
+ metadata.gz: eb18fb2a167afeaea5eac0db4e13ee58d64fc348ff1ebd33942ad1bb7120cbb828ad2652ed2d6b165d7a1b53eea097338032690e26ee97f5765fd87ba2f97862
7
+ data.tar.gz: 7a61a35335247d39a0e97574f5b2816a92238d93a9f5b23c62b909a92ae03817057752ffc576ae1414c5e6744a6381b473be4cd2cfc2a0fd4e7582cffd97bdd4
data/CHANGELOG.md CHANGED
@@ -1,17 +1,33 @@
1
1
  # Change Log
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
- ## [1.1.4] - 2024-02-xx
4
+ ## [1.1.7] - 2024-02-xx
5
5
 
6
6
  ### Added
7
- - Support for new fields
8
- - `Ecoportal::API::V2::Page::Component::ActionsField`
9
- - `Ecoportal::API::V2::Page::Component::MailboxField`
10
-
11
7
  ### Changed
12
- - core gem **upgrade**
8
+ ### Fixed
9
+
10
+ ## [1.1.6] - 2024-02-29
11
+
12
+ ### Added
13
+ - A bit of **specs** on object retrieval for `Ecoportal::API::Common::Conent::CollectionModel`
14
+ - `Ecoportal::API::Registers::PageResult` exposed `membranes`
15
+ - with new object `Ecoportal::API::Registers::PageResult::MembraneDroplet`
13
16
 
14
17
  ### Fixed
18
+ - `Ecoportal::API::Common::Conent::CollectionModel`
19
+
20
+ ## [1.1.5] - 2024-02-03
21
+
22
+ ### Changed
23
+ - Upgrade gem dependencies
24
+
25
+ ## [1.1.4] - 2024-02-01
26
+
27
+ ### Added
28
+ - Support for new fields
29
+ - `Ecoportal::API::V2::Page::Component::ActionsField`
30
+ - `Ecoportal::API::V2::Page::Component::MailboxField`
15
31
 
16
32
  ## [1.1.3] - 2023-06-28
17
33
 
data/README.md CHANGED
@@ -20,3 +20,8 @@ And then execute:
20
20
  Or install it yourself as:
21
21
 
22
22
  $ gem install ecoportal-api-v2
23
+
24
+
25
+ ## Changelog
26
+
27
+ See {file:CHANGELOG.md} for a list of changes.
@@ -22,12 +22,12 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
24
 
25
- spec.add_development_dependency "bundler", ">= 2.4.9", "< 3"
26
- spec.add_development_dependency "rspec", ">= 3.10.0", "< 4"
25
+ spec.add_development_dependency "bundler", ">= 2.4.12", "< 3"
26
+ spec.add_development_dependency "rspec", ">= 3.12.0", "< 4"
27
27
  spec.add_development_dependency "rake", ">= 13.0.3", "< 14"
28
- spec.add_development_dependency "yard", ">= 0.9.26", "< 1"
29
- spec.add_development_dependency "redcarpet", ">= 3.5.1", "< 4"
28
+ spec.add_development_dependency "yard", ">= 0.9.34", "< 1"
29
+ spec.add_development_dependency "redcarpet", ">= 3.6.0", "< 4"
30
30
  spec.add_development_dependency "pry" , ">= 0.14"
31
31
 
32
- spec.add_dependency 'ecoportal-api', '>= 0.9.5', '< 0.10'
32
+ spec.add_dependency 'ecoportal-api', '>= 0.9.6', '< 0.10'
33
33
  end
@@ -11,6 +11,8 @@ module Ecoportal
11
11
  attr_writer :klass
12
12
  attr_accessor :order_matters, :order_key
13
13
 
14
+ # The attr that has been defined as `passkey`
15
+ # in the item class
14
16
  def items_key
15
17
  @items_key ||= "id"
16
18
  end
@@ -22,6 +24,8 @@ module Ecoportal
22
24
  # Resolves to the nuclear `Class` of the elements
23
25
  # @note
24
26
  # - use block to define `klass` callback
27
+ # @note When `klass` is resolved, if the items are of type
28
+ # `DoubleModel`, it sets on the collection class the `items_key`
25
29
  # @param value [Hash] base `doc` (raw object) to create the object with
26
30
  # @yield [doc] identifies the target `class` of the raw object
27
31
  # @yieldparam doc [Hash]
@@ -31,6 +35,7 @@ module Ecoportal
31
35
  if block
32
36
  @klass = block
33
37
  block.call(value) if value != NOT_USED
38
+ @klass
34
39
  elsif used_param?(value)
35
40
  if @klass.is_a?(Proc)
36
41
  @klass.call(value)
@@ -39,6 +44,10 @@ module Ecoportal
39
44
  end
40
45
  else
41
46
  resolve_class(@klass, exception: false)
47
+ end.tap do |result|
48
+ next unless result.is_a?(Class)
49
+ next unless result < Ecoportal::API::Common::Content::DoubleModel
50
+ self.items_key = result.key
42
51
  end
43
52
  end
44
53
 
@@ -127,7 +136,17 @@ module Ecoportal
127
136
  #print "{{#{p}}}"
128
137
  end
129
138
  else
130
- raise UnlinkedModel.new("Can't find child: #{value}")
139
+ show_str = \
140
+ case value
141
+ when Hash
142
+ value.pretty_inspect
143
+ when Content::DoubleModel
144
+ "#{value} with key: #{value.class.key} (items_key: #{self.class.items_key})"
145
+ else
146
+ value
147
+ end
148
+
149
+ raise UnlinkedModel, "Can't find child: #{show_str}"
131
150
  end
132
151
  end
133
152
 
@@ -28,6 +28,8 @@ module Ecoportal
28
28
  !!key
29
29
  end
30
30
 
31
+ # key property (and method) of this model
32
+ # @note this is auto-set when `passkey` is used
31
33
  def key=(value)
32
34
  @key = value.to_s.freeze
33
35
  end
@@ -72,7 +74,7 @@ module Ecoportal
72
74
  # This method is essential to give stability to the model
73
75
  # @note `Content::CollectionModel` needs to find elements in the doc `Array`.
74
76
  # The only way to do it is via the access key (i.e. `id`). However, there is
75
- # no chance you can avoid invinite loop for `get_key` without setting an
77
+ # no chance you can avoid infinite loop for `get_key` without setting an
76
78
  # instance variable key at the moment of the object creation, when the
77
79
  # `doc` is firstly received
78
80
  # @param method [Symbol] the method that exposes the value
@@ -263,6 +265,7 @@ module Ecoportal
263
265
 
264
266
  inheritable_class_vars :forced_model_keys, :key
265
267
 
268
+ # `_key` refers to the parent's property that links to this model
266
269
  attr_reader :_parent, :_key, :_read_only
267
270
 
268
271
  def initialize(doc = {}, parent: self, key: nil, read_only: false)
@@ -321,6 +324,8 @@ module Ecoportal
321
324
  if is_root?
322
325
  @doc
323
326
  else
327
+ # transform parent's `_key` to this object into a
328
+ # path key that can rerieve from the parents's doc
324
329
  _parent.doc.dig(*[_doc_key(_key)].flatten)
325
330
  end
326
331
  end
@@ -0,0 +1,15 @@
1
+ module Ecoportal
2
+ module API
3
+ class V2
4
+ class Registers
5
+ class PageResult
6
+ class MembraneDroplet < Common::Content::DoubleModel
7
+ passkey :ref
8
+ passthrough :label, :type, :value
9
+ passthrough :field_configuration_id
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -12,10 +12,14 @@ module Ecoportal
12
12
  passthrough :mould_counter
13
13
 
14
14
  class_resolver :stages_class, "Ecoportal::API::V2::Registers::StagesResult"
15
- embeds_many :stages, enum_class: :stages_class
16
- end
15
+ embeds_many :stages, enum_class: :stages_class, read_only: true
17
16
 
17
+ class_resolver :mem_droplet, "Ecoportal::API::V2::Registers::PageResult::MembraneDroplet"
18
+ embeds_many :membranes, klass: :mem_droplet, read_only: true
19
+ end
18
20
  end
19
21
  end
20
22
  end
21
23
  end
24
+
25
+ require_relative 'page_result/membrane_droplet'
@@ -1,5 +1,5 @@
1
1
  module Ecoportal
2
2
  module API
3
- GEM2_VERSION = "1.1.4"
3
+ GEM2_VERSION = "1.1.6"
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: 1.1.4
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-31 00:00:00.000000000 Z
11
+ date: 2024-02-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 2.4.9
19
+ version: 2.4.12
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '3'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 2.4.9
29
+ version: 2.4.12
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '3'
@@ -36,7 +36,7 @@ dependencies:
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 3.10.0
39
+ version: 3.12.0
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
42
  version: '4'
@@ -46,7 +46,7 @@ dependencies:
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 3.10.0
49
+ version: 3.12.0
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '4'
@@ -76,7 +76,7 @@ dependencies:
76
76
  requirements:
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
- version: 0.9.26
79
+ version: 0.9.34
80
80
  - - "<"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1'
@@ -86,7 +86,7 @@ dependencies:
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 0.9.26
89
+ version: 0.9.34
90
90
  - - "<"
91
91
  - !ruby/object:Gem::Version
92
92
  version: '1'
@@ -96,7 +96,7 @@ dependencies:
96
96
  requirements:
97
97
  - - ">="
98
98
  - !ruby/object:Gem::Version
99
- version: 3.5.1
99
+ version: 3.6.0
100
100
  - - "<"
101
101
  - !ruby/object:Gem::Version
102
102
  version: '4'
@@ -106,7 +106,7 @@ dependencies:
106
106
  requirements:
107
107
  - - ">="
108
108
  - !ruby/object:Gem::Version
109
- version: 3.5.1
109
+ version: 3.6.0
110
110
  - - "<"
111
111
  - !ruby/object:Gem::Version
112
112
  version: '4'
@@ -130,7 +130,7 @@ dependencies:
130
130
  requirements:
131
131
  - - ">="
132
132
  - !ruby/object:Gem::Version
133
- version: 0.9.5
133
+ version: 0.9.6
134
134
  - - "<"
135
135
  - !ruby/object:Gem::Version
136
136
  version: '0.10'
@@ -140,7 +140,7 @@ dependencies:
140
140
  requirements:
141
141
  - - ">="
142
142
  - !ruby/object:Gem::Version
143
- version: 0.9.5
143
+ version: 0.9.6
144
144
  - - "<"
145
145
  - !ruby/object:Gem::Version
146
146
  version: '0.10'
@@ -156,7 +156,6 @@ files:
156
156
  - ".gitignore"
157
157
  - ".rspec"
158
158
  - ".rubocop.yml"
159
- - ".travis.yml"
160
159
  - ".yardopts"
161
160
  - CHANGELOG.md
162
161
  - Gemfile
@@ -242,6 +241,7 @@ files:
242
241
  - lib/ecoportal/api/v2/people.rb
243
242
  - lib/ecoportal/api/v2/registers.rb
244
243
  - lib/ecoportal/api/v2/registers/page_result.rb
244
+ - lib/ecoportal/api/v2/registers/page_result/membrane_droplet.rb
245
245
  - lib/ecoportal/api/v2/registers/register.rb
246
246
  - lib/ecoportal/api/v2/registers/search_results.rb
247
247
  - lib/ecoportal/api/v2/registers/stage_result.rb
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.5.1
5
- before_install: gem install bundler -v 1.16.1