booqable 2.0.0 → 2.1.0

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: ee065493e3d48d59edfb13552c3dd8dbce2d800ecfb9d3c8230f6f3c52345be0
4
- data.tar.gz: a9fd9934fd93f8504ca1a58e2cab82e09ab1f4f9f2da9fb4a30033e3f84bfe16
3
+ metadata.gz: 6de92bc26ec8b779be43118a4dcec597eafb4ad286c8eccdccfc2a2a4bb3bc17
4
+ data.tar.gz: 4acc5b8943815409341f7baea30861e89e4d1f219073a1ce92383f8860937526
5
5
  SHA512:
6
- metadata.gz: 4babbce96eead5118e72cf700490aa703fb221730a7bd601f23d229cad34f63c91b59f6a7d955e733b0ce111359eb1c8f4b5e54e3834647952c44baf6e222422
7
- data.tar.gz: fe5bd8c6bc0150c6a61f45e72de5edfc35ae33335d7bc2fa514a31650a20e44ccbd4dfa8fe3df5a9d7bf22915148c4e0bc7a259c9620e316220b66f36990db7d
6
+ metadata.gz: f48525aa293428bc6ab6a1562420789112eff7e9eda24f3b1552ee8651b8f59779e974668c1806b54954075a03168342c1b1cfd2693bdbf2be6af4c352cd8c28
7
+ data.tar.gz: 549516cd55536fb19ace3b32e29f21f6e1b4fd45367e78f8809c4bccb8907179e3eb5a11b55e13eb0335bb71b4eb2202ac114df558872126066c6804d14c6625
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## [2.1.0] - 2026-07-16
2
+
3
+ - Add the `app_issues` resource (CRUD for `App::Issue`).
4
+ - Fix: a to-one relationship serialized with `"data": null` (e.g. a charge
5
+ line's `item`, or an included `barcode` on a product without one) now reads
6
+ as nil, matching the present-with-null attribute semantics — instead of the
7
+ parser dropping the key and the read raising `Booqable::MissingAttribute`.
8
+
1
9
  ## [2.0.0] - 2026-07-14
2
10
 
3
11
  - **Breaking:** reading an attribute that is absent from an API payload now
@@ -184,6 +184,11 @@ module Booqable
184
184
  # Handle multiple relationships (to-many)
185
185
  elsif relationship_data.is_a?(Array)
186
186
  hash[key] = relationship_data
187
+ # An explicitly null to-one relationship ("data": null) is present-with-null, not
188
+ # absent: keep the key so strict reads answer nil instead of raising
189
+ # Booqable::MissingAttribute (see Booqable::StrictAttributes).
190
+ elsif relationship_data.nil?
191
+ hash[key] = nil
187
192
  end
188
193
  end
189
194
 
@@ -2,6 +2,7 @@
2
2
  { "app_carriers": "carriers" },
3
3
  { "app_subscriptions": "subscriptions" },
4
4
  { "app_payment_options": "payment_options" },
5
+ { "app_issues": "issues" },
5
6
  "authentication_methods",
6
7
  "barcodes",
7
8
  "bundles",
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Booqable
4
- VERSION = "2.0.0"
4
+ VERSION = "2.1.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: booqable
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hrvoje Šimić
@@ -187,7 +187,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
187
187
  - !ruby/object:Gem::Version
188
188
  version: '0'
189
189
  requirements: []
190
- rubygems_version: 3.6.9
190
+ rubygems_version: 4.0.6
191
191
  specification_version: 4
192
192
  summary: Official Booqable API client for Ruby.
193
193
  test_files: []