Skip to content

Commit c879d48

Browse files
release: 0.1.0-alpha.20 (#151)
* chore(internal): version bump * chore: whitespaces * fix: correctly instantiate sorbet type aliases for enums and unions * chore: use sorbet union aliases where available * chore: refine Yard and Sorbet types and ensure linting is turned on for examples * chore(docs): grammar improvements * chore: force utf-8 locale via `RUBYOPT` when formatting * chore: use fully qualified names for yard annotations and rbs aliases * feat(api): api update * feat(api): api update * codegen metadata * fix: prevent rubocop from mangling `===` to `is_a?` check * codegen metadata * codegen metadata * fix: sorbet types for enums, and make tapioca detection ignore `tapioca dsl` * codegen metadata * chore(tests): skip endpoints with basic auth * fix: `to_sorbet_type` should not return branded types * fix(client): fix PayStatementResponse body * fix: default content-type for text in multi-part formdata uploads should be text/plain * fix(client): manual fix * chore(ci): link to correct github repo * feat(api): api update * feat(api): api update * chore(ci): enable for pull requests * fix: issue where we cannot mutate arrays on base model derivatives array properties are now always recursively coerced into the desire type upon being set, instead of "almost always" hash key names are no longer unnecessarily translated when creating base models via hash coercion errors are now stored and re-thrown instead of being re-computed each property access fixed inconsistencies where sometimes `TypeError`s would be thrown instead of `ArgumentError`s, and vice versa * release: 0.1.0-alpha.20 --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent 98a89f3 commit c879d48

File tree

304 files changed

+6054
-4914
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

304 files changed

+6054
-4914
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ on:
77
- 'integrated/**'
88
- 'stl-preview-head/**'
99
- 'stl-preview-base/**'
10+
pull_request:
11+
branches-ignore:
12+
- 'stl-preview-head/**'
13+
- 'stl-preview-base/**'
1014

1115
jobs:
1216
lint:

.github/workflows/publish-gem.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# This workflow is triggered when a GitHub release is created.
22
# It can also be run manually to re-publish to rubygems.org in case it failed for some reason.
3-
# You can run this workflow by navigating to https://www.github.com/Finch-API/finch-api-python/actions/workflows/publish-gem.yml
3+
# You can run this workflow by navigating to https://www.github.com/Finch-API/finch-api-ruby/actions/workflows/publish-gem.yml
44
name: Publish Gem
55
on:
66
workflow_dispatch:

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.1.0-alpha.19"
2+
".": "0.1.0-alpha.20"
33
}

.stats.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 46
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-944a0f9d35f3b8ec2ba62fa12e551cf89f0b845f8ed1e3c7f67a9fb80b32d96f.yml
3-
openapi_spec_hash: 37c849e7b5dd941c011385b49467e077
4-
config_hash: 53778a0b839c4f6ad34fbba051f5e8a6
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-f7e741bc6e0175fd96a9db5348092b90a77b0985154c0814bb681ad5dccdf19a.yml
3+
openapi_spec_hash: b348a9ef407a8e91dd770fcb219d4ac5
4+
config_hash: 5146b12344dae76238940989dac1e8a0

CHANGELOG.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,42 @@
11
# Changelog
22

3+
## 0.1.0-alpha.20 (2025-06-18)
4+
5+
Full Changelog: [v0.1.0-alpha.19...v0.1.0-alpha.20](https://github.com/Finch-API/finch-api-ruby/compare/v0.1.0-alpha.19...v0.1.0-alpha.20)
6+
7+
### Features
8+
9+
* **api:** api update ([6a3cc47](https://github.com/Finch-API/finch-api-ruby/commit/6a3cc47713d3f52d84da946c1f86c328692a71f1))
10+
* **api:** api update ([055b260](https://github.com/Finch-API/finch-api-ruby/commit/055b260f9607ea1c408510bf19c86390ba515b48))
11+
* **api:** api update ([6e46c62](https://github.com/Finch-API/finch-api-ruby/commit/6e46c62b78b34d3944136bea9decd9254b9d7b2c))
12+
* **api:** api update ([68d04c3](https://github.com/Finch-API/finch-api-ruby/commit/68d04c3e38f076254375ef4e1ea24383d7ff7aa2))
13+
14+
15+
### Bug Fixes
16+
17+
* `to_sorbet_type` should not return branded types ([2819280](https://github.com/Finch-API/finch-api-ruby/commit/281928010fa852dd399354a4561191120e85ad00))
18+
* **client:** fix PayStatementResponse body ([bb0bb58](https://github.com/Finch-API/finch-api-ruby/commit/bb0bb581ffc994714895363e21f461e2ec82676e))
19+
* **client:** manual fix ([3774286](https://github.com/Finch-API/finch-api-ruby/commit/3774286f68227085e6f54396290e3de7569bba0d))
20+
* correctly instantiate sorbet type aliases for enums and unions ([9a84b92](https://github.com/Finch-API/finch-api-ruby/commit/9a84b92df48e001ee28989703cbe8bdd9f461528))
21+
* default content-type for text in multi-part formdata uploads should be text/plain ([2288848](https://github.com/Finch-API/finch-api-ruby/commit/2288848990739f298069c86ad90d915c1bd88c60))
22+
* issue where we cannot mutate arrays on base model derivatives ([c4c0158](https://github.com/Finch-API/finch-api-ruby/commit/c4c01587e16d76f1c6b3f5a48414000954dc4805))
23+
* prevent rubocop from mangling `===` to `is_a?` check ([6301929](https://github.com/Finch-API/finch-api-ruby/commit/6301929d697ae1c006446a12e6c67046e83ef132))
24+
* sorbet types for enums, and make tapioca detection ignore `tapioca dsl` ([4aaba62](https://github.com/Finch-API/finch-api-ruby/commit/4aaba6261e6c92833ab6e46acb2e2652da843be9))
25+
26+
27+
### Chores
28+
29+
* **ci:** enable for pull requests ([77fdc63](https://github.com/Finch-API/finch-api-ruby/commit/77fdc63fa78dd6356baf44cc3770902bfb83311b))
30+
* **ci:** link to correct github repo ([6479e22](https://github.com/Finch-API/finch-api-ruby/commit/6479e2217a712d55aac84da1041a88efcbd4f1f2))
31+
* **docs:** grammar improvements ([0c55f26](https://github.com/Finch-API/finch-api-ruby/commit/0c55f26abe131663cfe8e739b95154172d967085))
32+
* force utf-8 locale via `RUBYOPT` when formatting ([2f00817](https://github.com/Finch-API/finch-api-ruby/commit/2f008175f0a18dc01a0c2b900c2e692f77b3a0ac))
33+
* **internal:** version bump ([2b40219](https://github.com/Finch-API/finch-api-ruby/commit/2b4021961b248f64cb9c5564b4199d0c840593fd))
34+
* refine Yard and Sorbet types and ensure linting is turned on for examples ([e0eb636](https://github.com/Finch-API/finch-api-ruby/commit/e0eb63695b803e35dd9e35a57cd0769a60db7bc7))
35+
* **tests:** skip endpoints with basic auth ([529b41e](https://github.com/Finch-API/finch-api-ruby/commit/529b41ea3cf67b553d85e36a256cc5d6c4b13800))
36+
* use fully qualified names for yard annotations and rbs aliases ([98866d5](https://github.com/Finch-API/finch-api-ruby/commit/98866d5133c2afb76b141045f1361705f9bac94a))
37+
* use sorbet union aliases where available ([37cc1c2](https://github.com/Finch-API/finch-api-ruby/commit/37cc1c27968a448e7bfef8527a0f3105b476de09))
38+
* whitespaces ([16ff9b3](https://github.com/Finch-API/finch-api-ruby/commit/16ff9b32a68eecb17c5719b354de64fe788bedd4))
39+
340
## 0.1.0-alpha.19 (2025-05-16)
441

542
Full Changelog: [v0.1.0-alpha.18...v0.1.0-alpha.19](https://github.com/Finch-API/finch-api-ruby/compare/v0.1.0-alpha.18...v0.1.0-alpha.19)

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ GIT
1111
PATH
1212
remote: .
1313
specs:
14-
finch-api (0.1.0.pre.alpha.18)
14+
finch-api (0.1.0.pre.alpha.19)
1515
connection_pool
1616

1717
GEM

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
1717
<!-- x-release-please-start-version -->
1818

1919
```ruby
20-
gem "finch-api", "~> 0.1.0.pre.alpha.19"
20+
gem "finch-api", "~> 0.1.0.pre.alpha.20"
2121
```
2222

2323
<!-- x-release-please-end -->
@@ -170,7 +170,7 @@ puts(page[:my_undocumented_property])
170170

171171
#### Undocumented request params
172172

173-
If you want to explicitly send an extra param, you can do so with the `extra_query`, `extra_body`, and `extra_headers` under the `request_options:` parameter when making a request as seen in examples above.
173+
If you want to explicitly send an extra param, you can do so with the `extra_query`, `extra_body`, and `extra_headers` under the `request_options:` parameter when making a request, as seen in the examples above.
174174

175175
#### Undocumented endpoints
176176

@@ -188,7 +188,7 @@ response = client.request(
188188

189189
### Concurrency & connection pooling
190190

191-
The `FinchAPI::Client` instances are threadsafe, but only are fork-safe when there are no in-flight HTTP requests.
191+
The `FinchAPI::Client` instances are threadsafe, but are only are fork-safe when there are no in-flight HTTP requests.
192192

193193
Each instance of `FinchAPI::Client` has its own HTTP connection pool with a default size of 99. As such, we recommend instantiating the client once per application in most settings.
194194

@@ -238,7 +238,7 @@ finch.hris.benefits.create(
238238
#
239239
)
240240

241-
# Literal values is also permissible:
241+
# Literal values are also permissible:
242242
finch.hris.benefits.create(
243243
frequency: :one_time,
244244
#

Rakefile

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ require "rake/clean"
99
require "rubocop/rake_task"
1010

1111
tapioca = "sorbet/tapioca"
12+
examples = "examples"
1213
ignore_file = ".ignore"
1314

1415
CLEAN.push(*%w[.idea/ .ruby-lsp/ .yardoc/ doc/], *FileList["*.gem"], ignore_file)
@@ -35,11 +36,11 @@ multitask(:test) do
3536
end
3637

3738
xargs = %w[xargs --no-run-if-empty --null --max-procs=0 --max-args=300 --]
38-
locale = {"LC_ALL" => "C.UTF-8"}
39+
ruby_opt = {"RUBYOPT" => [ENV["RUBYOPT"], "--encoding=UTF-8"].compact.join(" ")}
3940

4041
desc("Lint `*.rb(i)`")
4142
multitask(:"lint:rubocop") do
42-
find = %w[find ./lib ./test ./rbi -type f -and ( -name *.rb -or -name *.rbi ) -print0]
43+
find = %w[find ./lib ./test ./rbi ./examples -type f -and ( -name *.rb -or -name *.rbi ) -print0]
4344

4445
rubocop = %w[rubocop]
4546
rubocop += %w[--format github] if ENV.key?("CI")
@@ -54,7 +55,7 @@ end
5455
desc("Format `*.rb`")
5556
multitask(:"format:rb") do
5657
# while `syntax_tree` is much faster than `rubocop`, `rubocop` is the only formatter with full syntax support
57-
find = %w[find ./lib ./test -type f -and -name *.rb -print0]
58+
find = %w[find ./lib ./test ./examples -type f -and -name *.rb -print0]
5859
fmt = xargs + %w[rubocop --fail-level F --autocorrect --format simple --]
5960
sh("#{find.shelljoin} | #{fmt.shelljoin}")
6061
end
@@ -63,7 +64,7 @@ desc("Format `*.rbi`")
6364
multitask(:"format:rbi") do
6465
find = %w[find ./rbi -type f -and -name *.rbi -print0]
6566
fmt = xargs + %w[stree write --]
66-
sh(locale, "#{find.shelljoin} | #{fmt.shelljoin}")
67+
sh(ruby_opt, "#{find.shelljoin} | #{fmt.shelljoin}")
6768
end
6869

6970
desc("Format `*.rbs`")
@@ -99,7 +100,7 @@ multitask(:"format:rbs") do
99100
# transform class aliases to type aliases, which syntax tree has no trouble with
100101
sh("#{find.shelljoin} | #{pre.shelljoin}")
101102
# run syntax tree to format `*.rbs` files
102-
sh(locale, "#{find.shelljoin} | #{fmt.shelljoin}") do
103+
sh(ruby_opt, "#{find.shelljoin} | #{fmt.shelljoin}") do
103104
success = _1
104105
end
105106
# transform type aliases back to class aliases
@@ -117,12 +118,14 @@ multitask(:"typecheck:steep") do
117118
sh(*%w[steep check])
118119
end
119120

121+
directory(examples)
122+
120123
desc("Typecheck `*.rbi`")
121-
multitask(:"typecheck:sorbet") do
122-
sh(*%w[srb typecheck])
124+
multitask("typecheck:sorbet": examples) do
125+
sh(*%w[srb typecheck --dir], examples)
123126
end
124127

125-
file(tapioca) do
128+
directory(tapioca) do
126129
sh(*%w[tapioca init])
127130
end
128131

SECURITY.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ before making any information public.
1616
## Reporting Non-SDK Related Security Issues
1717

1818
If you encounter security issues that are not directly related to SDKs but pertain to the services
19-
or products provided by Finch please follow the respective company's security reporting guidelines.
19+
or products provided by Finch, please follow the respective company's security reporting guidelines.
2020

2121
### Finch Terms and Policies
2222

23-
Please contact founders@tryfinch.com for any questions or concerns regarding security of our services.
23+
Please contact founders@tryfinch.com for any questions or concerns regarding the security of our services.
2424

2525
---
2626

Steepfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ target(:lib) do
77

88
signature("sig")
99

10-
YAML.safe_load_file("./manifest.yaml", symbolize_names: true) => { dependencies: }
10+
YAML.safe_load_file("./manifest.yaml", symbolize_names: true) => {dependencies:}
1111
# currently these libraries lack the `*.rbs` annotations required by `steep`
1212
stdlibs = dependencies - %w[English etc net/http rbconfig set stringio]
1313

0 commit comments

Comments
 (0)