altertable 1.1.1 → 1.2.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 +4 -4
- data/.github/ISSUE_TEMPLATE/bug_report.yml +1 -1
- data/.github/workflows/ci.yml +10 -12
- data/.github/workflows/release-please.yml +6 -6
- data/.github/workflows/semantic-pull-request.yml +25 -2
- data/.release-please-manifest.json +1 -1
- data/CHANGELOG.md +15 -0
- data/Gemfile.lock +1 -5
- data/README.md +62 -18
- data/altertable.gemspec +0 -2
- data/lib/altertable/adapters.rb +33 -12
- data/lib/altertable/client.rb +1 -1
- data/lib/altertable/version.rb +1 -1
- data/rbi/altertable.rbi +11 -6
- data/sig/altertable/adapters.rbs +8 -3
- metadata +1 -29
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7472be3a607d8398965c62ed90f5531fe33b21d77fa4827bd73259d7a714eba5
|
|
4
|
+
data.tar.gz: 536319ad37e423c82ab298d5804aaf22de1563ece73226abaa42b5fd6bd93c39
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 231d0b578dd8fe4ed8856d07fe233b4e256ce3650ce9a11260a21c01d352fcb9bc291477ab526c2d8984078caa4b879f92da667483af5e475d6ea08089999283
|
|
7
|
+
data.tar.gz: 7ba2dd340e96f6d906c44456032b6a959e0cfa3f106bf5bf42d2982ac710da4856e4fb1e6d028a030afab62a3ed702e5a27e9fbd920725ff3b4926da40e64e35
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -3,16 +3,14 @@ name: CI
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
5
5
|
branches: [main]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [main]
|
|
8
|
-
|
|
6
|
+
pull_request: {}
|
|
9
7
|
jobs:
|
|
10
8
|
lint:
|
|
11
|
-
runs-on: ubuntu-
|
|
9
|
+
runs-on: ubuntu-24.04
|
|
12
10
|
steps:
|
|
13
|
-
- uses: actions/checkout@v4
|
|
11
|
+
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
|
|
14
12
|
- name: Set up Ruby
|
|
15
|
-
uses: ruby/setup-ruby@v1
|
|
13
|
+
uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1
|
|
16
14
|
with:
|
|
17
15
|
ruby-version: "3.4"
|
|
18
16
|
bundler-cache: true
|
|
@@ -20,7 +18,7 @@ jobs:
|
|
|
20
18
|
run: bundle exec rubocop
|
|
21
19
|
|
|
22
20
|
test:
|
|
23
|
-
runs-on: ubuntu-
|
|
21
|
+
runs-on: ubuntu-24.04
|
|
24
22
|
strategy:
|
|
25
23
|
matrix:
|
|
26
24
|
ruby-version: ["3.2", "3.3", "3.4", "4.0"]
|
|
@@ -40,12 +38,12 @@ jobs:
|
|
|
40
38
|
--health-start-period 10s
|
|
41
39
|
|
|
42
40
|
steps:
|
|
43
|
-
- uses: actions/checkout@v4
|
|
41
|
+
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
|
|
44
42
|
with:
|
|
45
43
|
submodules: recursive
|
|
46
44
|
|
|
47
45
|
- name: Set up Ruby
|
|
48
|
-
uses: ruby/setup-ruby@v1
|
|
46
|
+
uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1
|
|
49
47
|
with:
|
|
50
48
|
ruby-version: ${{ matrix.ruby-version }}
|
|
51
49
|
bundler-cache: true
|
|
@@ -55,11 +53,11 @@ jobs:
|
|
|
55
53
|
|
|
56
54
|
typing:
|
|
57
55
|
name: "Typing"
|
|
58
|
-
runs-on: ubuntu-
|
|
56
|
+
runs-on: ubuntu-24.04
|
|
59
57
|
steps:
|
|
60
|
-
- uses: actions/checkout@v4
|
|
58
|
+
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
|
|
61
59
|
- name: Set up Ruby
|
|
62
|
-
uses: ruby/setup-ruby@v1
|
|
60
|
+
uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1
|
|
63
61
|
with:
|
|
64
62
|
ruby-version: "3.4"
|
|
65
63
|
bundler-cache: true
|
|
@@ -7,14 +7,14 @@ on:
|
|
|
7
7
|
|
|
8
8
|
jobs:
|
|
9
9
|
check:
|
|
10
|
-
runs-on: ubuntu-
|
|
10
|
+
runs-on: ubuntu-24.04
|
|
11
11
|
|
|
12
12
|
permissions:
|
|
13
13
|
contents: write
|
|
14
14
|
pull-requests: write
|
|
15
15
|
|
|
16
16
|
steps:
|
|
17
|
-
- uses: googleapis/release-please-action@v4
|
|
17
|
+
- uses: googleapis/release-please-action@8b8fd2cc23b2e18957157a9d923d75aa0c6f6ad5 # v4
|
|
18
18
|
id: release
|
|
19
19
|
with:
|
|
20
20
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -29,7 +29,7 @@ jobs:
|
|
|
29
29
|
|
|
30
30
|
if: ${{ needs.check.outputs.release_created }}
|
|
31
31
|
|
|
32
|
-
runs-on: ubuntu-
|
|
32
|
+
runs-on: ubuntu-24.04
|
|
33
33
|
|
|
34
34
|
permissions:
|
|
35
35
|
contents: write
|
|
@@ -37,11 +37,11 @@ jobs:
|
|
|
37
37
|
id-token: write
|
|
38
38
|
|
|
39
39
|
steps:
|
|
40
|
-
- uses: actions/checkout@v4
|
|
40
|
+
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
|
|
41
41
|
with:
|
|
42
42
|
persist-credentials: false
|
|
43
|
-
- uses: ruby/setup-ruby@v1
|
|
43
|
+
- uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b # v1
|
|
44
44
|
with:
|
|
45
45
|
ruby-version: 3.4
|
|
46
46
|
bundler-cache: true
|
|
47
|
-
- uses: rubygems/release-gem@v1
|
|
47
|
+
- uses: rubygems/release-gem@7f9650160c1a4e7989fdc9855807bdbd421d8b6b # v1
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
name: Semantic Pull Request
|
|
2
|
+
|
|
2
3
|
on:
|
|
3
4
|
pull_request_target:
|
|
4
5
|
types:
|
|
@@ -6,11 +7,33 @@ on:
|
|
|
6
7
|
- edited
|
|
7
8
|
- synchronize
|
|
8
9
|
|
|
10
|
+
permissions:
|
|
11
|
+
pull-requests: read
|
|
12
|
+
|
|
13
|
+
concurrency:
|
|
14
|
+
group: semantic-pr-${{ github.event.pull_request.number }}
|
|
15
|
+
cancel-in-progress: true
|
|
16
|
+
|
|
9
17
|
jobs:
|
|
10
18
|
main:
|
|
11
19
|
name: Validate PR title
|
|
12
|
-
runs-on: ubuntu-
|
|
20
|
+
runs-on: ubuntu-24.04
|
|
21
|
+
timeout-minutes: 5
|
|
13
22
|
steps:
|
|
14
|
-
-
|
|
23
|
+
- name: Validate pull request title
|
|
24
|
+
uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
|
|
15
25
|
env:
|
|
16
26
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
27
|
+
with:
|
|
28
|
+
types: |
|
|
29
|
+
feat
|
|
30
|
+
fix
|
|
31
|
+
perf
|
|
32
|
+
revert
|
|
33
|
+
docs
|
|
34
|
+
style
|
|
35
|
+
chore
|
|
36
|
+
refactor
|
|
37
|
+
test
|
|
38
|
+
build
|
|
39
|
+
ci
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.2.0](https://github.com/altertable-ai/altertable-ruby/compare/altertable/v1.1.2...altertable/v1.2.0) (2026-08-27)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **adapters:** support explicit proxy configuration ([#51](https://github.com/altertable-ai/altertable-ruby/issues/51)) ([309aa8f](https://github.com/altertable-ai/altertable-ruby/commit/309aa8f43c43f57cf87cf23a6d1034298612b0be))
|
|
9
|
+
|
|
10
|
+
## [1.1.2](https://github.com/altertable-ai/altertable-ruby/compare/altertable/v1.1.1...altertable/v1.1.2) (2026-03-19)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **readme:** correct package name ([#33](https://github.com/altertable-ai/altertable-ruby/issues/33)) ([5838578](https://github.com/altertable-ai/altertable-ruby/commit/58385785e8849cda3627bdd04e563eadab933ba3))
|
|
16
|
+
* **transport:** remove the hard dep on `faraday-retry` ([#42](https://github.com/altertable-ai/altertable-ruby/issues/42)) ([f758d02](https://github.com/altertable-ai/altertable-ruby/commit/f758d0254d86de2ea3d6105a429d885c6a8aadbf))
|
|
17
|
+
|
|
3
18
|
## [1.1.1](https://github.com/altertable-ai/altertable-ruby/compare/altertable/v1.1.0...altertable/v1.1.1) (2026-03-09)
|
|
4
19
|
|
|
5
20
|
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
altertable (1.
|
|
4
|
+
altertable (1.2.0)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
@@ -25,8 +25,6 @@ GEM
|
|
|
25
25
|
logger
|
|
26
26
|
faraday-net_http (3.4.2)
|
|
27
27
|
net-http (~> 0.5)
|
|
28
|
-
faraday-retry (2.4.0)
|
|
29
|
-
faraday (~> 2.0)
|
|
30
28
|
http-2 (1.1.3)
|
|
31
29
|
httpx (1.7.3)
|
|
32
30
|
http-2 (>= 1.1.3)
|
|
@@ -144,8 +142,6 @@ DEPENDENCIES
|
|
|
144
142
|
altertable!
|
|
145
143
|
base64
|
|
146
144
|
faraday (~> 2.0)
|
|
147
|
-
faraday-net_http
|
|
148
|
-
faraday-retry
|
|
149
145
|
httpx
|
|
150
146
|
rake (~> 13.0)
|
|
151
147
|
rbs
|
data/README.md
CHANGED
|
@@ -1,55 +1,99 @@
|
|
|
1
1
|
# Altertable Ruby SDK
|
|
2
2
|
|
|
3
|
+
[](https://github.com/altertable-ai/altertable-ruby/actions)
|
|
4
|
+
[](https://rubygems.org/gems/altertable)
|
|
5
|
+
[](https://opensource.org/licenses/MIT)
|
|
6
|
+
|
|
3
7
|
Official Ruby SDK for Altertable Product Analytics.
|
|
4
8
|
|
|
5
|
-
##
|
|
9
|
+
## Install
|
|
6
10
|
|
|
7
|
-
|
|
11
|
+
Install the gem with a single command:
|
|
8
12
|
|
|
9
|
-
```
|
|
10
|
-
gem
|
|
13
|
+
```bash
|
|
14
|
+
gem install altertable
|
|
11
15
|
```
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
$ bundle install
|
|
16
|
-
|
|
17
|
-
## Usage
|
|
17
|
+
## Quick Start
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Initialize the client and track your first event. Call `track()` to record an action a user performed.
|
|
20
20
|
|
|
21
21
|
```ruby
|
|
22
22
|
require 'altertable'
|
|
23
23
|
|
|
24
|
-
Altertable
|
|
25
|
-
|
|
24
|
+
# Initialize the Altertable client
|
|
25
|
+
Altertable.init('pk_live_abc123', environment: 'production')
|
|
26
|
+
|
|
27
|
+
# Track an event
|
|
28
|
+
Altertable.track('button_clicked', 'user_123', properties: {
|
|
29
|
+
button_id: 'signup_btn',
|
|
30
|
+
page: 'home'
|
|
26
31
|
})
|
|
27
32
|
```
|
|
28
33
|
|
|
34
|
+
## API Reference
|
|
35
|
+
|
|
36
|
+
### Initialization
|
|
37
|
+
|
|
38
|
+
Initialize the global Altertable client instance.
|
|
39
|
+
|
|
40
|
+
`Altertable.init(api_key, options = {})`
|
|
41
|
+
|
|
42
|
+
```ruby
|
|
43
|
+
Altertable.init('pk_live_abc123', environment: 'production', debug: true)
|
|
44
|
+
```
|
|
45
|
+
|
|
29
46
|
### Tracking Events
|
|
30
47
|
|
|
48
|
+
Record an action performed by a user.
|
|
49
|
+
|
|
50
|
+
`Altertable.track(event, distinct_id, **options)`
|
|
51
|
+
|
|
31
52
|
```ruby
|
|
32
|
-
Altertable.track('
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
53
|
+
Altertable.track('item_purchased', 'user_123', properties: {
|
|
54
|
+
item_id: 'item_999',
|
|
55
|
+
price: 19.99
|
|
56
|
+
})
|
|
36
57
|
```
|
|
37
58
|
|
|
38
59
|
### Identifying Users
|
|
39
60
|
|
|
61
|
+
Link a user ID to their traits (like email or name).
|
|
62
|
+
|
|
63
|
+
`Altertable.identify(user_id, **options)`
|
|
64
|
+
|
|
40
65
|
```ruby
|
|
41
66
|
Altertable.identify('user_123', traits: {
|
|
42
67
|
email: 'user@example.com',
|
|
43
68
|
name: 'John Doe'
|
|
44
|
-
}
|
|
69
|
+
})
|
|
45
70
|
```
|
|
46
71
|
|
|
47
72
|
### Alias
|
|
48
73
|
|
|
74
|
+
Merge a previous anonymous ID with a newly identified user ID.
|
|
75
|
+
|
|
76
|
+
`Altertable.alias(distinct_id, new_user_id, **options)`
|
|
77
|
+
|
|
49
78
|
```ruby
|
|
50
|
-
Altertable.alias('
|
|
79
|
+
Altertable.alias('anon_session_456', 'user_123')
|
|
51
80
|
```
|
|
52
81
|
|
|
82
|
+
## Configuration
|
|
83
|
+
|
|
84
|
+
You can configure the client by passing options during initialization.
|
|
85
|
+
|
|
86
|
+
| Option | Type | Default | Description |
|
|
87
|
+
|---|---|---|---|
|
|
88
|
+
| `environment` | String | `"production"` | Environment name (e.g., `production`, `development`). |
|
|
89
|
+
| `base_url` | String | `"https://api.altertable.ai"` | Base URL for API requests. |
|
|
90
|
+
| `request_timeout` | Integer | `5` | Request timeout in seconds. |
|
|
91
|
+
| `release` | String | `nil` | Application release version (e.g., commit hash). |
|
|
92
|
+
| `debug` | Boolean | `false` | Enable debug logging. |
|
|
93
|
+
| `on_error` | Proc | `nil` | Callback for handling errors. |
|
|
94
|
+
| `adapter` | Symbol | auto-detect | HTTP adapter to use (`:faraday`, `:httpx`, `:net_http`). |
|
|
95
|
+
| `proxy` | String, Boolean | adapter default | Proxy to use for requests. Pass a URI string to force a specific proxy, or `false` to disable proxying (including any `HTTP_PROXY`/`HTTPS_PROXY` environment variables) for a fixed, trusted `base_url`. Unset by default: the `:faraday` and `:net_http` adapters auto-detect a proxy from the environment as they normally would; `:httpx` never does. |
|
|
96
|
+
|
|
53
97
|
## License
|
|
54
98
|
|
|
55
99
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/altertable.gemspec
CHANGED
|
@@ -37,7 +37,5 @@ Gem::Specification.new do |spec|
|
|
|
37
37
|
|
|
38
38
|
# Optional adapter support (development only)
|
|
39
39
|
spec.add_development_dependency "faraday", "~> 2.0"
|
|
40
|
-
spec.add_development_dependency "faraday-retry"
|
|
41
|
-
spec.add_development_dependency "faraday-net_http"
|
|
42
40
|
spec.add_development_dependency "httpx"
|
|
43
41
|
end
|
data/lib/altertable/adapters.rb
CHANGED
|
@@ -15,16 +15,17 @@ module Altertable
|
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
class FaradayAdapter < Base
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
# proxy left unset (default) follows Faraday's own env-based auto-detection
|
|
19
|
+
# (HTTP_PROXY/HTTPS_PROXY/NO_PROXY). Pass `false` to disable proxying entirely for
|
|
20
|
+
# fixed, trusted destinations, or a URI string to force a specific proxy.
|
|
21
|
+
def initialize(base_url:, timeout:, headers: {}, proxy: nil)
|
|
22
|
+
super(base_url: base_url, timeout: timeout, headers: headers)
|
|
20
23
|
require "faraday"
|
|
21
|
-
|
|
22
|
-
require "faraday/net_http"
|
|
23
|
-
|
|
24
|
+
|
|
24
25
|
@conn = Faraday.new(url: @base_url) do |f|
|
|
25
26
|
@headers.each { |k, v| f.headers[k] = v }
|
|
26
27
|
f.options.timeout = @timeout
|
|
27
|
-
f.
|
|
28
|
+
f.proxy = proxy unless proxy.nil?
|
|
28
29
|
f.adapter Faraday.default_adapter
|
|
29
30
|
end
|
|
30
31
|
end
|
|
@@ -49,10 +50,14 @@ module Altertable
|
|
|
49
50
|
end
|
|
50
51
|
|
|
51
52
|
class HttpxAdapter < Base
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
# This adapter never auto-detects HTTP_PROXY/HTTPS_PROXY (httpx requires the :proxy
|
|
54
|
+
# plugin to be loaded explicitly). `proxy: false` and the default (unset) are
|
|
55
|
+
# therefore equivalent; pass a URI string to force a specific proxy.
|
|
56
|
+
def initialize(base_url:, timeout:, headers: {}, proxy: nil)
|
|
57
|
+
super(base_url: base_url, timeout: timeout, headers: headers)
|
|
54
58
|
require "httpx"
|
|
55
|
-
|
|
59
|
+
client = proxy ? HTTPX.plugin(:proxy).plugin(:retries).with(proxy: { uri: proxy }) : HTTPX.plugin(:retries)
|
|
60
|
+
@client = client.with(
|
|
56
61
|
timeout: { operation_timeout: @timeout },
|
|
57
62
|
headers: @headers,
|
|
58
63
|
base_url: @base_url
|
|
@@ -77,11 +82,15 @@ module Altertable
|
|
|
77
82
|
end
|
|
78
83
|
|
|
79
84
|
class NetHttpAdapter < Base
|
|
80
|
-
|
|
81
|
-
|
|
85
|
+
# proxy left unset (default) follows Net::HTTP's own env-based auto-detection
|
|
86
|
+
# (HTTP_PROXY/HTTPS_PROXY/NO_PROXY). Pass `false` to disable proxying entirely for
|
|
87
|
+
# fixed, trusted destinations, or a URI string to force a specific proxy.
|
|
88
|
+
def initialize(base_url:, timeout:, headers: {}, proxy: nil)
|
|
89
|
+
super(base_url: base_url, timeout: timeout, headers: headers)
|
|
82
90
|
require "net/http"
|
|
83
91
|
require "uri"
|
|
84
92
|
@uri = URI.parse(@base_url)
|
|
93
|
+
@proxy = proxy
|
|
85
94
|
end
|
|
86
95
|
|
|
87
96
|
def post(path, body: nil, params: {})
|
|
@@ -92,7 +101,7 @@ module Altertable
|
|
|
92
101
|
@headers.each { |k, v| req[k] = v }
|
|
93
102
|
req.body = body if body
|
|
94
103
|
|
|
95
|
-
Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https", open_timeout: @timeout, read_timeout: @timeout) do |http|
|
|
104
|
+
Net::HTTP.start(uri.host, uri.port, *proxy_start_args, use_ssl: uri.scheme == "https", open_timeout: @timeout, read_timeout: @timeout) do |http|
|
|
96
105
|
resp = http.request(req)
|
|
97
106
|
Response.new(resp.code.to_i, resp.body, resp.to_hash)
|
|
98
107
|
end
|
|
@@ -101,6 +110,18 @@ module Altertable
|
|
|
101
110
|
rescue StandardError => e
|
|
102
111
|
raise Altertable::NetworkError.new(e.message, e)
|
|
103
112
|
end
|
|
113
|
+
|
|
114
|
+
private
|
|
115
|
+
|
|
116
|
+
# Net::HTTP.start's p_addr defaults to :ENV; returning [] here preserves that.
|
|
117
|
+
# Passing an explicit nil p_addr (i.e. [nil]) is how Net::HTTP disables proxying.
|
|
118
|
+
def proxy_start_args
|
|
119
|
+
return [] if @proxy.nil?
|
|
120
|
+
return [nil] if @proxy == false
|
|
121
|
+
|
|
122
|
+
proxy_uri = URI.parse(@proxy)
|
|
123
|
+
[proxy_uri.host, proxy_uri.port, proxy_uri.user, proxy_uri.password]
|
|
124
|
+
end
|
|
104
125
|
end
|
|
105
126
|
end
|
|
106
127
|
end
|
data/lib/altertable/client.rb
CHANGED
|
@@ -28,7 +28,7 @@ module Altertable
|
|
|
28
28
|
"X-API-Key" => @api_key,
|
|
29
29
|
"Content-Type" => "application/json"
|
|
30
30
|
}
|
|
31
|
-
@adapter = select_adapter(adapter_name, { base_url: @base_url, timeout: @timeout, headers: headers })
|
|
31
|
+
@adapter = select_adapter(adapter_name, { base_url: @base_url, timeout: @timeout, headers: headers, proxy: options[:proxy] })
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
def track(event, distinct_id, **options)
|
data/lib/altertable/version.rb
CHANGED
data/rbi/altertable.rbi
CHANGED
|
@@ -82,8 +82,8 @@ module Altertable
|
|
|
82
82
|
end
|
|
83
83
|
|
|
84
84
|
class FaradayAdapter < Base
|
|
85
|
-
sig { params(base_url: String, timeout: T.any(Integer, Float), headers: T.nilable(T::Hash[String, String])).void }
|
|
86
|
-
def initialize(base_url:, timeout:, headers: nil); end
|
|
85
|
+
sig { params(base_url: String, timeout: T.any(Integer, Float), headers: T.nilable(T::Hash[String, String]), proxy: T.nilable(T.any(String, T::Boolean))).void }
|
|
86
|
+
def initialize(base_url:, timeout:, headers: nil, proxy: nil); end
|
|
87
87
|
|
|
88
88
|
sig { params(path: String, body: T.nilable(String), params: T.nilable(T::Hash[T.any(Symbol, String), T.untyped]), block: T.nilable(T.proc.params(arg0: T.untyped).void)).returns(Altertable::Adapters::Response) }
|
|
89
89
|
def post(path, body: nil, params: nil, &block); end
|
|
@@ -95,8 +95,8 @@ module Altertable
|
|
|
95
95
|
end
|
|
96
96
|
|
|
97
97
|
class HttpxAdapter < Base
|
|
98
|
-
sig { params(base_url: String, timeout: T.any(Integer, Float), headers: T.nilable(T::Hash[String, String])).void }
|
|
99
|
-
def initialize(base_url:, timeout:, headers: nil); end
|
|
98
|
+
sig { params(base_url: String, timeout: T.any(Integer, Float), headers: T.nilable(T::Hash[String, String]), proxy: T.nilable(T.any(String, T::Boolean))).void }
|
|
99
|
+
def initialize(base_url:, timeout:, headers: nil, proxy: nil); end
|
|
100
100
|
|
|
101
101
|
sig { params(path: String, body: T.nilable(String), params: T.nilable(T::Hash[T.any(Symbol, String), T.untyped]), block: T.nilable(T.proc.params(arg0: T.untyped).void)).returns(Altertable::Adapters::Response) }
|
|
102
102
|
def post(path, body: nil, params: nil, &block); end
|
|
@@ -108,11 +108,16 @@ module Altertable
|
|
|
108
108
|
end
|
|
109
109
|
|
|
110
110
|
class NetHttpAdapter < Base
|
|
111
|
-
sig { params(base_url: String, timeout: T.any(Integer, Float), headers: T.nilable(T::Hash[String, String])).void }
|
|
112
|
-
def initialize(base_url:, timeout:, headers: nil); end
|
|
111
|
+
sig { params(base_url: String, timeout: T.any(Integer, Float), headers: T.nilable(T::Hash[String, String]), proxy: T.nilable(T.any(String, T::Boolean))).void }
|
|
112
|
+
def initialize(base_url:, timeout:, headers: nil, proxy: nil); end
|
|
113
113
|
|
|
114
114
|
sig { params(path: String, body: T.nilable(String), params: T.nilable(T::Hash[T.any(Symbol, String), T.untyped]), block: T.nilable(T.proc.params(arg0: T.untyped).void)).returns(Altertable::Adapters::Response) }
|
|
115
115
|
def post(path, body: nil, params: nil, &block); end
|
|
116
|
+
|
|
117
|
+
private
|
|
118
|
+
|
|
119
|
+
sig { returns(T::Array[T.untyped]) }
|
|
120
|
+
def proxy_start_args; end
|
|
116
121
|
end
|
|
117
122
|
end
|
|
118
123
|
|
data/sig/altertable/adapters.rbs
CHANGED
|
@@ -19,7 +19,7 @@ module Altertable
|
|
|
19
19
|
class FaradayAdapter < Base
|
|
20
20
|
@conn: untyped
|
|
21
21
|
|
|
22
|
-
def initialize: (base_url: String, timeout: Integer | Float, ?headers: ::Hash[String, String]) -> void
|
|
22
|
+
def initialize: (base_url: String, timeout: Integer | Float, ?headers: ::Hash[String, String], ?proxy: (String | bool)?) -> void
|
|
23
23
|
def post: (String path, ?body: String?, ?params: ::Hash[Symbol | String, untyped]) -> Response
|
|
24
24
|
|
|
25
25
|
private
|
|
@@ -30,7 +30,7 @@ module Altertable
|
|
|
30
30
|
class HttpxAdapter < Base
|
|
31
31
|
@client: untyped
|
|
32
32
|
|
|
33
|
-
def initialize: (base_url: String, timeout: Integer | Float, ?headers: ::Hash[String, String]) -> void
|
|
33
|
+
def initialize: (base_url: String, timeout: Integer | Float, ?headers: ::Hash[String, String], ?proxy: (String | bool)?) -> void
|
|
34
34
|
def post: (String path, ?body: String?, ?params: ::Hash[Symbol | String, untyped]) -> Response
|
|
35
35
|
|
|
36
36
|
private
|
|
@@ -40,9 +40,14 @@ module Altertable
|
|
|
40
40
|
|
|
41
41
|
class NetHttpAdapter < Base
|
|
42
42
|
@uri: URI::HTTP | URI::HTTPS
|
|
43
|
+
@proxy: (String | bool)?
|
|
43
44
|
|
|
44
|
-
def initialize: (base_url: String, timeout: Integer | Float, ?headers: ::Hash[String, String]) -> void
|
|
45
|
+
def initialize: (base_url: String, timeout: Integer | Float, ?headers: ::Hash[String, String], ?proxy: (String | bool)?) -> void
|
|
45
46
|
def post: (String path, ?body: String?, ?params: ::Hash[Symbol | String, untyped]) -> Response
|
|
47
|
+
|
|
48
|
+
private
|
|
49
|
+
|
|
50
|
+
def proxy_start_args: () -> ::Array[untyped]
|
|
46
51
|
end
|
|
47
52
|
end
|
|
48
53
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: altertable
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Altertable
|
|
@@ -149,34 +149,6 @@ dependencies:
|
|
|
149
149
|
- - "~>"
|
|
150
150
|
- !ruby/object:Gem::Version
|
|
151
151
|
version: '2.0'
|
|
152
|
-
- !ruby/object:Gem::Dependency
|
|
153
|
-
name: faraday-retry
|
|
154
|
-
requirement: !ruby/object:Gem::Requirement
|
|
155
|
-
requirements:
|
|
156
|
-
- - ">="
|
|
157
|
-
- !ruby/object:Gem::Version
|
|
158
|
-
version: '0'
|
|
159
|
-
type: :development
|
|
160
|
-
prerelease: false
|
|
161
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
162
|
-
requirements:
|
|
163
|
-
- - ">="
|
|
164
|
-
- !ruby/object:Gem::Version
|
|
165
|
-
version: '0'
|
|
166
|
-
- !ruby/object:Gem::Dependency
|
|
167
|
-
name: faraday-net_http
|
|
168
|
-
requirement: !ruby/object:Gem::Requirement
|
|
169
|
-
requirements:
|
|
170
|
-
- - ">="
|
|
171
|
-
- !ruby/object:Gem::Version
|
|
172
|
-
version: '0'
|
|
173
|
-
type: :development
|
|
174
|
-
prerelease: false
|
|
175
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
176
|
-
requirements:
|
|
177
|
-
- - ">="
|
|
178
|
-
- !ruby/object:Gem::Version
|
|
179
|
-
version: '0'
|
|
180
152
|
- !ruby/object:Gem::Dependency
|
|
181
153
|
name: httpx
|
|
182
154
|
requirement: !ruby/object:Gem::Requirement
|