diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 7c31fce2..aa848759 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.21" + ".": "0.1.0-alpha.22" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 6604d3bb..d2deb3fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 0.1.0-alpha.22 (2025-06-30) + +Full Changelog: [v0.1.0-alpha.21...v0.1.0-alpha.22](https://github.com/Finch-API/finch-api-ruby/compare/v0.1.0-alpha.21...v0.1.0-alpha.22) + +### Chores + +* **internal:** allow streams to also be unwrapped on a per-row basis ([4146224](https://github.com/Finch-API/finch-api-ruby/commit/41462243c425627d1bcd8473c3fd7bea38edb3cd)) +* **internal:** version bump ([89516f1](https://github.com/Finch-API/finch-api-ruby/commit/89516f1e431dc0a56f324fd3c72b1c2e4c240d05)) + ## 0.1.0-alpha.21 (2025-06-27) Full Changelog: [v0.1.0-alpha.20...v0.1.0-alpha.21](https://github.com/Finch-API/finch-api-ruby/compare/v0.1.0-alpha.20...v0.1.0-alpha.21) diff --git a/Gemfile.lock b/Gemfile.lock index bb1b626c..88942561 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - finch-api (0.1.0.pre.alpha.20) + finch-api (0.1.0.pre.alpha.21) connection_pool GEM diff --git a/README.md b/README.md index f7d10cd7..fdf6c986 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "finch-api", "~> 0.1.0.pre.alpha.21" +gem "finch-api", "~> 0.1.0.pre.alpha.22" ``` diff --git a/lib/finch_api/internal/transport/base_client.rb b/lib/finch_api/internal/transport/base_client.rb index 42d40224..6e306754 100644 --- a/lib/finch_api/internal/transport/base_client.rb +++ b/lib/finch_api/internal/transport/base_client.rb @@ -471,6 +471,7 @@ def request(req) self.class.validate!(req) model = req.fetch(:model) { FinchAPI::Internal::Type::Unknown } opts = req[:options].to_h + unwrap = req[:unwrap] FinchAPI::RequestOptions.validate!(opts) request = build_request(req.except(:options), opts) url = request.fetch(:url) @@ -487,11 +488,18 @@ def request(req) decoded = FinchAPI::Internal::Util.decode_content(response, stream: stream) case req in {stream: Class => st} - st.new(model: model, url: url, status: status, response: response, stream: decoded) + st.new( + model: model, + url: url, + status: status, + response: response, + unwrap: unwrap, + stream: decoded + ) in {page: Class => page} page.new(client: self, req: req, headers: response, page_data: decoded) else - unwrapped = FinchAPI::Internal::Util.dig(decoded, req[:unwrap]) + unwrapped = FinchAPI::Internal::Util.dig(decoded, unwrap) FinchAPI::Internal::Type::Converter.coerce(model, unwrapped) end end diff --git a/lib/finch_api/version.rb b/lib/finch_api/version.rb index 25c716af..66c26782 100644 --- a/lib/finch_api/version.rb +++ b/lib/finch_api/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module FinchAPI - VERSION = "0.1.0.pre.alpha.21" + VERSION = "0.1.0.pre.alpha.22" end