eco-helpers 3.2.18 → 3.2.19

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: 9238296c1185b73d2dfa18af81387f01e7b913af4fa3732491dfeed4a7ba6caf
4
- data.tar.gz: 4b8a882badc3d22c2ba166e45284e1b4d1e3912afa8a2452072765917165fe3b
3
+ metadata.gz: e64f4c0a2c6dc0b63299469ad23910bd227a3a8aa95f040f8cf0c9019baeccea
4
+ data.tar.gz: d34e7ef09189ef29233f81263399f5af0b2fb36fdb86365427449c9da9c75fef
5
5
  SHA512:
6
- metadata.gz: 1b0abd929fdb1827a544d18ec6c2a2a49b0807caedae00603f6d656c8e8f4498b5ea500f8f3845fcd44187f156125916456326513da21134c16a73ba7eee32ee
7
- data.tar.gz: 755a6f6efa59752b4897506be1bdc2b408a2e7f84c26330b7c192dd805ff3851b13966e8516da6e61517d86b3cb267a6e8884a26069ea20f8be962d5e1886f18
6
+ metadata.gz: f334bce839ff57df6dedcd64891bc2b4ddb230419d617746e8c65ab4033ca7df2d65c5b0716aa823b43625138a2f9e829a060cabba4f71b02a444661e72652e1
7
+ data.tar.gz: 047b80c9620899819844f1e2822fe991487b41b0f05b440836fbbccfda8a190b0f9da2ee8a19841852fe7e3ef3d15edb600c81aac5c350341e52e715ad926f3b
data/CHANGELOG.md CHANGED
@@ -2,6 +2,29 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [3.2.19] - 2026-07-16
6
+
7
+ Farmers / `cans-upsert` reliability adoption + an ooze KPI counter fix. **Backwards-compatible.**
8
+ Cut from the `v3.2.18` tag (not `master`, which carries the native GraphQL activity/dashboard
9
+ readers depending on the unreleased gem `1.4.0`), so this ships needing only the published
10
+ `ecoportal-api-graphql 1.3.14`.
11
+
12
+ ### Changed
13
+
14
+ - **Floor `ecoportal-api-graphql` to `>= 1.3.14`** (was `>= 1.3.11`) — pulls the HttpClient
15
+ 429/1015 resilience fix, so bulk `cans-upsert` / register-update live runs are no longer
16
+ aborted by a single Cloudflare edge rate-limit.
17
+
18
+ ### Fixed
19
+
20
+ - **Ooze update KPI counters now count GraphQL updates.** `RegisterUpdateCase` tallied
21
+ `updated`/`failed` only when the result `is_a?(Ecoportal::API::Common::Response)`, but the
22
+ GraphQL compat layer returns an `Ecoportal::API::GraphQL::Compat::Response` — it duck-types
23
+ `success?`/`status` yet is not in that class hierarchy, so every GraphQL update was silently
24
+ uncounted (`Updated 0 (attempted: N)`, `Failed 0`) even when the write applied. The guard is
25
+ now a duck-type (`respond_to?(:success?)`); `false`/`nil` returns (dry-run / no-op) still skip.
26
+ **Note:** this fixes the *report* only — the updates themselves were already applying.
27
+
5
28
  ## [3.2.18] - 2026-07-10
6
29
 
7
30
  Version-identity + regression-guard release. **No behaviour change** vs the fixed `3.2.17` build —
data/eco-helpers.gemspec CHANGED
@@ -42,7 +42,7 @@ Gem::Specification.new do |spec|
42
42
  spec.add_dependency 'docx', '>= 0.8.0', '< 0.9'
43
43
  spec.add_dependency 'dotenv', '~> 3'
44
44
  spec.add_dependency 'ecoportal-api', '~> 0.10', '>= 0.10.14'
45
- spec.add_dependency 'ecoportal-api-graphql', '~> 1.3', '>= 1.3.11'
45
+ spec.add_dependency 'ecoportal-api-graphql', '~> 1.3', '>= 1.3.14'
46
46
  spec.add_dependency 'ecoportal-api-v2', '~> 3.3', '>= 3.3.3'
47
47
  spec.add_dependency 'ed25519', '~> 1.2'
48
48
  spec.add_dependency 'fast_excel', '>= 0.5.0', '< 0.6'
@@ -54,7 +54,10 @@ class Eco::API::UseCases::OozeSamples::RegisterUpdateCase < Eco::API::UseCases::
54
54
  return unless (pending = queue_shift(ooze_id))
55
55
 
56
56
  update_ooze(pending).tap do |result|
57
- if result.is_a?(Ecoportal::API::Common::Response)
57
+ # Duck-type, not is_a?: the GraphQL Compat::Response responds to success?/status but is
58
+ # NOT an Ecoportal::API::Common::Response, so is_a? silently skipped every GraphQL update
59
+ # (updated/failed stuck at 0). false/nil returns (dry-run / no-op) still fall through.
60
+ if result.respond_to?(:success?)
58
61
  if result.success?
59
62
  @updated_oozes += 1
60
63
  else
@@ -188,7 +191,8 @@ class Eco::API::UseCases::OozeSamples::RegisterUpdateCase < Eco::API::UseCases::
188
191
  def update_oozes(batched_oozes = batch_queue)
189
192
  batched_oozes.each do |ooze|
190
193
  update_ooze(ooze).tap do |result|
191
- if result.is_a?(Ecoportal::API::Common::Response)
194
+ # Duck-type, not is_a? — see #before_loading_new_target (GraphQL Compat::Response).
195
+ if result.respond_to?(:success?)
192
196
  if result.success?
193
197
  @updated_oozes += 1
194
198
  else
data/lib/eco/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Eco
2
- VERSION = '3.2.18'.freeze
2
+ VERSION = '3.2.19'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eco-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.18
4
+ version: 3.2.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
@@ -262,7 +262,7 @@ dependencies:
262
262
  version: '1.3'
263
263
  - - ">="
264
264
  - !ruby/object:Gem::Version
265
- version: 1.3.11
265
+ version: 1.3.14
266
266
  type: :runtime
267
267
  prerelease: false
268
268
  version_requirements: !ruby/object:Gem::Requirement
@@ -272,7 +272,7 @@ dependencies:
272
272
  version: '1.3'
273
273
  - - ">="
274
274
  - !ruby/object:Gem::Version
275
- version: 1.3.11
275
+ version: 1.3.14
276
276
  - !ruby/object:Gem::Dependency
277
277
  name: ecoportal-api-v2
278
278
  requirement: !ruby/object:Gem::Requirement