Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.1.0-alpha.40"
".": "0.1.0-alpha.41"
}
5 changes: 3 additions & 2 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# yaml-language-server: $schema=https://www.rubyschema.org/rubocop.json
---
# Explicitly disable pending cops for now. This is the default behaviour but
# this avoids a large warning every time we run it.
Expand All @@ -8,7 +9,7 @@ AllCops:
- "bin/*"
NewCops: enable
SuggestExtensions: false
TargetRubyVersion: 3.2.0
TargetRubyVersion: 3.2

# Whether MFA is required or not should be left to the token configuration.
Gemspec/RequireMFA:
Expand Down Expand Up @@ -149,7 +150,7 @@ Naming/ClassAndModuleCamelCase:
Naming/MethodParameterName:
Enabled: false

Naming/PredicateName:
Naming/PredicatePrefix:
Exclude:
- "**/*.rbi"

Expand Down
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 167
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-b9c76d077831114f1e4c5c15ff3f1d835ef3e9361b768af8468f8eb07a09ef3e.yml
openapi_spec_hash: 5f9bcf1afd68f962a870727c35628394
config_hash: e9a46eb8acb9dc2c236f3e1958a1c4dd
configured_endpoints: 169
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-117e0ee9b030a2efc3b09e189e445fb1a26fd32f1c563f385b9d7071a959c550.yml
openapi_spec_hash: e529a3fa8c3a79d3664db391683334c3
config_hash: 22e4b128e110e2767daa9d95428ebf9d
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## 0.1.0-alpha.41 (2025-09-03)

Full Changelog: [v0.1.0-alpha.40...v0.1.0-alpha.41](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.40...v0.1.0-alpha.41)

### Features

* **api:** adds support for delegated KYB onboarding and more device details in 3DS Authentications ([37126bc](https://github.com/lithic-com/lithic-ruby/commit/37126bc6c52176bee9e1a6c645a4033d7b48b81a))


### Chores

* add json schema comment for rubocop.yml ([d5f9cf9](https://github.com/lithic-com/lithic-ruby/commit/d5f9cf9a5a4b9c2450c9ac65c5ec0708466c8331))
* sync repo ([bc9dd5c](https://github.com/lithic-com/lithic-ruby/commit/bc9dd5c574eb24959f3760ff9bd9f3c5240064cc))

## 0.1.0-alpha.40 (2025-07-15)

Full Changelog: [v0.1.0-alpha.39...v0.1.0-alpha.40](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.39...v0.1.0-alpha.40)
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ $ bundle exec rake test

## Linting and formatting

This repository uses [rubocop](https://github.com/rubocop/rubocop) for linting and formatting of `*.rb` and `*.rbi` files. [syntax_tree](https://github.com/ruby-syntax-tree/syntax_tree) is used for formatting `*.rbs` files.
This repository uses [rubocop](https://github.com/rubocop/rubocop) for linting and formatting of `*.rb` files; And [syntax_tree](https://github.com/ruby-syntax-tree/syntax_tree) is used for formatting of both `*.rbi` and `*.rbs` files.

There are two separate type checkers supported by this library: [sorbet](https://github.com/sorbet/sorbet) and [steep](https://github.com/soutaro/steep) are used for verifying `*.rbi` and `*.rbs` files respectively.

Expand Down
90 changes: 52 additions & 38 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ GIT
PATH
remote: .
specs:
lithic (0.1.0.pre.alpha.40)
lithic (0.1.0.pre.alpha.41)
connection_pool

GEM
remote: https://rubygems.org/
specs:
activesupport (8.0.2)
activesupport (8.0.2.1)
base64
benchmark (>= 0.3)
bigdecimal
Expand All @@ -33,45 +33,50 @@ GEM
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
ast (2.4.3)
async (2.24.0)
async (2.27.3)
console (~> 1.29)
fiber-annotation
io-event (~> 1.9)
io-event (~> 1.11)
metrics (~> 0.12)
traces (~> 0.15)
base64 (0.2.0)
benchmark (0.4.0)
bigdecimal (3.1.9)
base64 (0.3.0)
benchmark (0.4.1)
bigdecimal (3.2.2)
concurrent-ruby (1.3.5)
connection_pool (2.5.3)
console (1.30.2)
console (1.33.0)
fiber-annotation
fiber-local (~> 1.1)
json
crack (1.0.0)
bigdecimal
rexml
csv (3.3.4)
drb (2.2.1)
csv (3.3.5)
drb (2.2.3)
erubi (1.13.1)
ffi (1.17.2-aarch64-linux-gnu)
ffi (1.17.2-aarch64-linux-musl)
ffi (1.17.2-arm64-darwin)
ffi (1.17.2-x86_64-darwin)
ffi (1.17.2-x86_64-linux-gnu)
ffi (1.17.2-x86_64-linux-musl)
fiber-annotation (0.2.0)
fiber-local (1.1.0)
fiber-storage
fiber-storage (1.0.1)
fileutils (1.7.3)
hashdiff (1.1.2)
hashdiff (1.2.0)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
io-event (1.10.0)
json (2.11.3)
language_server-protocol (3.17.0.4)
io-event (1.11.2)
json (2.13.2)
language_server-protocol (3.17.0.5)
lint_roller (1.1.0)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.7.0)
metrics (0.12.2)
metrics (0.13.0)
minitest (5.25.5)
minitest-focus (1.4.0)
minitest (>= 4, < 6)
Expand All @@ -84,54 +89,56 @@ GEM
mutex_m (0.3.0)
netrc (0.11.0)
parallel (1.27.0)
parser (3.3.8.0)
parser (3.3.9.0)
ast (~> 2.4.1)
racc
prettier_print (1.2.1)
prism (1.4.0)
public_suffix (6.0.2)
racc (1.8.1)
rainbow (3.1.1)
rake (13.2.1)
rake (13.3.0)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
rbi (0.3.2)
rbi (0.3.6)
prism (~> 1.0)
rbs (>= 3.4.4)
sorbet-runtime (>= 0.5.9204)
rbs (3.9.2)
rbs (3.9.4)
logger
redcarpet (3.6.1)
regexp_parser (2.10.0)
regexp_parser (2.11.2)
rexml (3.4.1)
rubocop (1.75.5)
rubocop (1.79.2)
json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.9.3, < 3.0)
rubocop-ast (>= 1.44.0, < 2.0)
rubocop-ast (>= 1.46.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.44.1)
rubocop-ast (1.46.0)
parser (>= 3.3.7.2)
prism (~> 1.4)
ruby-progressbar (1.13.0)
securerandom (0.4.1)
sorbet (0.5.12067)
sorbet-static (= 0.5.12067)
sorbet-runtime (0.5.12067)
sorbet-static (0.5.12067-x86_64-linux)
sorbet-static-and-runtime (0.5.12067)
sorbet (= 0.5.12067)
sorbet-runtime (= 0.5.12067)
spoom (1.6.1)
sorbet (0.5.12424)
sorbet-static (= 0.5.12424)
sorbet-runtime (0.5.12424)
sorbet-static (0.5.12424-aarch64-linux)
sorbet-static (0.5.12424-universal-darwin)
sorbet-static (0.5.12424-x86_64-linux)
sorbet-static-and-runtime (0.5.12424)
sorbet (= 0.5.12424)
sorbet-runtime (= 0.5.12424)
spoom (1.6.3)
erubi (>= 1.10.0)
prism (>= 0.28.0)
rbi (>= 0.2.3)
rbi (>= 0.3.3)
rexml (>= 3.2.6)
sorbet-static-and-runtime (>= 0.5.10187)
thor (>= 0.19.2)
steep (1.10.0)
Expand All @@ -152,7 +159,7 @@ GEM
terminal-table (>= 2, < 5)
uri (>= 0.12.0)
strscan (3.1.5)
syntax_tree (6.2.0)
syntax_tree (6.3.0)
prettier_print (>= 1.2.0)
tapioca (0.16.11)
benchmark
Expand All @@ -166,11 +173,11 @@ GEM
yard-sorbet
terminal-table (4.0.0)
unicode-display_width (>= 1.1.1, < 4)
thor (1.3.2)
traces (0.15.2)
thor (1.4.0)
traces (0.17.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (3.1.4)
unicode-display_width (3.1.5)
unicode-emoji (~> 4.0, >= 4.0.4)
unicode-emoji (4.0.4)
uri (1.0.3)
Expand All @@ -185,7 +192,14 @@ GEM
yard

PLATFORMS
x86_64-linux
aarch64-linux
aarch64-linux-gnu
aarch64-linux-musl
arm64-darwin
universal-darwin
x86_64-darwin
x86_64-linux-gnu
x86_64-linux-musl

DEPENDENCIES
async
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
<!-- x-release-please-start-version -->

```ruby
gem "lithic", "~> 0.1.0.pre.alpha.40"
gem "lithic", "~> 0.1.0.pre.alpha.41"
```

<!-- x-release-please-end -->
Expand Down
9 changes: 7 additions & 2 deletions lib/lithic.rb
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,15 @@
require_relative "lithic/client"
require_relative "lithic/internal/cursor_page"
require_relative "lithic/internal/single_page"
require_relative "lithic/models/transaction"
require_relative "lithic/models/non_pci_card"
require_relative "lithic/models/payment"
require_relative "lithic/models/three_ds/challenge_response"
require_relative "lithic/models/account"
require_relative "lithic/models/account_activity_list_params"
require_relative "lithic/models/account_activity_list_response"
require_relative "lithic/models/account_activity_retrieve_transaction_params"
require_relative "lithic/models/account_activity_retrieve_transaction_response"
require_relative "lithic/models/account_financial_account_type"
require_relative "lithic/models/account_holder"
require_relative "lithic/models/account_holder_create_params"
Expand Down Expand Up @@ -315,14 +320,12 @@
require_relative "lithic/models/tokenization_pause_params"
require_relative "lithic/models/tokenization_resend_activation_code_params"
require_relative "lithic/models/tokenization_retrieve_params"
require_relative "lithic/models/tokenization_retrieve_response"
require_relative "lithic/models/tokenization_secret"
require_relative "lithic/models/tokenization_simulate_params"
require_relative "lithic/models/tokenization_simulate_response"
require_relative "lithic/models/tokenization_unpause_params"
require_relative "lithic/models/tokenization_update_digital_card_art_params"
require_relative "lithic/models/tokenization_update_digital_card_art_response"
require_relative "lithic/models/transaction"
require_relative "lithic/models/transaction_expire_authorization_params"
require_relative "lithic/models/transaction_list_params"
require_relative "lithic/models/transaction_retrieve_params"
Expand All @@ -347,7 +350,9 @@
require_relative "lithic/models/transfer"
require_relative "lithic/models/transfer_create_params"
require_relative "lithic/models/verification_method"
require_relative "lithic/models/wire_party_details"
require_relative "lithic/models"
require_relative "lithic/resources/account_activity"
require_relative "lithic/resources/account_holders"
require_relative "lithic/resources/accounts"
require_relative "lithic/resources/aggregate_balances"
Expand Down
4 changes: 4 additions & 0 deletions lib/lithic/client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,9 @@ class Client < Lithic::Internal::Transport::BaseClient
# @return [Lithic::Resources::NetworkPrograms]
attr_reader :network_programs

# @return [Lithic::Resources::AccountActivity]
attr_reader :account_activity

# Status of api
#
# @overload api_status(request_options: {})
Expand Down Expand Up @@ -209,6 +212,7 @@ def initialize(
@funding_events = Lithic::Resources::FundingEvents.new(client: self)
@fraud = Lithic::Resources::Fraud.new(client: self)
@network_programs = Lithic::Resources::NetworkPrograms.new(client: self)
@account_activity = Lithic::Resources::AccountActivity.new(client: self)
end
end
end
2 changes: 1 addition & 1 deletion lib/lithic/internal/transport/base_client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@ def initialize(
#
# @raise [Lithic::Errors::APIError]
# @return [Array(Integer, Net::HTTPResponse, Enumerable<String>)]
private def send_request(request, redirect_count:, retry_count:, send_retry_header:)
def send_request(request, redirect_count:, retry_count:, send_retry_header:)
url, headers, max_retries, timeout = request.fetch_values(:url, :headers, :max_retries, :timeout)
input = {**request.except(:timeout), deadline: Lithic::Internal::Util.monotonic_secs + timeout}

Expand Down
10 changes: 1 addition & 9 deletions lib/lithic/internal/transport/pooled_net_requester.rb
Original file line number Diff line number Diff line change
Expand Up @@ -193,15 +193,7 @@ def initialize(size: self.class::DEFAULT_MAX_CONNECTIONS)
end

define_sorbet_constant!(:Request) do
T.type_alias do
{
method: Symbol,
url: URI::Generic,
headers: T::Hash[String, String],
body: T.anything,
deadline: Float
}
end
T.type_alias { {method: Symbol, url: URI::Generic, headers: T::Hash[String, String], body: T.anything, deadline: Float} }
end
end
end
Expand Down
1 change: 1 addition & 0 deletions lib/lithic/internal/type/array_of.rb
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,7 @@ def to_sorbet_type
# @option spec [Boolean] :"nil?"
def initialize(type_info, spec = {})
@item_type_fn = Lithic::Internal::Type::Converter.type_info(type_info || spec)
@meta = Lithic::Internal::Type::Converter.meta_info(type_info, spec)
@nilable = spec.fetch(:nil?, false)
end

Expand Down
4 changes: 3 additions & 1 deletion lib/lithic/internal/type/base_model.rb
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ def fields
#
# @option spec [Boolean] :"nil?"
private def add_field(name_sym, required:, type_info:, spec:)
meta = Lithic::Internal::Type::Converter.meta_info(type_info, spec)
type_fn, info =
case type_info
in Proc | Lithic::Internal::Type::Converter | Class
Expand All @@ -74,7 +75,8 @@ def fields
required: required,
nilable: nilable,
const: const,
type_fn: type_fn
type_fn: type_fn,
meta: meta
}

define_method(setter) do |value|
Expand Down
Loading